@Test public void testMissingMandatoryProperty() { Map<String, ConfigurationProperty> left = new HashMap<>(); Map<String, String> right = new HashMap<>(); left.put("property1", new ConfigurationProperty.Builder().javaType("string").build()); left.put("property2", new ConfigurationProperty.Builder().javaType("string").required(true).build()); right.put("property1", "value1"); List<LeveledMessage> messages = new DummyHandler().computeMissingMandatoryPropertiesMessages(LeveledMessage.Builder::new, left, right); assertThat(messages).hasSize(1); assertThat(messages.get(0)).hasFieldOrPropertyWithValue("level", LeveledMessage.Level.WARN); assertThat(messages.get(0)).hasFieldOrPropertyWithValue("code", LeveledMessage.Code.SYNDESIS006); }
@Test public void testNewRequiresProperty() { Map<String, ConfigurationProperty> left = new HashMap<>(); Map<String, ConfigurationProperty> right = new HashMap<>(); left.put("property", new ConfigurationProperty.Builder().javaType("string").build()); right.put("property", new ConfigurationProperty.Builder().javaType("STRING").build()); right.put("property2", new ConfigurationProperty.Builder().javaType("string").required(true).build()); List<LeveledMessage> messages = new DummyHandler().computePropertiesDiffMessages(LeveledMessage.Builder::new, left, right); assertThat(messages).hasSize(2); assertThat(messages.get(0)).hasFieldOrPropertyWithValue("level", LeveledMessage.Level.INFO); assertThat(messages.get(0)).hasFieldOrPropertyWithValue("code", LeveledMessage.Code.SYNDESIS001); assertThat(messages.get(1)).hasFieldOrPropertyWithValue("level", LeveledMessage.Level.WARN); assertThat(messages.get(1)).hasFieldOrPropertyWithValue("code", LeveledMessage.Code.SYNDESIS002); }
.required(required)// .componentProperty(false)// .deprecated(false)//
.required(required)// .componentProperty(false)// .deprecated(false)//
@Test public void shouldCreatePropertyParametersFromPetstoreSwagger() throws IOException { final String specification = resource("/swagger/petstore.swagger.json"); final Swagger swagger = new SwaggerParser().parse(specification); final Parameter petIdPathParameter = swagger.getPath("/pet/{petId}").getGet().getParameters().get(0); final Optional<ConfigurationProperty> maybeConfigurationProperty = BaseSwaggerConnectorGenerator .createPropertyFromParameter(petIdPathParameter); final ConfigurationProperty expected = new ConfigurationProperty.Builder()// .componentProperty(false)// .deprecated(false)// .description("ID of pet to return")// .displayName("petId")// .group("producer")// .javaType(Long.class.getName())// .kind("property")// .required(true)// .secret(false)// .type("integer")// .build(); assertThat(maybeConfigurationProperty).hasValue(expected); }
@Test public void shouldCreatePropertyParametersFromPetstoreSwagger() throws IOException { final String specification = resource("/swagger/petstore.swagger.json"); final Swagger swagger = new SwaggerParser().parse(specification); final Parameter petIdPathParameter = swagger.getPath("/pet/{petId}").getGet().getParameters().get(0); final Optional<ConfigurationProperty> maybeConfigurationProperty = BaseSwaggerConnectorGenerator .createPropertyFromParameter(petIdPathParameter); final ConfigurationProperty expected = new ConfigurationProperty.Builder()// .componentProperty(false)// .deprecated(false)// .description("ID of pet to return")// .displayName("petId")// .group("producer")// .javaType(Long.class.getName())// .kind("property")// .required(true)// .secret(false)// .type("integer")// .build(); assertThat(maybeConfigurationProperty).hasValue(expected); }
@Test public void shouldNotComputeConnectorConfiguredPropertiesAsMissing() { final ConnectionUpdateHandler updateHandler = new ConnectionUpdateHandler(dataManager, null, validator); final Connection connection = new Connection.Builder()// .id("connection")// .putConfiguredProperty("req2", "value2")// .build(); final ConfigurationProperty required = new ConfigurationProperty.Builder().required(true).build(); final Connector sameConnector = new Connector.Builder()// .id("new-connector")// .putProperty("req1", required)// .putProperty("req2", required)// .putConfiguredProperty("req1", "value1")// .build(); when(dataManager.fetchByPropertyValue(ConnectionBulletinBoard.class, "targetResourceId", "connection")) .thenReturn(Optional.empty()); final ConnectionBulletinBoard board = updateHandler.computeBoard(connection, sameConnector, sameConnector); assertThat(board.getMessages()).isEmpty(); } }