From 02b3c5c8106ffd484f69cb1227e4350c4df99133 Mon Sep 17 00:00:00 2001 From: Eduard Heimbuch Date: Wed, 6 Apr 2022 13:07:26 +0200 Subject: [PATCH] Fix version command test --- .../sonia/scm/cli/VersionCommandTest.java | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/scm-webapp/src/test/java/sonia/scm/cli/VersionCommandTest.java b/scm-webapp/src/test/java/sonia/scm/cli/VersionCommandTest.java index b055a5fc64..1821146c1a 100644 --- a/scm-webapp/src/test/java/sonia/scm/cli/VersionCommandTest.java +++ b/scm-webapp/src/test/java/sonia/scm/cli/VersionCommandTest.java @@ -31,10 +31,10 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import sonia.scm.SCMContextProvider; -import java.io.PrintWriter; -import java.io.StringWriter; - import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.argThat; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) @@ -42,6 +42,8 @@ class VersionCommandTest { @Mock private CliContext context; + @Mock + private TemplateRenderer templateRenderer; @Mock private SCMContextProvider scmContextProvider; @@ -51,17 +53,18 @@ class VersionCommandTest { @Test void shouldPrintVersions() { - String userAgent = "scm-cli/1.0.0 (a1b2c3d; 2022-04-04T12:33:13Z)"; - StringWriter writer = new StringWriter(); - when(context.getStdout()).thenReturn(new PrintWriter(writer)); -// when(context.getUserAgent()).thenReturn(userAgent); + when(context.getClient()).thenReturn(new Client("scm-cli", "1.0.0")); when(scmContextProvider.getVersion()).thenReturn("2.33.0"); command.run(); - assertThat(writer.toString()).contains( - "Client version: 1.0.0\n" + - "Server version: 2.33.0" - ); + verify(templateRenderer).renderToStdout(anyString(), argThat(map -> { + assertThat(map.get("client")).isInstanceOf(Client.class); + assertThat(((Client)map.get("client")).getName()).isEqualTo("scm-cli"); + assertThat(((Client)map.get("client")).getVersion()).isEqualTo("1.0.0"); + assertThat(map.get("server")).isInstanceOf(VersionCommand.Server.class); + assertThat(((VersionCommand.Server)map.get("server")).getVersion()).isEqualTo("2.33.0"); + return true; + })); } }