GitProtocolV2IT: Split git client version check to a separate method
Split the version check to a separate method annotated @BeforeClass so that the entire test is failed if the client version is not suitable. Currently there is only one test method, but creating a separate method means that we don't need to copy and paste the same check into each new test method that gets added later. Change-Id: I09ab265f95f56d1ead3128c87edfa17c2e0fa02b
This commit is contained in:
		@@ -39,6 +39,7 @@ import java.io.File;
 | 
			
		||||
import java.net.InetSocketAddress;
 | 
			
		||||
import org.eclipse.jgit.lib.Config;
 | 
			
		||||
import org.eclipse.jgit.lib.Constants;
 | 
			
		||||
import org.junit.BeforeClass;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
@UseSsh
 | 
			
		||||
@@ -56,16 +57,19 @@ public class GitProtocolV2IT extends StandaloneSiteTest {
 | 
			
		||||
  @Inject private @TestSshServerAddress InetSocketAddress sshAddress;
 | 
			
		||||
  @Inject private @GerritServerConfig Config config;
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void testGitWireProtocolV2WithSsh() throws Exception {
 | 
			
		||||
  @BeforeClass
 | 
			
		||||
  public static void assertGitClientVersion() throws Exception {
 | 
			
		||||
    // Minimum required git-core version that supports wire protocol v2 is 2.18.0
 | 
			
		||||
    GitClientVersion requiredGitVersion = new GitClientVersion(2, 18, 0);
 | 
			
		||||
    GitClientVersion actualGitVersion =
 | 
			
		||||
        new GitClientVersion(execute(ImmutableList.of("git", "version")));
 | 
			
		||||
        new GitClientVersion(execute(ImmutableList.of("git", "version"), new File("/")));
 | 
			
		||||
    // If git client version cannot be updated, consider to skip this tests. Due to
 | 
			
		||||
    // an existing issue in bazel, JUnit assumption violation feature cannot be used.
 | 
			
		||||
    assertThat(actualGitVersion).isAtLeast(requiredGitVersion);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void testGitWireProtocolV2WithSsh() throws Exception {
 | 
			
		||||
    try (ServerContext ctx = startServer()) {
 | 
			
		||||
      ctx.getInjector().injectMembers(this);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user