return new ConnectorSummary.Builder().createFrom(connector).actionsSummary(actionsSummary).errors(swaggerInfo.getErrors()) .warnings(swaggerInfo.getWarnings()).build(); } catch (final Exception ex) { if (!swaggerInfo.getErrors().isEmpty()) { return new ConnectorSummary.Builder().errors(swaggerInfo.getErrors()).warnings(swaggerInfo.getWarnings()).build();
return new ConnectorSummary.Builder().createFrom(connector).actionsSummary(actionsSummary).errors(swaggerInfo.getErrors()) .warnings(swaggerInfo.getWarnings()).build(); } catch (@SuppressWarnings("PMD.AvoidCatchingGenericException") final Exception ex) { if (!swaggerInfo.getErrors().isEmpty()) { return new ConnectorSummary.Builder().errors(swaggerInfo.getErrors()).warnings(swaggerInfo.getWarnings()).build();
@Test public void shouldProvideInfoFromPetstoreSwagger() throws IOException { final String specification = resource("/swagger/petstore.swagger.json"); final ConnectorSettings connectorSettings = new ConnectorSettings.Builder()// .putConfiguredProperty("specification", specification)// .build(); final ConnectorSummary summary = generator.info(SWAGGER_TEMPLATE, connectorSettings); final ActionsSummary actionsSummary = new ActionsSummary.Builder().totalActions(20).putActionCountByTag("store", 4) .putActionCountByTag("user", 8).putActionCountByTag("pet", 8).build(); final ConnectorSummary expected = new ConnectorSummary.Builder()// .name("Swagger Petstore")// .actionsSummary(actionsSummary)// .build(); assertThat(summary).isEqualToIgnoringGivenFields(expected, "icon", "description", "properties", "warnings"); assertThat(summary.getIcon()).startsWith("data:image"); assertThat(summary.getDescription()).startsWith("This is a sample server Petstore server"); assertThat(summary.getProperties().keySet()).contains("host", "basePath", "authenticationType", "clientId", "clientSecret", "accessToken", "authorizationEndpoint", "specification"); }
@Test public void testConnectorSummary() { ConnectorSummary summary = new ConnectorSummary.Builder().createFrom( new Connector.Builder().addAction( new ConnectorAction.Builder().addTag("1", "2", "3").build(), new ConnectorAction.Builder().addTag("2", "3", "4").build(), new ConnectorAction.Builder().addTag("2").build(), new ConnectorAction.Builder().build() ).build() ).build(); Assertions.assertThat(summary.getActionsSummary().getTotalActions()).isEqualTo(4); Map<String, Integer> actionCountByTags = summary.getActionsSummary().getActionCountByTags(); Assertions.assertThat(actionCountByTags).containsEntry("1", 1); Assertions.assertThat(actionCountByTags).containsEntry("2", 3); Assertions.assertThat(actionCountByTags).containsEntry("3", 2); Assertions.assertThat(actionCountByTags).containsEntry("4", 1); }
@Test public void shouldProvideInfoAboutAppliedConnectorSettings() { final CustomConnectorHandler handler = new CustomConnectorHandler(dataManager, applicationContext, iconDao); final ConnectorGenerator connectorGenerator = mock(ConnectorGenerator.class); final ConnectorTemplate template = new ConnectorTemplate.Builder().build(); final ConnectorSettings connectorSettings = new ConnectorSettings.Builder().connectorTemplateId("connector-template").build(); final ConnectorSummary preparedSummary = new ConnectorSummary.Builder().build(); when(dataManager.fetch(ConnectorTemplate.class, "connector-template")).thenReturn(template); when(applicationContext.getBean("connector-template", ConnectorGenerator.class)).thenReturn(connectorGenerator); when(connectorGenerator.info(same(template), same(connectorSettings))).thenReturn(preparedSummary); final ConnectorSummary info = handler.info(connectorSettings); assertThat(info).isSameAs(preparedSummary); }
@Test public void shouldProvideInfoAboutAppliedConnectorSettings() { final CustomConnectorHandler handler = new CustomConnectorHandler(dataManager, applicationContext, iconDao); final ConnectorGenerator connectorGenerator = mock(ConnectorGenerator.class); final ConnectorTemplate template = new ConnectorTemplate.Builder().build(); final ConnectorSettings connectorSettings = new ConnectorSettings.Builder().connectorTemplateId("connector-template").build(); final ConnectorSummary preparedSummary = new ConnectorSummary.Builder().build(); when(dataManager.fetch(ConnectorTemplate.class, "connector-template")).thenReturn(template); when(applicationContext.getBean("connector-template", ConnectorGenerator.class)).thenReturn(connectorGenerator); when(connectorGenerator.info(same(template), same(connectorSettings))).thenReturn(preparedSummary); final ConnectorSummary info = handler.info(connectorSettings); assertThat(info).isSameAs(preparedSummary); }
@Override public Connector get(final String id) { final Connector connector = augmentedWithUsage(Getter.super.get(id)); final Optional<String> connectorGroupId = connector.getConnectorGroupId(); if (!connectorGroupId.map(applicationContext::containsBean).orElse(false)) { return connector; } final ConnectorSummary summary = new ConnectorSummary.Builder().createFrom(connector).build(); return connector.builder().actionsSummary(summary.getActionsSummary()).build(); }
@Override public ListResult<Connector> list(final UriInfo uriInfo) { final List<Connector> connectors = Lister.super.list(uriInfo).getItems().stream() .map(c -> { final ConnectorSummary summary = new ConnectorSummary.Builder().createFrom(c).build(); return c.builder().actionsSummary(summary.getActionsSummary()).build(); }) .collect(Collectors.toList()); return ListResult.of(augmentedWithUsage(connectors)); }