@Test public void getDockerComposeVersionNullFactoryReturnsEmptyString() throws Exception { DockerComposeVersionGetter dockerComposeVersionGetter = new DockerComposeVersionGetter(new ProcessBuilderUtilities()); assertThat(dockerComposeVersionGetter.getDockerComposeVersion(null), is("")); }
@Test public void getDockerComposeVersionInvalidCommandReturnsEmptyString() throws Exception { ProcessBuilderFactory factory = mock(ProcessBuilderFactory.class); ProcessBuilderUtilities processBuilderUtilitiesMock = spy(ProcessBuilderUtilities.class); when(factory.getProcessBuilder(Matchers.<String[]>anyVararg())) .thenReturn(new ProcessBuilder("....")); DockerComposeVersionGetter dockerComposeVersionGetter = new DockerComposeVersionGetter(processBuilderUtilitiesMock); assertThat(dockerComposeVersionGetter.getDockerComposeVersion(factory), is("")); }
@Test public void getDockerComposeVersionCallsProcessBuilderFactory() throws Exception { ProcessBuilderFactory factory = mock(ProcessBuilderFactory.class); ProcessBuilderUtilities processBuilderUtilitiesMock = spy(ProcessBuilderUtilities.class); when(factory.getProcessBuilder(Matchers.<String[]>anyVararg())) .thenReturn(new ProcessBuilder("")); DockerComposeVersionGetter dockerComposeVersionGetter = new DockerComposeVersionGetter(processBuilderUtilitiesMock); dockerComposeVersionGetter.getDockerComposeVersion(factory); verify(factory).getProcessBuilder(Matchers.<String[]>anyVararg()); }
@Test public void getDockerComposeVersionCallsProcessBuilderUtilitiesLinux() throws Exception { Assume.assumeTrue(System.getProperty("os.name").toLowerCase().startsWith("lin")); ProcessBuilderFactory factoryMock = mock(ProcessBuilderFactory.class); ProcessBuilderUtilities processBuilderUtilitiesMock = spy(ProcessBuilderUtilities.class); when(factoryMock.getProcessBuilder(Matchers.<String[]>anyVararg())) .thenReturn(new ProcessBuilder("ls")); DockerComposeVersionGetter dockerComposeVersionGetter = new DockerComposeVersionGetter(processBuilderUtilitiesMock); dockerComposeVersionGetter.getDockerComposeVersion(factoryMock); verify(processBuilderUtilitiesMock) .attachStreamsToProcess( any(Process.class), any(Writer.class), any(Writer.class), any(Reader.class)); }