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");
}
Aggregations