@Test public void should_validate_single_select_list() { PropertyDefinition def = PropertyDefinition.builder("foo").name("foo").type(PropertyType.SINGLE_SELECT_LIST).options("de", "en").build(); assertThat(def.validate(null).isValid()).isTrue(); assertThat(def.validate("").isValid()).isTrue(); assertThat(def.validate(" ").isValid()).isTrue(); assertThat(def.validate("de").isValid()).isTrue(); assertThat(def.validate("en").isValid()).isTrue(); assertThat(def.validate("fr").isValid()).isFalse(); assertThat(def.validate("fr").getErrorKey()).isEqualTo("notInOptions"); }
private static Result newError(String key) { return new Result(key); }
private static Result newError(String key) { return new Result(key); }
private static void checkFieldType(SetRequest request, PropertyDefinition definition, ListMultimap<String, String> valuesByFieldKeys) { for (PropertyFieldDefinition fieldDefinition : definition.fields()) { for (String value : valuesByFieldKeys.get(fieldDefinition.key())) { PropertyDefinition.Result result = fieldDefinition.validate(value); checkRequest(result.isValid(), "Error when validating setting with key '%s'. Field '%s' has incorrect value '%s'.", request.getKey(), fieldDefinition.key(), value); } } }
private void validateOtherTypes(SettingData data, PropertyDefinition definition) { data.values.stream() .map(definition::validate) .filter(result -> !result.isValid()) .findAny() .ifPresent(result -> { throw BadRequestException.create(i18n.message(Locale.ENGLISH, "property.error." + result.getErrorKey(), format("Error when validating setting with key '%s' and value [%s]", data.key, data.values.stream().collect(Collectors.joining(", "))))); }); }
private static Result newError(String key) { return new Result(key); }
@Test public void validate_regular_expression() { PropertyDefinition def = PropertyDefinition.builder("foo").name("foo").type(PropertyType.REGULAR_EXPRESSION).build(); assertThat(def.validate(null).isValid()).isTrue(); assertThat(def.validate("").isValid()).isTrue(); assertThat(def.validate(" ").isValid()).isTrue(); assertThat(def.validate("[a-zA-Z]").isValid()).isTrue(); assertThat(def.validate("[a-zA-Z").isValid()).isFalse(); assertThat(def.validate("[a-zA-Z").getErrorKey()).isEqualTo("notRegexp"); }
@Test public void should_validate_float() { PropertyDefinition def = PropertyDefinition.builder("foo").name("foo").type(PropertyType.FLOAT).build(); assertThat(def.validate(null).isValid()).isTrue(); assertThat(def.validate("").isValid()).isTrue(); assertThat(def.validate(" ").isValid()).isTrue(); assertThat(def.validate("123456").isValid()).isTrue(); assertThat(def.validate("3.14").isValid()).isTrue(); assertThat(def.validate("foo").isValid()).isFalse(); assertThat(def.validate("foo").getErrorKey()).isEqualTo("notFloat"); }
private static void checkFieldType(SetRequest request, PropertyDefinition definition, ListMultimap<String, String> valuesByFieldKeys) { for (PropertyFieldDefinition fieldDefinition : definition.fields()) { for (String value : valuesByFieldKeys.get(fieldDefinition.key())) { PropertyDefinition.Result result = fieldDefinition.validate(value); checkRequest(result.isValid(), "Error when validating setting with key '%s'. Field '%s' has incorrect value '%s'.", request.getKey(), fieldDefinition.key(), value); } } }
@Test public void should_validate_string() { PropertyDefinition def = PropertyDefinition.builder("foo").name("foo").type(PropertyType.STRING).build(); assertThat(def.validate(null).isValid()).isTrue(); assertThat(def.validate("").isValid()).isTrue(); assertThat(def.validate(" ").isValid()).isTrue(); assertThat(def.validate("foo").isValid()).isTrue(); }
private void validateOtherTypes(SettingData data, PropertyDefinition definition) { data.values.stream() .map(definition::validate) .filter(result -> !result.isValid()) .findAny() .ifPresent(result -> { throw BadRequestException.create(i18n.message(Locale.ENGLISH, "property.error." + result.getErrorKey(), format("Error when validating setting with key '%s' and value [%s]", data.key, data.values.stream().collect(Collectors.joining(", "))))); }); }
@Test public void should_validate_integer() { PropertyDefinition def = PropertyDefinition.builder("foo").name("foo").type(PropertyType.INTEGER).build(); assertThat(def.validate(null).isValid()).isTrue(); assertThat(def.validate("").isValid()).isTrue(); assertThat(def.validate(" ").isValid()).isTrue(); assertThat(def.validate("123456").isValid()).isTrue(); assertThat(def.validate("foo").isValid()).isFalse(); assertThat(def.validate("foo").getErrorKey()).isEqualTo("notInteger"); }
@Test public void should_validate_boolean() { PropertyDefinition def = PropertyDefinition.builder("foo").name("foo").type(PropertyType.BOOLEAN).build(); assertThat(def.validate(null).isValid()).isTrue(); assertThat(def.validate("").isValid()).isTrue(); assertThat(def.validate(" ").isValid()).isTrue(); assertThat(def.validate("true").isValid()).isTrue(); assertThat(def.validate("false").isValid()).isTrue(); assertThat(def.validate("foo").isValid()).isFalse(); assertThat(def.validate("foo").getErrorKey()).isEqualTo("notBoolean"); }
@Test public void validate_long() { PropertyDefinition def = PropertyDefinition.builder("foo").name("foo").type(PropertyType.LONG).build(); assertThat(def.validate(null).isValid()).isTrue(); assertThat(def.validate("").isValid()).isTrue(); assertThat(def.validate(" ").isValid()).isTrue(); assertThat(def.validate("123456").isValid()).isTrue(); assertThat(def.validate("foo").isValid()).isFalse(); assertThat(def.validate("foo").getErrorKey()).isEqualTo("notInteger"); }