Search in sources :

Example 1 with Type

use of org.sonar.db.plugin.PluginDto.Type in project sonarqube by SonarSource.

the class InstalledActionTest method filter_by_plugin_type.

@Test
public void filter_by_plugin_type() throws IOException {
    when(serverPluginRepository.getPlugins()).thenReturn(Arrays.asList(newInstalledPlugin(new PluginInfo("foo-external-1").setName("foo-external-1"), PluginType.EXTERNAL), newInstalledPlugin(new PluginInfo("foo-bundled-1").setName("foo-bundled-1"), PluginType.BUNDLED), newInstalledPlugin(new PluginInfo("foo-external-2").setName("foo-external-2"), PluginType.EXTERNAL)));
    db.pluginDbTester().insertPlugin(p -> p.setKee("foo-external-1"), p -> p.setType(Type.EXTERNAL), p -> p.setUpdatedAt(100L));
    db.pluginDbTester().insertPlugin(p -> p.setKee("foo-bundled-1"), p -> p.setType(Type.BUNDLED), p -> p.setUpdatedAt(101L));
    db.pluginDbTester().insertPlugin(p -> p.setKee("foo-external-2"), p -> p.setType(Type.EXTERNAL), p -> p.setUpdatedAt(102L));
    // no type param
    String response = tester.newRequest().execute().getInput();
    JsonArray jsonArray = Json.parse(response).asObject().get("plugins").asArray();
    assertThat(jsonArray).hasSize(3);
    assertThat(jsonArray).extracting(JsonValue::asObject).extracting(members -> members.get("key").asString()).containsExactlyInAnyOrder("foo-external-1", "foo-bundled-1", "foo-external-2");
    // type param == BUNDLED
    response = tester.newRequest().setParam("type", "BUNDLED").execute().getInput();
    jsonArray = Json.parse(response).asObject().get("plugins").asArray();
    assertThat(jsonArray).hasSize(1);
    assertThat(jsonArray).extracting(JsonValue::asObject).extracting(members -> members.get("key").asString()).containsExactlyInAnyOrder("foo-bundled-1");
    // type param == EXTERNAL
    response = tester.newRequest().setParam("type", "EXTERNAL").execute().getInput();
    jsonArray = Json.parse(response).asObject().get("plugins").asArray();
    assertThat(jsonArray).hasSize(2);
    assertThat(jsonArray).extracting(JsonValue::asObject).extracting(members -> members.get("key").asString()).containsExactlyInAnyOrder("foo-external-1", "foo-external-2");
}
Also used : JsonArray(com.hazelcast.internal.json.JsonArray) JsonValue(com.hazelcast.internal.json.JsonValue) Arrays(java.util.Arrays) Type(org.sonar.db.plugin.PluginDto.Type) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) RunWith(org.junit.runner.RunWith) JsonArray(com.hazelcast.internal.json.JsonArray) Random(java.util.Random) ServerPlugin(org.sonar.server.plugins.ServerPlugin) DataProvider(com.tngtech.java.junit.dataprovider.DataProvider) DataProviderRunner(com.tngtech.java.junit.dataprovider.DataProviderRunner) Collections.singletonList(java.util.Collections.singletonList) Mockito.verifyZeroInteractions(org.mockito.Mockito.verifyZeroInteractions) Json(com.hazelcast.internal.json.Json) PluginInfo(org.sonar.core.platform.PluginInfo) WebService(org.sonar.api.server.ws.WebService) Mockito.verifyNoMoreInteractions(org.mockito.Mockito.verifyNoMoreInteractions) Arrays.asList(java.util.Arrays.asList) Version(org.sonar.updatecenter.common.Version) Plugin(org.sonar.updatecenter.common.Plugin) ServerPluginRepository(org.sonar.server.plugins.ServerPluginRepository) RETURNS_DEEP_STUBS(org.mockito.Mockito.RETURNS_DEEP_STUBS) JsonObject(com.hazelcast.internal.json.JsonObject) DbTester(org.sonar.db.DbTester) FileAndMd5(org.sonar.server.plugins.PluginFilesAndMd5.FileAndMd5) System2(org.sonar.api.utils.System2) UseDataProvider(com.tngtech.java.junit.dataprovider.UseDataProvider) JsonAssert.assertJson(org.sonar.test.JsonAssert.assertJson) IOException(java.io.IOException) Test(org.junit.Test) UpdateCenterMatrixFactory(org.sonar.server.plugins.UpdateCenterMatrixFactory) Mockito.when(org.mockito.Mockito.when) WsActionTester(org.sonar.server.ws.WsActionTester) File(java.io.File) Rule(org.junit.Rule) PluginType(org.sonar.server.plugins.PluginType) UpdateCenter(org.sonar.updatecenter.common.UpdateCenter) Optional(java.util.Optional) Action(org.sonar.api.server.ws.WebService.Action) TemporaryFolder(org.junit.rules.TemporaryFolder) Mockito.mock(org.mockito.Mockito.mock) JsonValue(com.hazelcast.internal.json.JsonValue) PluginInfo(org.sonar.core.platform.PluginInfo) Test(org.junit.Test)

Aggregations

Json (com.hazelcast.internal.json.Json)1 JsonArray (com.hazelcast.internal.json.JsonArray)1 JsonObject (com.hazelcast.internal.json.JsonObject)1 JsonValue (com.hazelcast.internal.json.JsonValue)1 DataProvider (com.tngtech.java.junit.dataprovider.DataProvider)1 DataProviderRunner (com.tngtech.java.junit.dataprovider.DataProviderRunner)1 UseDataProvider (com.tngtech.java.junit.dataprovider.UseDataProvider)1 File (java.io.File)1 IOException (java.io.IOException)1 Arrays (java.util.Arrays)1 Arrays.asList (java.util.Arrays.asList)1 Collections.singletonList (java.util.Collections.singletonList)1 Optional (java.util.Optional)1 Random (java.util.Random)1 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)1 Rule (org.junit.Rule)1 Test (org.junit.Test)1 TemporaryFolder (org.junit.rules.TemporaryFolder)1 RunWith (org.junit.runner.RunWith)1 RETURNS_DEEP_STUBS (org.mockito.Mockito.RETURNS_DEEP_STUBS)1