ServerInfoIT: Use API to install plugin
Use the API to install the plugin instead of manually writing the plugin file into the $site/plugins folder and then reloading via an ssh call. Change-Id: I9c4a0b3ae611149a83595751d392c64b7024ecb4
This commit is contained in:
		@@ -20,22 +20,20 @@ import static java.nio.charset.StandardCharsets.UTF_8;
 | 
				
			|||||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
					import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
				
			||||||
import com.google.gerrit.acceptance.GerritConfig;
 | 
					import com.google.gerrit.acceptance.GerritConfig;
 | 
				
			||||||
import com.google.gerrit.acceptance.NoHttpd;
 | 
					import com.google.gerrit.acceptance.NoHttpd;
 | 
				
			||||||
import com.google.gerrit.acceptance.UseSsh;
 | 
					import com.google.gerrit.common.RawInputUtil;
 | 
				
			||||||
import com.google.gerrit.extensions.client.AccountFieldName;
 | 
					import com.google.gerrit.extensions.client.AccountFieldName;
 | 
				
			||||||
import com.google.gerrit.extensions.client.AuthType;
 | 
					import com.google.gerrit.extensions.client.AuthType;
 | 
				
			||||||
 | 
					import com.google.gerrit.extensions.common.InstallPluginInput;
 | 
				
			||||||
import com.google.gerrit.extensions.common.ServerInfo;
 | 
					import com.google.gerrit.extensions.common.ServerInfo;
 | 
				
			||||||
import com.google.gerrit.server.config.AllProjectsNameProvider;
 | 
					import com.google.gerrit.server.config.AllProjectsNameProvider;
 | 
				
			||||||
import com.google.gerrit.server.config.AllUsersNameProvider;
 | 
					import com.google.gerrit.server.config.AllUsersNameProvider;
 | 
				
			||||||
import com.google.gerrit.server.config.AnonymousCowardNameProvider;
 | 
					import com.google.gerrit.server.config.AnonymousCowardNameProvider;
 | 
				
			||||||
import com.google.gerrit.server.config.SitePaths;
 | 
					 | 
				
			||||||
import com.google.inject.Inject;
 | 
					 | 
				
			||||||
import java.nio.file.Files;
 | 
					 | 
				
			||||||
import java.nio.file.Path;
 | 
					 | 
				
			||||||
import org.junit.Test;
 | 
					import org.junit.Test;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@NoHttpd
 | 
					@NoHttpd
 | 
				
			||||||
public class ServerInfoIT extends AbstractDaemonTest {
 | 
					public class ServerInfoIT extends AbstractDaemonTest {
 | 
				
			||||||
  @Inject private SitePaths sitePaths;
 | 
					  private static final byte[] JS_PLUGIN_CONTENT =
 | 
				
			||||||
 | 
					      "Gerrit.install(function(self){});\n".getBytes(UTF_8);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @Test
 | 
					  @Test
 | 
				
			||||||
  // auth
 | 
					  // auth
 | 
				
			||||||
@@ -132,17 +130,16 @@ public class ServerInfoIT extends AbstractDaemonTest {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @Test
 | 
					  @Test
 | 
				
			||||||
  @UseSsh
 | 
					 | 
				
			||||||
  @GerritConfig(name = "plugins.allowRemoteAdmin", value = "true")
 | 
					  @GerritConfig(name = "plugins.allowRemoteAdmin", value = "true")
 | 
				
			||||||
  public void serverConfigWithPlugin() throws Exception {
 | 
					  public void serverConfigWithPlugin() throws Exception {
 | 
				
			||||||
    Path plugins = sitePaths.plugins_dir;
 | 
					 | 
				
			||||||
    Path jsplugin = plugins.resolve("js-plugin-1.js");
 | 
					 | 
				
			||||||
    Files.write(jsplugin, "Gerrit.install(function(self){});\n".getBytes(UTF_8));
 | 
					 | 
				
			||||||
    adminSshSession.exec("gerrit plugin reload");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    ServerInfo i = gApi.config().server().getInfo();
 | 
					    ServerInfo i = gApi.config().server().getInfo();
 | 
				
			||||||
 | 
					    assertThat(i.plugin.jsResourcePaths).isEmpty();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // plugin
 | 
					    InstallPluginInput input = new InstallPluginInput();
 | 
				
			||||||
 | 
					    input.raw = RawInputUtil.create(JS_PLUGIN_CONTENT);
 | 
				
			||||||
 | 
					    gApi.plugins().install("js-plugin-1.js", input);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    i = gApi.config().server().getInfo();
 | 
				
			||||||
    assertThat(i.plugin.jsResourcePaths).hasSize(1);
 | 
					    assertThat(i.plugin.jsResourcePaths).hasSize(1);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user