1 package org.openecomp.core.utilities.json;
3 import org.openecomp.core.utilities.file.FileUtils;
4 import org.json.JSONException;
5 import org.json.JSONObject;
6 import org.testng.Assert;
7 import org.testng.annotations.Test;
9 public class JsonSchemaDataGeneratorTest {
11 public static final String SCHEMA_WITHOUT_DEFAULTS = new String(
12 FileUtils.toByteArray(FileUtils.getFileInputStream("jsonUtil/json_schema/aSchema.json")));
13 public static final String SCHEMA_WITH_REFS_AND_DEFAULTS = new String(FileUtils.toByteArray(
14 FileUtils.getFileInputStream("jsonUtil/json_schema/schemaWithRefsAndDefaults.json")));
15 public static final String SCHEMA_WITH_INVALID_DEFAULT = new String(FileUtils.toByteArray(
16 FileUtils.getFileInputStream("jsonUtil/json_schema/schemaWithInvalidDefault.json")));
17 public static final String SCHEMA_NIC = new String(
18 FileUtils.toByteArray(FileUtils.getFileInputStream("jsonUtil/json_schema/nicSchema.json")));
21 public void testSchemaWithoutDefaults() {
22 testGenerate(SCHEMA_WITHOUT_DEFAULTS, new JSONObject());
26 public void testSchemaWithRefsAndDefaults() {
27 testGenerate(SCHEMA_WITH_REFS_AND_DEFAULTS,
29 "{\"cityOfBirth\":\"Tel Aviv\",\"address\":{\"city\":\"Tel Aviv\"},\"phoneNumber\":[{\"code\":1,\"location\":\"Home\"},{\"code\":2,\"location\":\"Office\"}]}"));
32 @Test(expectedExceptions = JSONException.class)
33 public void testSchemaWithInvalidDefault() {
34 testGenerate(SCHEMA_WITH_INVALID_DEFAULT, null);
38 public void testNicQuestionnaireSchema() {
39 testGenerate(SCHEMA_NIC,
40 new JSONObject("{\"ipConfiguration\":{\"ipv4Required\":true,\"ipv6Required\":false}}"));
43 private void testGenerate(String schema, JSONObject expectedData) {
44 JsonSchemaDataGenerator jsonSchemaDataGenerator = new JsonSchemaDataGenerator(schema);
45 String data = jsonSchemaDataGenerator.generateData();
46 System.out.println(data);
47 JSONObject dataJson = new JSONObject(data);
48 Assert.assertTrue(expectedData.similar(dataJson));