Browse Source

DataValidatorTest: validateEmail refactored using parameterized tests

pull/9163/head
Sergey Matvienko 3 years ago
parent
commit
77d4a29f2e
  1. 64
      dao/src/test/java/org/thingsboard/server/dao/service/DataValidatorTest.java

64
dao/src/test/java/org/thingsboard/server/dao/service/DataValidatorTest.java

@ -18,7 +18,6 @@ package org.thingsboard.server.dao.service;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource; import org.junit.jupiter.params.provider.ValueSource;
import org.thingsboard.server.dao.exception.DataValidationException; import org.thingsboard.server.dao.exception.DataValidationException;
@ -41,7 +40,7 @@ public class DataValidatorTest {
"coffee", "1", "big box", "世界", "!", "--", "~!@#$%^&*()_+=-/|\\[]{};:'`\"?<>,.", "\uD83D\uDC0C", "\041", "coffee", "1", "big box", "世界", "!", "--", "~!@#$%^&*()_+=-/|\\[]{};:'`\"?<>,.", "\uD83D\uDC0C", "\041",
"Gdy Pomorze nie pomoże, to pomoże może morze, a gdy morze nie pomoże, to pomoże może Gdańsk", "Gdy Pomorze nie pomoże, to pomoże może morze, a gdy morze nie pomoże, to pomoże może Gdańsk",
}) })
void testDeviceName_thenOK(final String name) { void validateName_thenOK(final String name) {
dataValidator.validateName("Device", name); dataValidator.validateName("Device", name);
dataValidator.validateName("Asset", name); dataValidator.validateName("Asset", name);
dataValidator.validateName("Customer", name); dataValidator.validateName("Customer", name);
@ -54,7 +53,7 @@ public class DataValidatorTest {
"F0929906\000\000\000\000\000\000\000\000\000", "\000\000\000F0929906", "F0929906\000\000\000\000\000\000\000\000\000", "\000\000\000F0929906",
"\u0000F0929906", "F092\u00009906", "F0929906\u0000" "\u0000F0929906", "F092\u00009906", "F0929906\u0000"
}) })
void testDeviceName_thenDataValidationException(final String name) { void validateName_thenDataValidationException(final String name) {
DataValidationException exception; DataValidationException exception;
exception = Assertions.assertThrows(DataValidationException.class, () -> dataValidator.validateName("Asset", name)); exception = Assertions.assertThrows(DataValidationException.class, () -> dataValidator.validateName("Asset", name));
log.warn("Exception message Asset: {}", exception.getMessage()); log.warn("Exception message Asset: {}", exception.getMessage());
@ -65,56 +64,21 @@ public class DataValidatorTest {
assertThat(exception.getMessage()).as("message Device").containsPattern("Device .*name.*"); assertThat(exception.getMessage()).as("message Device").containsPattern("Device .*name.*");
} }
@Test @ParameterizedTest
public void validateEmail() { @ValueSource(strings = {
String email = "aZ1_!#$%&'*+/=?`{|}~^.-@mail.io"; "aZ1_!#$%&'*+/=?`{|}~^.-@mail.io", "support@thingsboard.io",
})
public void validateEmail(String email) {
DataValidator.validateEmail(email); DataValidator.validateEmail(email);
} }
@Test @ParameterizedTest
public void validateInvalidEmail1() { @ValueSource(strings = {
String email = "test:1@mail.io"; "test:1@mail.io", "test()1@mail.io", "test[]1@mail.io",
Assertions.assertThrows(DataValidationException.class, () -> { "test\\1@mail.io", "test\"1@mail.io", "test<>1@mail.io",
DataValidator.validateEmail(email); })
}); public void validateEmailInvalid(String email) {
} Assertions.assertThrows(DataValidationException.class, () -> DataValidator.validateEmail(email));
@Test
public void validateInvalidEmail2() {
String email = "test()1@mail.io";
Assertions.assertThrows(DataValidationException.class, () -> {
DataValidator.validateEmail(email);
});
}
@Test
public void validateInvalidEmail3() {
String email = "test[]1@mail.io";
Assertions.assertThrows(DataValidationException.class, () -> {
DataValidator.validateEmail(email);
});
}
@Test
public void validateInvalidEmail4() {
String email = "test\\1@mail.io";
Assertions.assertThrows(DataValidationException.class, () -> {
DataValidator.validateEmail(email);
});
}
@Test
public void validateInvalidEmail5() {
String email = "test\"1@mail.io";
Assertions.assertThrows(DataValidationException.class, () -> {
DataValidator.validateEmail(email);
});
} }
@Test
public void validateInvalidEmail6() {
String email = "test<>1@mail.io";
Assertions.assertThrows(DataValidationException.class, () -> {
DataValidator.validateEmail(email);
});
}
} }

Loading…
Cancel
Save