diff options
Diffstat (limited to 'catalog-model/src/test/java/org/openecomp/sdc/be/model/operations/impl/util/DataTypeValidatorTest.java')
-rw-r--r-- | catalog-model/src/test/java/org/openecomp/sdc/be/model/operations/impl/util/DataTypeValidatorTest.java | 1532 |
1 files changed, 761 insertions, 771 deletions
diff --git a/catalog-model/src/test/java/org/openecomp/sdc/be/model/operations/impl/util/DataTypeValidatorTest.java b/catalog-model/src/test/java/org/openecomp/sdc/be/model/operations/impl/util/DataTypeValidatorTest.java index 9237095ad7..8700aaa5f1 100644 --- a/catalog-model/src/test/java/org/openecomp/sdc/be/model/operations/impl/util/DataTypeValidatorTest.java +++ b/catalog-model/src/test/java/org/openecomp/sdc/be/model/operations/impl/util/DataTypeValidatorTest.java @@ -20,19 +20,10 @@ package org.openecomp.sdc.be.model.operations.impl.util; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.reflect.TypeToken; +import fj.data.Either; import org.apache.commons.lang3.tuple.ImmutablePair; import org.junit.Test; import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition; @@ -48,952 +39,951 @@ import org.openecomp.sdc.be.model.tosca.validators.MapValidator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.gson.Gson; -import com.google.gson.JsonElement; -import com.google.gson.reflect.TypeToken; +import java.lang.reflect.Type; +import java.util.*; -import fj.data.Either; +import static org.junit.Assert.*; public class DataTypeValidatorTest { - private static Logger log = LoggerFactory.getLogger(DataTypeValidatorTest.class.getName()); - private static Gson gson = new Gson(); + private static final Logger log = LoggerFactory.getLogger(DataTypeValidatorTest.class); + private static Gson gson = new Gson(); - DataTypeValidatorConverter dataTypeValidator = DataTypeValidatorConverter.getInstance(); + DataTypeValidatorConverter dataTypeValidator = DataTypeValidatorConverter.getInstance(); - @Test - public void testDerivedFromPrimitiveEmptyValue() { + @Test + public void testDerivedFromPrimitiveEmptyValue() { - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - allDataTypes.put("integer", getPrimitiveDataType("integer")); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + allDataTypes.put("integer", getPrimitiveDataType("integer")); - DataTypeDefinition fromIntegerType = buildDerivedFromIntegerType(); - ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate("", fromIntegerType, - allDataTypes); + DataTypeDefinition fromIntegerType = buildDerivedFromIntegerType(); + ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate("", fromIntegerType, + allDataTypes); - assertTrue("check result is valid", validate.right.booleanValue()); - assertEquals("check value is the same as sent", null, validate.left); + assertTrue("check result is valid", validate.right.booleanValue()); + assertNull("check value is the same as sent", validate.left); - validate = dataTypeValidator.validateAndUpdate(null, fromIntegerType, allDataTypes); + validate = dataTypeValidator.validateAndUpdate(null, fromIntegerType, allDataTypes); - assertTrue("check result is valid", validate.right.booleanValue()); - assertEquals("check value is the same as sent", null, validate.left); + assertTrue("check result is valid", validate.right.booleanValue()); + assertNull("check value is the same as sent", validate.left); - validate = dataTypeValidator.validateAndUpdate("88", fromIntegerType, allDataTypes); + validate = dataTypeValidator.validateAndUpdate("88", fromIntegerType, allDataTypes); - assertTrue("check result is valid", validate.right.booleanValue()); - assertEquals("check value is the same as sent", "88", validate.left.toString()); + assertTrue("check result is valid", validate.right.booleanValue()); + assertEquals("check value is the same as sent", "88", validate.left.toString()); - } + } - @Test - public void testCompositeWithParameterDerivedFromPrimitiveEmptyValue() { + @Test + public void testCompositeWithParameterDerivedFromPrimitiveEmptyValue() { - DataTypeDefinition derivedFromIntegerType = buildDerivedFromIntegerType(); - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - allDataTypes.put("myinteger", derivedFromIntegerType); + DataTypeDefinition derivedFromIntegerType = buildDerivedFromIntegerType(); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + allDataTypes.put("myinteger", derivedFromIntegerType); - DataTypeDefinition personDataType = buildPersonDataType(); + DataTypeDefinition personDataType = buildPersonDataType(); - Person person = new Person("my address", 32); - String json = gson.toJson(person); - log.debug(json); + Person person = new Person("my address", 32); + String json = gson.toJson(person); + log.debug(json); - ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, personDataType, - allDataTypes); - assertTrue("check valid value", validate.right.booleanValue()); + ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, personDataType, + allDataTypes); + assertTrue("check valid value", validate.right.booleanValue()); - person = new Person("my address", 32); - json = gson.toJson(person); - json = json.replace("32", "32a"); - log.debug(json); + person = new Person("my address", 32); + json = gson.toJson(person); + json = json.replace("32", "32a"); + log.debug(json); - validate = dataTypeValidator.validateAndUpdate(json, personDataType, allDataTypes); - assertFalse("check valid value", validate.right.booleanValue()); + validate = dataTypeValidator.validateAndUpdate(json, personDataType, allDataTypes); + assertFalse("check valid value", validate.right.booleanValue()); - } + } - @Test - public void testCompositeWithEmptyListValue() { + @Test + public void testCompositeWithEmptyListValue() { - DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); + DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); - String[] strArr = {}; - List<String> strList = Arrays.asList(strArr); + String[] strArr = {}; + List<String> strList = Arrays.asList(strArr); - // Check empty list - Credential credential = new Credential("protcol<br>>", 5, "token_type", "token", null, "user", true, strList); - City mycity = new City("myadd<br><<br>", 55); - credential.setMycity(mycity); + // Check empty list + Credential credential = new Credential("protcol<br>>", 5, "token_type", "token", null, "user", true, strList); + City mycity = new City("myadd<br><<br>", 55); + credential.setMycity(mycity); - String json = gson.toJson(credential); - log.debug(json); + String json = gson.toJson(credential); + log.debug(json); - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); - ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, - allDataTypes); - assertTrue("check valid value", validate.right.booleanValue()); + ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, + allDataTypes); + assertTrue("check valid value", validate.right.booleanValue()); - Credential credentialRes = gson.fromJson(validate.left.toString(), Credential.class); - assertEquals("check empty list", 0, credentialRes.getMylist().size()); + Credential credentialRes = gson.fromJson(validate.left.toString(), Credential.class); + assertEquals("check empty list", 0, credentialRes.getMylist().size()); - log.debug("Result is = {}", validate.left.toString()); + log.debug("Result is = {}", validate.left.toString()); - } + } - @Test - public void testCompositeWithListNullValue() { - DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); + @Test + public void testCompositeWithListNullValue() { + DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); - // Check list is NULL - Credential credential = new Credential("protcol<br>>", 5, "token_type", "token", null, "user", true, null); - City mycity = new City("myadd<br><<br>", 55); - credential.setMycity(mycity); + // Check list is NULL + Credential credential = new Credential("protcol<br>>", 5, "token_type", "token", null, "user", true, null); + City mycity = new City("myadd<br><<br>", 55); + credential.setMycity(mycity); - String json = gson.toJson(credential); + String json = gson.toJson(credential); - ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, - allDataTypes); - assertTrue("check valid value", validate.right.booleanValue()); + ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, + allDataTypes); + assertTrue("check valid value", validate.right.booleanValue()); - Credential credentialRes = gson.fromJson(validate.left.toString(), Credential.class); - assertNull("check list is null", credentialRes.getMylist()); - log.debug("Result is = {}", validate.left.toString()); + Credential credentialRes = gson.fromJson(validate.left.toString(), Credential.class); + assertNull("check list is null", credentialRes.getMylist()); + log.debug("Result is = {}", validate.left.toString()); - } + } - @Test - public void testCompositeWithUserNullValue() { - DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); + @Test + public void testCompositeWithUserNullValue() { + DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); - // Check user is null - Credential credential = new Credential("protcol<br>>", 5, "token_type", "token", null, null, true, null); - City mycity = new City("myadd<br><<br>", 55); - credential.setMycity(mycity); + // Check user is null + Credential credential = new Credential("protcol<br>>", 5, "token_type", "token", null, null, true, null); + City mycity = new City("myadd<br><<br>", 55); + credential.setMycity(mycity); - String json = gson.toJson(credential); + String json = gson.toJson(credential); - ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, - allDataTypes); - assertTrue("check valid value", validate.right.booleanValue()); + ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, + allDataTypes); + assertTrue("check valid value", validate.right.booleanValue()); - Credential credentialRes = gson.fromJson(validate.left.toString(), Credential.class); - assertNull("check list is null", credentialRes.getUser()); - log.debug("Result is = {}", validate.left.toString()); - } + Credential credentialRes = gson.fromJson(validate.left.toString(), Credential.class); + assertNull("check list is null", credentialRes.getUser()); + log.debug("Result is = {}", validate.left.toString()); + } - @Test - public void testCompositeWithEmptyUserValue() { + @Test + public void testCompositeWithEmptyUserValue() { - DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); + DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); - // Check user is empty - Credential credential = new Credential("protcol<br>>", 5, "token_type", "token", null, "", true, null); - City mycity = new City("myadd<br><<br>", 55); - credential.setMycity(mycity); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); + // Check user is empty + Credential credential = new Credential("protcol<br>>", 5, "token_type", "token", null, "", true, null); + City mycity = new City("myadd<br><<br>", 55); + credential.setMycity(mycity); - String json = gson.toJson(credential); - log.debug(json); + String json = gson.toJson(credential); + log.debug(json); - ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, - allDataTypes); - assertTrue("check valid value", validate.right.booleanValue()); + ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, + allDataTypes); + assertTrue("check valid value", validate.right.booleanValue()); - Credential credentialRes = gson.fromJson(validate.left.toString(), Credential.class); - assertNotNull("check list is not null", credentialRes.getUser()); - assertEquals("check user is empty", "", credentialRes.getUser()); - log.debug("Result is = {}", validate.left.toString()); + Credential credentialRes = gson.fromJson(validate.left.toString(), Credential.class); + assertNotNull("check list is not null", credentialRes.getUser()); + assertEquals("check user is empty", "", credentialRes.getUser()); + log.debug("Result is = {}", validate.left.toString()); - } + } - @Test - public void testCompositeWithSumNullValue() { - DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); + @Test + public void testCompositeWithSumNullValue() { + DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); - // Check user is null - Credential credential = new Credential("protcol<br>>", null, "token_type", "token", null, null, true, null); - City mycity = new City("myadd<br><<br>", 55); - credential.setMycity(mycity); + // Check user is null + Credential credential = new Credential("protcol<br>>", null, "token_type", "token", null, null, true, null); + City mycity = new City("myadd<br><<br>", 55); + credential.setMycity(mycity); - String json = gson.toJson(credential); + String json = gson.toJson(credential); - ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, - allDataTypes); - assertTrue("check valid value", validate.right.booleanValue()); + ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, + allDataTypes); + assertTrue("check valid value", validate.right.booleanValue()); - Credential credentialRes = gson.fromJson(validate.left.toString(), Credential.class); - assertNull("check list is null", credentialRes.getSum()); - log.debug("Result is = {}", validate.left.toString()); - } + Credential credentialRes = gson.fromJson(validate.left.toString(), Credential.class); + assertNull("check list is null", credentialRes.getSum()); + log.debug("Result is = {}", validate.left.toString()); + } - @Test - public void testInvalidJson() { - DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); + @Test + public void testInvalidJson() { + DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); - // Check user is null - Credential credential = new Credential("protcol<br>>", null, "token_type", "token", null, null, true, null); - City mycity = new City("myadd<br><<br>", 55); - credential.setMycity(mycity); + // Check user is null + Credential credential = new Credential("protcol<br>>", null, "token_type", "token", null, null, true, null); + City mycity = new City("myadd<br><<br>", 55); + credential.setMycity(mycity); - String json = gson.toJson(credential); + String json = gson.toJson(credential); - json += "fdfd"; + json += "fdfd"; - ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, - allDataTypes); - assertFalse("check valid value", validate.right.booleanValue()); + ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, + allDataTypes); + assertFalse("check valid value", validate.right.booleanValue()); - } + } - @Test - public void testInvalidInnerValue() { + @Test + public void testInvalidInnerValue() { - DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); + DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); - // Check user is null - Credential credential = new Credential("protcol<br>>", null, "token_type", "token", null, null, true, null); - City mycity = new City("myadd<br><<br>", 55); - credential.setMycity(mycity); + // Check user is null + Credential credential = new Credential("protcol<br>>", null, "token_type", "token", null, null, true, null); + City mycity = new City("myadd<br><<br>", 55); + credential.setMycity(mycity); - String json = gson.toJson(credential); + String json = gson.toJson(credential); - json = json.replace("55", "a55b"); + json = json.replace("55", "a55b"); - ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, - allDataTypes); - assertFalse("check valid value", validate.right.booleanValue()); + ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, + allDataTypes); + assertFalse("check valid value", validate.right.booleanValue()); - } + } - @Test - public void testInvalidInnerJson() { + @Test + public void testInvalidInnerJson() { - DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); + DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); - // Check user is null - Credential credential = new Credential("protcol<br>>", null, "token_type", "token", null, null, true, null); - City mycity = new City("", null); + // Check user is null + Credential credential = new Credential("protcol<br>>", null, "token_type", "token", null, null, true, null); + City mycity = new City("", null); - credential.setMycity(mycity); + credential.setMycity(mycity); - String json = gson.toJson(credential); + String json = gson.toJson(credential); - json = json.replace("{\"address\":\"\"}", "scalar"); + json = json.replace("{\"address\":\"\"}", "scalar"); - ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, - allDataTypes); - assertFalse("check valid value", validate.right.booleanValue()); + ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, + allDataTypes); + assertFalse("check valid value", validate.right.booleanValue()); - } + } - @Test - public void testInvalidPropertyJson() { + @Test + public void testInvalidPropertyJson() { - DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); + DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); - // Check user is null - Credential credential = new Credential("protcol<br>>", null, "token_type", "token", null, null, true, null); - City mycity = new City("myadd<br><<br>", 55); - credential.setMycity(mycity); + // Check user is null + Credential credential = new Credential("protcol<br>>", null, "token_type", "token", null, null, true, null); + City mycity = new City("myadd<br><<br>", 55); + credential.setMycity(mycity); - String json = gson.toJson(credential); + String json = gson.toJson(credential); - json = json.replace("55", "a55b"); + json = json.replace("55", "a55b"); - ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, - allDataTypes); - assertFalse("check valid value", validate.right.booleanValue()); + ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, + allDataTypes); + assertFalse("check valid value", validate.right.booleanValue()); - } + } - @Test - public void testCompositeDataTypeWithInternalComposite() { + @Test + public void testCompositeDataTypeWithInternalComposite() { - DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); + DataTypeDefinition dataTypeDefinition = buildCredentialDataType(); - String[] strArr = { "aaa", "bbb", "c<br>dcc" }; - List<String> strList = Arrays.asList(strArr); + String[] strArr = { "aaa", "bbb", "c<br>dcc" }; + List<String> strList = Arrays.asList(strArr); - Credential credential = new Credential("protcol<br>>", 5, "token_type", "token", null, "user", true, strList); - City mycity = new City("myadd<br><<br>", 55); - credential.setMycity(mycity); + Credential credential = new Credential("protcol<br>>", 5, "token_type", "token", null, "user", true, strList); + City mycity = new City("myadd<br><<br>", 55); + credential.setMycity(mycity); - String json = gson.toJson(credential); + String json = gson.toJson(credential); - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); - ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, - allDataTypes); - assertTrue("check valid value", validate.right.booleanValue()); + ImmutablePair<JsonElement, Boolean> validate = dataTypeValidator.validateAndUpdate(json, dataTypeDefinition, + allDataTypes); + assertTrue("check valid value", validate.right.booleanValue()); - log.debug("Result is = {}", validate.left.toString()); + log.debug("Result is = {}", validate.left.toString()); - } + } - @Test - public void testMapValidator() { + @Test + public void testMapValidator() { - MapValidator validator = new MapValidator(); - Gson gson = new Gson(); - // Happy Scenarios - // 1 - Map<String,Integer> check OK - Map<String, Integer> map_1 = new HashMap<>(); - map_1.put("key1", 2); - map_1.put("key2", 3); - String value = gson.toJson(map_1); - String innerType = "integer"; - assertTrue("Test Map validation with inner integer type", validator.isValid(value, innerType, null)); + MapValidator validator = new MapValidator(); + Gson gson = new Gson(); + // Happy Scenarios + // 1 - Map<String,Integer> check OK + Map<String, Integer> map_1 = new HashMap<>(); + map_1.put("key1", 2); + map_1.put("key2", 3); + String value = gson.toJson(map_1); + String innerType = "integer"; + assertTrue("Test Map validation with inner integer type", validator.isValid(value, innerType, null)); - // 2 - Map<String,Boolean> check OK - Map<String, Boolean> map_2 = new HashMap<>(); - map_2.put("key1", true); - map_2.put("key2", false); - value = gson.toJson(map_2); - innerType = "boolean"; - assertTrue("Test Map validation with inner boolean type", validator.isValid(value, innerType, null)); + // 2 - Map<String,Boolean> check OK + Map<String, Boolean> map_2 = new HashMap<>(); + map_2.put("key1", true); + map_2.put("key2", false); + value = gson.toJson(map_2); + innerType = "boolean"; + assertTrue("Test Map validation with inner boolean type", validator.isValid(value, innerType, null)); - // 3 - give integer with quotes - innerType = "integer"; - value = "{\"key1\":\"5\",\"key2\":\"7\"}"; - assertTrue("Test Map validation with inner integer type, but qouted values", - validator.isValid(value, innerType, null)); + // 3 - give integer with quotes + innerType = "integer"; + value = "{\"key1\":\"5\",\"key2\":\"7\"}"; + assertTrue("Test Map validation with inner integer type, but qouted values", + validator.isValid(value, innerType, null)); - // 4 - empty default value - innerType = "float"; - value = ""; - assertTrue("Test Map validation with inner float type", validator.isValid(value, innerType, null)); + // 4 - empty default value + innerType = "float"; + value = ""; + assertTrue("Test Map validation with inner float type", validator.isValid(value, innerType, null)); - // Faulty Scenarios - // 5 - mismatch in data type - value = gson.toJson(map_1); - innerType = "boolean"; - assertFalse("Test Map faulty validation with inner boolean type", validator.isValid(value, innerType, null)); - // 6 - mismatch in data type - value = gson.toJson(map_2); - innerType = "integer"; - assertFalse("Test Map faulty validation with inner integer type", validator.isValid(value, innerType, null)); - - } - - @Test - public void testMapConverter() { - - MapConverter converter = new MapConverter(); - Gson gson = new Gson(); - // Happy Scenarios - Map<String, String> map_1 = new HashMap<>(); - Map<String, String> resMap_1 = new HashMap<>(); - - // 1 - check Spaces eliminated + html square brackets eliminated - map_1.put("key1", "<b>test</b>"); - map_1.put("key2", " test"); - resMap_1.put("key1", "test"); - resMap_1.put("key2", " test"); - String value = gson.toJson(map_1); - String expectedVal = gson.toJson(resMap_1); - String innerType = "string"; - assertEquals("Test Map validation with inner string type", expectedVal, - converter.convert(value, innerType, null)); - - // 2 - float converter - innerType = "float"; - value = "{\"key1\":0.4545,\"key2\":0.2f}"; - expectedVal = "{\"key1\":0.4545,\"key2\":0.2}"; - assertEquals("Test Map validation with inner float type", expectedVal, - converter.convert(value, innerType, null)); - - // 3 - check default empty value converter - innerType = "float"; - value = ""; - expectedVal = ""; - assertEquals("Test Map validation with inner float type", expectedVal, - converter.convert(value, innerType, null)); - - // 4 - invalid json - // 3 - check default empty value converter - innerType = "float"; - value = "{1345234556@#("; - expectedVal = null; - assertEquals("Test Map validation with inner float type", expectedVal, - converter.convert(value, innerType, null)); - - } - - @Test - public void testCompositeDataTypeWithMapComposite() { - - DataTypeDefinition fileDataTypeDefinition = buildFileDataType(); - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); - - MyFile myFile = new MyFile(); - myFile.setAge(88); - Map<String, City> attributes = new HashMap<>(); - attributes.put("key1", new City("address1<br>", 11)); - attributes.put("key2", new City("address2<br>", 22)); - myFile.setAttributes(attributes); - - String str = gson.toJson(myFile); - log.debug(str); - - ImmutablePair<JsonElement, Boolean> convert = dataTypeValidator.validateAndUpdate(str, fileDataTypeDefinition, - allDataTypes); + // Faulty Scenarios + // 5 - mismatch in data type + value = gson.toJson(map_1); + innerType = "boolean"; + assertFalse("Test Map faulty validation with inner boolean type", validator.isValid(value, innerType, null)); + // 6 - mismatch in data type + value = gson.toJson(map_2); + innerType = "integer"; + assertFalse("Test Map faulty validation with inner integer type", validator.isValid(value, innerType, null)); + + } + + @Test + public void testMapConverter() { + + MapConverter converter = new MapConverter(); + Gson gson = new Gson(); + // Happy Scenarios + Map<String, String> map_1 = new HashMap<>(); + Map<String, String> resMap_1 = new HashMap<>(); + + // 1 - check Spaces eliminated + html square brackets eliminated + map_1.put("key1", "<b>test</b>"); + map_1.put("key2", " test"); + resMap_1.put("key1", "test"); + resMap_1.put("key2", " test"); + String value = gson.toJson(map_1); + String expectedVal = gson.toJson(resMap_1); + String innerType = "string"; + assertEquals("Test Map validation with inner string type", expectedVal, + converter.convert(value, innerType, null)); + + // 2 - float converter + innerType = "float"; + value = "{\"key1\":0.4545,\"key2\":0.2f}"; + expectedVal = "{\"key1\":0.4545,\"key2\":0.2}"; + assertEquals("Test Map validation with inner float type", expectedVal, + converter.convert(value, innerType, null)); + + // 3 - check default empty value converter + innerType = "float"; + value = ""; + expectedVal = ""; + assertEquals("Test Map validation with inner float type", expectedVal, + converter.convert(value, innerType, null)); + + // 4 - invalid json + // 3 - check default empty value converter + innerType = "float"; + value = "{1345234556@#("; + expectedVal = null; + assertEquals("Test Map validation with inner float type", expectedVal, + converter.convert(value, innerType, null)); + + } + + @Test + public void testCompositeDataTypeWithMapComposite() { + + DataTypeDefinition fileDataTypeDefinition = buildFileDataType(); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); + + MyFile myFile = new MyFile(); + myFile.setAge(88); + Map<String, City> attributes = new HashMap<>(); + attributes.put("key1", new City("address1<br>", 11)); + attributes.put("key2", new City("address2<br>", 22)); + myFile.setAttributes(attributes); + + String str = gson.toJson(myFile); + log.debug(str); + + ImmutablePair<JsonElement, Boolean> convert = dataTypeValidator.validateAndUpdate(str, fileDataTypeDefinition, + allDataTypes); - assertTrue("check map converter succeed", convert.right); + assertTrue("check map converter succeed", convert.right); - JsonElement convertedValue = convert.left; + JsonElement convertedValue = convert.left; - log.debug("{}", convertedValue); - MyFile fromJson = gson.fromJson(convertedValue, MyFile.class); + log.debug("{}", convertedValue); + MyFile fromJson = gson.fromJson(convertedValue, MyFile.class); - assertEquals("check age", 88, fromJson.getAge().intValue()); - assertEquals("check address 1", "address1", fromJson.getAttributes().get("key1").getAddress()); - assertEquals("check address 2", "address2", fromJson.getAttributes().get("key2").getAddress()); + assertEquals("check age", 88, fromJson.getAge().intValue()); + assertEquals("check address 1", "address1", fromJson.getAttributes().get("key1").getAddress()); + assertEquals("check address 2", "address2", fromJson.getAttributes().get("key2").getAddress()); - } + } - @Test - public void testMapConverterWithComplexInnerType() { + @Test + public void testMapConverterWithComplexInnerType() { - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition credentialDataTypeDefinition = buildCredentialDataType(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); - allDataTypes.put("credential", credentialDataTypeDefinition); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition credentialDataTypeDefinition = buildCredentialDataType(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); + allDataTypes.put("credential", credentialDataTypeDefinition); - Gson gson = new Gson(); - // Happy Scenarios - Map<String, Object> map_1 = new HashMap<>(); + Gson gson = new Gson(); + // Happy Scenarios + Map<String, Object> map_1 = new HashMap<>(); - // 1 - check Spaces eliminated + html square brackets eliminated + // 1 - check Spaces eliminated + html square brackets eliminated - String[] strArr = { "aaa", "bbb", "c<br>dcc" }; - List<String> strList = Arrays.asList(strArr); - Credential credential1 = new Credential("protocol;:,.\"<br>>", 5, "token_type", "token", null, "user", true, - strList); - City mycity1 = new City("myadd<br><<br>", 55); - credential1.setMycity(mycity1); + String[] strArr = { "aaa", "bbb", "c<br>dcc" }; + List<String> strList = Arrays.asList(strArr); + Credential credential1 = new Credential("protocol;:,.\"<br>>", 5, "token_type", "token", null, "user", true, + strList); + City mycity1 = new City("myadd<br><<br>", 55); + credential1.setMycity(mycity1); - Credential credential2 = new Credential("protocol;:,.\"<br>>", 5, "token_type", "token", null, "user", true, - strList); - City mycity2 = new City("myadd<br><<br>", 66); - credential2.setMycity(mycity2); + Credential credential2 = new Credential("protocol;:,.\"<br>>", 5, "token_type", "token", null, "user", true, + strList); + City mycity2 = new City("myadd<br><<br>", 66); + credential2.setMycity(mycity2); - map_1.put("key1", credential1); - map_1.put("key2", credential2); + map_1.put("key1", credential1); + map_1.put("key2", credential2); - String str = gson.toJson(map_1); - log.debug(str); + String str = gson.toJson(map_1); + log.debug(str); - MapConverter mapConverter = new MapConverter(); - Either<String, Boolean> convert = mapConverter.convertWithErrorResult(str, "credential", allDataTypes); + MapConverter mapConverter = new MapConverter(); + Either<String, Boolean> convert = mapConverter.convertWithErrorResult(str, "credential", allDataTypes); - assertTrue("check map converter succeed", convert.isLeft()); + assertTrue("check map converter succeed", convert.isLeft()); - String convertedValue = convert.left().value(); + String convertedValue = convert.left().value(); - Type type = new TypeToken<Map<String, Credential>>() { - }.getType(); + Type type = new TypeToken<Map<String, Credential>>() { + }.getType(); - Map<String, Credential> fromJson = gson.fromJson(convertedValue, type); + Map<String, Credential> fromJson = gson.fromJson(convertedValue, type); - Credential actualCredential1 = fromJson.get("key1"); - assertEquals("check sum", 5, actualCredential1.getSum().intValue()); - assertEquals("check protocol", "protocol;:,.\">", actualCredential1.getProtocol()); - String[] convertedStrArr = { "aaa", "bbb", "cdcc" }; - List<String> convertedStrList = Arrays.asList(convertedStrArr); - assertEquals("check list", convertedStrList, actualCredential1.getMylist()); + Credential actualCredential1 = fromJson.get("key1"); + assertEquals("check sum", 5, actualCredential1.getSum().intValue()); + assertEquals("check protocol", "protocol;:,.\">", actualCredential1.getProtocol()); + String[] convertedStrArr = { "aaa", "bbb", "cdcc" }; + List<String> convertedStrList = Arrays.asList(convertedStrArr); + assertEquals("check list", convertedStrList, actualCredential1.getMylist()); - assertEquals("check city address", "myadd<", actualCredential1.getMycity().getAddress()); - assertEquals("check city address", 55, actualCredential1.getMycity().getAge().intValue()); + assertEquals("check city address", "myadd<", actualCredential1.getMycity().getAddress()); + assertEquals("check city address", 55, actualCredential1.getMycity().getAge().intValue()); - Credential actualCredential2 = fromJson.get("key2"); - assertEquals("check city address", 66, actualCredential2.getMycity().getAge().intValue()); + Credential actualCredential2 = fromJson.get("key2"); + assertEquals("check city address", 66, actualCredential2.getMycity().getAge().intValue()); - } + } - @Test - public void testListConverterWithComplexInnerType() { + @Test + public void testListConverterWithComplexInnerType() { - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition credentialDataTypeDefinition = buildCredentialDataType(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); - allDataTypes.put("credential", credentialDataTypeDefinition); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition credentialDataTypeDefinition = buildCredentialDataType(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); + allDataTypes.put("credential", credentialDataTypeDefinition); - Gson gson = new Gson(); + Gson gson = new Gson(); - List<Object> list = buildListOf2CredentialObjects(); + List<Object> list = buildListOf2CredentialObjects(); - String str = gson.toJson(list); - log.debug(str); + String str = gson.toJson(list); + log.debug(str); - ListConverter listConverter = new ListConverter(); + ListConverter listConverter = new ListConverter(); - Either<String, Boolean> convert = listConverter.convertWithErrorResult(str, "credential", allDataTypes); + Either<String, Boolean> convert = listConverter.convertWithErrorResult(str, "credential", allDataTypes); - assertTrue("check map converter succeed", convert.isLeft()); + assertTrue("check map converter succeed", convert.isLeft()); - String convertedValue = convert.left().value(); + String convertedValue = convert.left().value(); - validateListOfCredential(gson, convertedValue); + validateListOfCredential(gson, convertedValue); - list.add(null); + list.add(null); - str = gson.toJson(list); - log.debug(str); + str = gson.toJson(list); + log.debug(str); - convert = listConverter.convertWithErrorResult(str, "credential", allDataTypes); + convert = listConverter.convertWithErrorResult(str, "credential", allDataTypes); - assertTrue("check map converter succeed", convert.isLeft()); + assertTrue("check map converter succeed", convert.isLeft()); - validateListOfCredential(gson, convertedValue); - } + validateListOfCredential(gson, convertedValue); + } - @Test - public void testListValidatorWithComplexInnerType() { + @Test + public void testListValidatorWithComplexInnerType() { - Map<String, DataTypeDefinition> allDataTypes = new HashMap<String, DataTypeDefinition>(); - DataTypeDefinition credentialDataTypeDefinition = buildCredentialDataType(); - DataTypeDefinition cityDataType = buildCityDataType(); - allDataTypes.put("city", cityDataType); - allDataTypes.put("credential", credentialDataTypeDefinition); + Map<String, DataTypeDefinition> allDataTypes = new HashMap<>(); + DataTypeDefinition credentialDataTypeDefinition = buildCredentialDataType(); + DataTypeDefinition cityDataType = buildCityDataType(); + allDataTypes.put("city", cityDataType); + allDataTypes.put("credential", credentialDataTypeDefinition); - Gson gson = new Gson(); - // Happy Scenarios - List<Object> list = buildListOf2CredentialObjects(); + Gson gson = new Gson(); + // Happy Scenarios + List<Object> list = buildListOf2CredentialObjects(); - String str = gson.toJson(list); - log.debug(str); + String str = gson.toJson(list); + log.debug(str); - ListValidator listValidator = new ListValidator(); + ListValidator listValidator = new ListValidator(); - boolean isValid = listValidator.isValid(str, "credential", allDataTypes); + boolean isValid = listValidator.isValid(str, "credential", allDataTypes); - assertTrue("check valid value", isValid); + assertTrue("check valid value", isValid); - String badStr = str.replace("protocol", "protocol1"); + String badStr = str.replace("protocol", "protocol1"); - isValid = listValidator.isValid(badStr, "credential", allDataTypes); + isValid = listValidator.isValid(badStr, "credential", allDataTypes); - assertFalse("check valid value", isValid); + assertFalse("check valid value", isValid); - badStr = str.replace("55", "\"aa\""); + badStr = str.replace("55", "\"aa\""); - isValid = listValidator.isValid(badStr, "credential", allDataTypes); + isValid = listValidator.isValid(badStr, "credential", allDataTypes); - assertFalse("check valid value", isValid); + assertFalse("check valid value", isValid); - } + } - private List<Object> buildListOf2CredentialObjects() { - List<Object> list = new ArrayList<>(); + private List<Object> buildListOf2CredentialObjects() { + List<Object> list = new ArrayList<>(); - String[] strArr = { "aaa", "bbb", "c<br>dcc" }; - List<String> strList = Arrays.asList(strArr); - Credential credential1 = new Credential("protocol.,\":;<br>>", 5, "token_type", "token", null, "user", true, - strList); - City mycity1 = new City("myadd<br><<br>", 55); - credential1.setMycity(mycity1); - - Credential credential2 = new Credential("protocol.,\":;<br>>", 5, "token_type", "token", null, "user", true, - strList); - City mycity2 = new City("myadd<br><<br>", 66); - credential2.setMycity(mycity2); + String[] strArr = { "aaa", "bbb", "c<br>dcc" }; + List<String> strList = Arrays.asList(strArr); + Credential credential1 = new Credential("protocol.,\":;<br>>", 5, "token_type", "token", null, "user", true, + strList); + City mycity1 = new City("myadd<br><<br>", 55); + credential1.setMycity(mycity1); + + Credential credential2 = new Credential("protocol.,\":;<br>>", 5, "token_type", "token", null, "user", true, + strList); + City mycity2 = new City("myadd<br><<br>", 66); + credential2.setMycity(mycity2); - list.add(credential1); - list.add(credential2); - return list; - } + list.add(credential1); + list.add(credential2); + return list; + } - private void validateListOfCredential(Gson gson, String convertedValue) { - - log.debug(convertedValue); - Type type = new TypeToken<List<Credential>>() { - }.getType(); - - List<Credential> fromJson = gson.fromJson(convertedValue, type); - - assertEquals("check list size", 2, fromJson.size()); - - // Credential actualCredential1 = gson.fromJson(list.get(0).toString(), - // Credential.class); - Credential actualCredential1 = fromJson.get(0); - assertEquals("check sum", 5, actualCredential1.getSum().intValue()); - assertEquals("check protocol", "protocol.,\":;>", actualCredential1.getProtocol()); - String[] convertedStrArr = { "aaa", "bbb", "cdcc" }; - List<String> convertedStrList = Arrays.asList(convertedStrArr); - assertEquals("check list", convertedStrList, actualCredential1.getMylist()); - - assertEquals("check city address", "myadd<", actualCredential1.getMycity().getAddress()); - assertEquals("check city address", 55, actualCredential1.getMycity().getAge().intValue()); - - // Credential actualCredential2 = gson.fromJson(list.get(1).toString(), - // Credential.class); - Credential actualCredential2 = fromJson.get(1); - assertEquals("check city address", 66, actualCredential2.getMycity().getAge().intValue()); - } - - private DataTypeDefinition buildCredentialDataType() { - DataTypeDefinition dataTypeDefinition = new DataTypeDefinition(); - dataTypeDefinition.setName("datatype.1"); - List<PropertyDefinition> properties = new ArrayList<>(); - PropertyDefinition propertyDefinition1 = new PropertyDefinition(); - propertyDefinition1.setName("sum"); - propertyDefinition1.setType(ToscaPropertyType.INTEGER.getType()); - PropertyDefinition propertyDefinition2 = new PropertyDefinition(); - propertyDefinition2.setName("protocol"); - propertyDefinition2.setType(ToscaPropertyType.STRING.getType()); - PropertyDefinition propertyDefinition3 = new PropertyDefinition(); - propertyDefinition3.setName("token_type"); - propertyDefinition3.setType(ToscaPropertyType.STRING.getType()); - PropertyDefinition propertyDefinition4 = new PropertyDefinition(); - propertyDefinition4.setName("token"); - propertyDefinition4.setType(ToscaPropertyType.STRING.getType()); - PropertyDefinition propertyDefinition5 = new PropertyDefinition(); - propertyDefinition5.setName("keys"); - propertyDefinition5.setType(ToscaPropertyType.MAP.getType()); - PropertyDefinition propertyDefinition6 = new PropertyDefinition(); - propertyDefinition6.setName("mylist"); - propertyDefinition6.setType(ToscaPropertyType.LIST.getType()); - SchemaDefinition entrySchema = new SchemaDefinition(); - PropertyDataDefinition property = new PropertyDataDefinition(); - property.setType("string"); - entrySchema.setProperty(property); - propertyDefinition6.setSchema(entrySchema); - PropertyDefinition propertyDefinition7 = new PropertyDefinition(); - propertyDefinition7.setName("user"); - propertyDefinition7.setType(ToscaPropertyType.STRING.getType()); - PropertyDefinition propertyDefinition8 = new PropertyDefinition(); - propertyDefinition8.setName("isMandatory"); - propertyDefinition8.setType(ToscaPropertyType.BOOLEAN.getType()); - - PropertyDefinition propertyDefinition9 = new PropertyDefinition(); - propertyDefinition9.setName("mycity"); - propertyDefinition9.setType("city"); - - properties.add(propertyDefinition1); - properties.add(propertyDefinition2); - properties.add(propertyDefinition3); - properties.add(propertyDefinition4); - properties.add(propertyDefinition5); - properties.add(propertyDefinition6); - properties.add(propertyDefinition7); - properties.add(propertyDefinition8); - properties.add(propertyDefinition9); - - dataTypeDefinition.setProperties(properties); - return dataTypeDefinition; - } - - private static DataTypeDefinition buildCityDataType() { - DataTypeDefinition cityDataType = new DataTypeDefinition(); - cityDataType.setName("city"); - List<PropertyDefinition> cityProperties = new ArrayList<>(); - PropertyDefinition cityPropertyDefinition1 = new PropertyDefinition(); - cityPropertyDefinition1.setName("age"); - cityPropertyDefinition1.setType(ToscaPropertyType.INTEGER.getType()); - PropertyDefinition cityPropertyDefinition2 = new PropertyDefinition(); - cityPropertyDefinition2.setName("address"); - cityPropertyDefinition2.setType(ToscaPropertyType.STRING.getType()); - - cityProperties.add(cityPropertyDefinition1); - cityProperties.add(cityPropertyDefinition2); - - cityDataType.setProperties(cityProperties); - return cityDataType; - } - - private static DataTypeDefinition buildPersonDataType() { - DataTypeDefinition personDataType = new DataTypeDefinition(); - personDataType.setName("person"); - List<PropertyDefinition> personProperties = new ArrayList<>(); - PropertyDefinition personPropertyDefinition1 = new PropertyDefinition(); - personPropertyDefinition1.setName("age"); - personPropertyDefinition1.setType("myinteger"); - PropertyDefinition personPropertyDefinition2 = new PropertyDefinition(); - personPropertyDefinition2.setName("address"); - personPropertyDefinition2.setType(ToscaPropertyType.STRING.getType()); - - personProperties.add(personPropertyDefinition1); - personProperties.add(personPropertyDefinition2); - - personDataType.setProperties(personProperties); - return personDataType; - } - - private static DataTypeDefinition buildFileDataType() { - DataTypeDefinition fileDataType = new DataTypeDefinition(); - fileDataType.setName("file"); - List<PropertyDefinition> fileProperties = new ArrayList<>(); - PropertyDefinition filePropertyDefinition1 = new PropertyDefinition(); - filePropertyDefinition1.setName("age"); - filePropertyDefinition1.setType("integer"); - - PropertyDefinition filePropertyDefinition2 = new PropertyDefinition(); - filePropertyDefinition2.setName("attributes"); - filePropertyDefinition2.setType(ToscaPropertyType.MAP.getType()); - - fileProperties.add(filePropertyDefinition1); - fileProperties.add(filePropertyDefinition2); - - SchemaDefinition entrySchema = new SchemaDefinition(); - PropertyDataDefinition property = new PropertyDataDefinition(); - property.setType("city"); - entrySchema.setProperty(property); - filePropertyDefinition2.setSchema(entrySchema); - - fileDataType.setProperties(fileProperties); - return fileDataType; - } - - private static DataTypeDefinition getPrimitiveDataType(String type) { - - DataTypeDefinition derivedFrom = new DataTypeDefinition(); - derivedFrom.setName(type); - - return derivedFrom; - - } - - private static DataTypeDefinition buildDerivedFromIntegerType() { + private void validateListOfCredential(Gson gson, String convertedValue) { + + log.debug(convertedValue); + Type type = new TypeToken<List<Credential>>() { + }.getType(); + + List<Credential> fromJson = gson.fromJson(convertedValue, type); + + assertEquals("check list size", 2, fromJson.size()); + + // Credential actualCredential1 = gson.fromJson(list.get(0).toString(), + // Credential.class); + Credential actualCredential1 = fromJson.get(0); + assertEquals("check sum", 5, actualCredential1.getSum().intValue()); + assertEquals("check protocol", "protocol.,\":;>", actualCredential1.getProtocol()); + String[] convertedStrArr = { "aaa", "bbb", "cdcc" }; + List<String> convertedStrList = Arrays.asList(convertedStrArr); + assertEquals("check list", convertedStrList, actualCredential1.getMylist()); + + assertEquals("check city address", "myadd<", actualCredential1.getMycity().getAddress()); + assertEquals("check city address", 55, actualCredential1.getMycity().getAge().intValue()); + + // Credential actualCredential2 = gson.fromJson(list.get(1).toString(), + // Credential.class); + Credential actualCredential2 = fromJson.get(1); + assertEquals("check city address", 66, actualCredential2.getMycity().getAge().intValue()); + } + + private DataTypeDefinition buildCredentialDataType() { + DataTypeDefinition dataTypeDefinition = new DataTypeDefinition(); + dataTypeDefinition.setName("datatype.1"); + List<PropertyDefinition> properties = new ArrayList<>(); + PropertyDefinition propertyDefinition1 = new PropertyDefinition(); + propertyDefinition1.setName("sum"); + propertyDefinition1.setType(ToscaPropertyType.INTEGER.getType()); + PropertyDefinition propertyDefinition2 = new PropertyDefinition(); + propertyDefinition2.setName("protocol"); + propertyDefinition2.setType(ToscaPropertyType.STRING.getType()); + PropertyDefinition propertyDefinition3 = new PropertyDefinition(); + propertyDefinition3.setName("token_type"); + propertyDefinition3.setType(ToscaPropertyType.STRING.getType()); + PropertyDefinition propertyDefinition4 = new PropertyDefinition(); + propertyDefinition4.setName("token"); + propertyDefinition4.setType(ToscaPropertyType.STRING.getType()); + PropertyDefinition propertyDefinition5 = new PropertyDefinition(); + propertyDefinition5.setName("keys"); + propertyDefinition5.setType(ToscaPropertyType.MAP.getType()); + PropertyDefinition propertyDefinition6 = new PropertyDefinition(); + propertyDefinition6.setName("mylist"); + propertyDefinition6.setType(ToscaPropertyType.LIST.getType()); + SchemaDefinition entrySchema = new SchemaDefinition(); + PropertyDataDefinition property = new PropertyDataDefinition(); + property.setType("string"); + entrySchema.setProperty(property); + propertyDefinition6.setSchema(entrySchema); + PropertyDefinition propertyDefinition7 = new PropertyDefinition(); + propertyDefinition7.setName("user"); + propertyDefinition7.setType(ToscaPropertyType.STRING.getType()); + PropertyDefinition propertyDefinition8 = new PropertyDefinition(); + propertyDefinition8.setName("isMandatory"); + propertyDefinition8.setType(ToscaPropertyType.BOOLEAN.getType()); + + PropertyDefinition propertyDefinition9 = new PropertyDefinition(); + propertyDefinition9.setName("mycity"); + propertyDefinition9.setType("city"); + + properties.add(propertyDefinition1); + properties.add(propertyDefinition2); + properties.add(propertyDefinition3); + properties.add(propertyDefinition4); + properties.add(propertyDefinition5); + properties.add(propertyDefinition6); + properties.add(propertyDefinition7); + properties.add(propertyDefinition8); + properties.add(propertyDefinition9); + + dataTypeDefinition.setProperties(properties); + return dataTypeDefinition; + } + + private static DataTypeDefinition buildCityDataType() { + DataTypeDefinition cityDataType = new DataTypeDefinition(); + cityDataType.setName("city"); + List<PropertyDefinition> cityProperties = new ArrayList<>(); + PropertyDefinition cityPropertyDefinition1 = new PropertyDefinition(); + cityPropertyDefinition1.setName("age"); + cityPropertyDefinition1.setType(ToscaPropertyType.INTEGER.getType()); + PropertyDefinition cityPropertyDefinition2 = new PropertyDefinition(); + cityPropertyDefinition2.setName("address"); + cityPropertyDefinition2.setType(ToscaPropertyType.STRING.getType()); + + cityProperties.add(cityPropertyDefinition1); + cityProperties.add(cityPropertyDefinition2); + + cityDataType.setProperties(cityProperties); + return cityDataType; + } + + private static DataTypeDefinition buildPersonDataType() { + DataTypeDefinition personDataType = new DataTypeDefinition(); + personDataType.setName("person"); + List<PropertyDefinition> personProperties = new ArrayList<>(); + PropertyDefinition personPropertyDefinition1 = new PropertyDefinition(); + personPropertyDefinition1.setName("age"); + personPropertyDefinition1.setType("myinteger"); + PropertyDefinition personPropertyDefinition2 = new PropertyDefinition(); + personPropertyDefinition2.setName("address"); + personPropertyDefinition2.setType(ToscaPropertyType.STRING.getType()); + + personProperties.add(personPropertyDefinition1); + personProperties.add(personPropertyDefinition2); + + personDataType.setProperties(personProperties); + return personDataType; + } + + private static DataTypeDefinition buildFileDataType() { + DataTypeDefinition fileDataType = new DataTypeDefinition(); + fileDataType.setName("file"); + List<PropertyDefinition> fileProperties = new ArrayList<>(); + PropertyDefinition filePropertyDefinition1 = new PropertyDefinition(); + filePropertyDefinition1.setName("age"); + filePropertyDefinition1.setType("integer"); + + PropertyDefinition filePropertyDefinition2 = new PropertyDefinition(); + filePropertyDefinition2.setName("attributes"); + filePropertyDefinition2.setType(ToscaPropertyType.MAP.getType()); + + fileProperties.add(filePropertyDefinition1); + fileProperties.add(filePropertyDefinition2); + + SchemaDefinition entrySchema = new SchemaDefinition(); + PropertyDataDefinition property = new PropertyDataDefinition(); + property.setType("city"); + entrySchema.setProperty(property); + filePropertyDefinition2.setSchema(entrySchema); + + fileDataType.setProperties(fileProperties); + return fileDataType; + } + + private static DataTypeDefinition getPrimitiveDataType(String type) { + + DataTypeDefinition derivedFrom = new DataTypeDefinition(); + derivedFrom.setName(type); + + return derivedFrom; + + } + + private static DataTypeDefinition buildDerivedFromIntegerType() { - DataTypeDefinition derivedFrom = getPrimitiveDataType("integer"); + DataTypeDefinition derivedFrom = getPrimitiveDataType("integer"); - DataTypeDefinition myIntegerDataType = new DataTypeDefinition(); - myIntegerDataType.setDerivedFrom(derivedFrom); + DataTypeDefinition myIntegerDataType = new DataTypeDefinition(); + myIntegerDataType.setDerivedFrom(derivedFrom); - myIntegerDataType.setName("myinteger"); + myIntegerDataType.setName("myinteger"); - return myIntegerDataType; - } + return myIntegerDataType; + } - public static class MyFile { + public static class MyFile { - Integer age; + Integer age; - Map<String, City> attributes; - - public Integer getAge() { - return age; - } - - public void setAge(Integer age) { - this.age = age; - } + Map<String, City> attributes; + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } - public Map<String, City> getAttributes() { - return attributes; - } + public Map<String, City> getAttributes() { + return attributes; + } - public void setAttributes(Map<String, City> attributes) { - this.attributes = attributes; - } + public void setAttributes(Map<String, City> attributes) { + this.attributes = attributes; + } - } + } - public static class City { + public static class City { - String address; - Integer age; + String address; + Integer age; - public City(String address, Integer age) { - super(); - this.address = address; - this.age = age; - } + public City(String address, Integer age) { + super(); + this.address = address; + this.age = age; + } - public String getAddress() { - return address; - } + public String getAddress() { + return address; + } - public void setAddress(String address) { - this.address = address; - } + public void setAddress(String address) { + this.address = address; + } - public Integer getAge() { - return age; - } + public Integer getAge() { + return age; + } - public void setAge(Integer age) { - this.age = age; - } + public void setAge(Integer age) { + this.age = age; + } - } + } - public static class Person { + public static class Person { - String address; - Integer age; + String address; + Integer age; - public Person(String address, Integer age) { - super(); - this.address = address; - this.age = age; - } + public Person(String address, Integer age) { + super(); + this.address = address; + this.age = age; + } - public String getAddress() { - return address; - } + public String getAddress() { + return address; + } - public void setAddress(String address) { - this.address = address; - } + public void setAddress(String address) { + this.address = address; + } - public Integer getAge() { - return age; - } + public Integer getAge() { + return age; + } - public void setAge(Integer age) { - this.age = age; - } + public void setAge(Integer age) { + this.age = age; + } - @Override - public String toString() { - return "Person [address=" + address + ", age=" + age + "]"; - } + @Override + public String toString() { + return "Person [address=" + address + ", age=" + age + "]"; + } - } + } - public static class Credential { + public static class Credential { - String protocol; - Integer sum; - String token_type; - String token; - Map<String, String> keys; - String user; - Boolean isMandatory; - List<String> mylist; - City mycity; + String protocol; + Integer sum; + String token_type; + String token; + Map<String, String> keys; + String user; + Boolean isMandatory; + List<String> mylist; + City mycity; - public Credential(String protocol, Integer sum, String token_type, String token, Map<String, String> keys, - String user, Boolean isMandatory, List<String> mylist) { - super(); - this.protocol = protocol; - this.sum = sum; - this.token_type = token_type; - this.token = token; - this.keys = keys; - this.user = user; - this.isMandatory = isMandatory; - this.mylist = mylist; - } - - public String getProtocol() { - return protocol; - } - - public void setProtocol(String protocol) { - this.protocol = protocol; - } - - public String getToken_type() { - return token_type; - } - - public void setToken_type(String token_type) { - this.token_type = token_type; - } - - public String getToken() { - return token; - } - - public void setToken(String token) { - this.token = token; - } - - public Map<String, String> getKeys() { - return keys; - } - - public void setKeys(Map<String, String> keys) { - this.keys = keys; - } - - public String getUser() { - return user; - } - - public void setUser(String user) { - this.user = user; - } - - public Boolean getIsMandatory() { - return isMandatory; - } - - public void setIsMandatory(Boolean isMandatory) { - this.isMandatory = isMandatory; - } - - public Integer getSum() { - return sum; - } - - public void setSum(Integer sum) { - this.sum = sum; - } - - public List<String> getMylist() { - return mylist; - } - - public void setMylist(List<String> mylist) { - this.mylist = mylist; - } - - public City getMycity() { - return mycity; - } - - public void setMycity(City mycity) { - this.mycity = mycity; - } - - @Override - public String toString() { - return "Credential [protocol=" + protocol + ", token_type=" + token_type + ", token=" + token + ", keys=" - + keys + ", user=" + user + ", isMandatory=" + isMandatory + "]"; - } - - } + public Credential(String protocol, Integer sum, String token_type, String token, Map<String, String> keys, + String user, Boolean isMandatory, List<String> mylist) { + super(); + this.protocol = protocol; + this.sum = sum; + this.token_type = token_type; + this.token = token; + this.keys = keys; + this.user = user; + this.isMandatory = isMandatory; + this.mylist = mylist; + } + + public String getProtocol() { + return protocol; + } + + public void setProtocol(String protocol) { + this.protocol = protocol; + } + + public String getToken_type() { + return token_type; + } + + public void setToken_type(String token_type) { + this.token_type = token_type; + } + + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } + + public Map<String, String> getKeys() { + return keys; + } + + public void setKeys(Map<String, String> keys) { + this.keys = keys; + } + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + public Boolean getIsMandatory() { + return isMandatory; + } + + public void setIsMandatory(Boolean isMandatory) { + this.isMandatory = isMandatory; + } + + public Integer getSum() { + return sum; + } + + public void setSum(Integer sum) { + this.sum = sum; + } + + public List<String> getMylist() { + return mylist; + } + + public void setMylist(List<String> mylist) { + this.mylist = mylist; + } + + public City getMycity() { + return mycity; + } + + public void setMycity(City mycity) { + this.mycity = mycity; + } + + @Override + public String toString() { + return "Credential [protocol=" + protocol + ", token_type=" + token_type + ", token=" + token + ", keys=" + + keys + ", user=" + user + ", isMandatory=" + isMandatory + "]"; + } + + } } |