diff options
Diffstat (limited to 'src/test/java/org/onap/crud/util')
-rw-r--r-- | src/test/java/org/onap/crud/util/CrudServiceUtilTest.java | 54 | ||||
-rw-r--r-- | src/test/java/org/onap/crud/util/TestUtil.java | 58 |
2 files changed, 112 insertions, 0 deletions
diff --git a/src/test/java/org/onap/crud/util/CrudServiceUtilTest.java b/src/test/java/org/onap/crud/util/CrudServiceUtilTest.java new file mode 100644 index 0000000..872586e --- /dev/null +++ b/src/test/java/org/onap/crud/util/CrudServiceUtilTest.java @@ -0,0 +1,54 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright © 2017-2018 Amdocs + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.crud.util; + +import org.junit.Assert; +import org.junit.Test; +import org.onap.crud.service.VertexPayload; +import org.onap.crud.service.util.TestHeaders; +import com.google.gson.JsonElement; + +public class CrudServiceUtilTest { + + private final String putVertexPayload = "{" + "\"id\": \"test-uuid\"," + "\"type\": \"pserver\"," + + "\"properties\": {" + "fqdn: myhost.onap.com," + "hostname: myhost } }"; + + @Test + public void testMergeHeaderInFoToPayload() throws Exception { + TestHeaders headers = new TestHeaders(); + // X-FromAppId is used to set the source of truth + VertexPayload payload = VertexPayload.fromJson(putVertexPayload); + + JsonElement properties = CrudServiceUtil.mergeHeaderInFoToPayload(payload.getProperties(), headers, false); + Assert.assertEquals("myhost.onap.com", properties.getAsJsonObject().get("fqdn").getAsString()); + Assert.assertEquals("myhost", properties.getAsJsonObject().get("hostname").getAsString()); + Assert.assertEquals("source-of-truth", + properties.getAsJsonObject().get("last-mod-source-of-truth").getAsString()); + + properties = CrudServiceUtil.mergeHeaderInFoToPayload(payload.getProperties(), headers, true); + Assert.assertEquals("myhost.onap.com", properties.getAsJsonObject().get("fqdn").getAsString()); + Assert.assertEquals("myhost", properties.getAsJsonObject().get("hostname").getAsString()); + Assert.assertEquals("source-of-truth", + properties.getAsJsonObject().get("last-mod-source-of-truth").getAsString()); + Assert.assertEquals("source-of-truth", properties.getAsJsonObject().get("source-of-truth").getAsString()); + } + +} diff --git a/src/test/java/org/onap/crud/util/TestUtil.java b/src/test/java/org/onap/crud/util/TestUtil.java new file mode 100644 index 0000000..bfbc91b --- /dev/null +++ b/src/test/java/org/onap/crud/util/TestUtil.java @@ -0,0 +1,58 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright © 2017-2018 Amdocs + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.crud.util; + +import java.io.File; +import java.io.IOException; +import java.net.URISyntaxException; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +/** + * Helper methods for locating and reading test data files. + * + */ +public class TestUtil { + + public static Path getPath(String resourceFilename) throws URISyntaxException { + URL resource = ClassLoader.getSystemResource(resourceFilename); + if (resource != null) { + return Paths.get(resource.toURI()); + } + + // If the resource is not found relative to the classpath, try to get it from the file system directly. + File file = new File(resourceFilename); + if (!file.exists()) { + throw new RuntimeException("Resource does not exist: " + resourceFilename); + } + return file.toPath(); + } + + public static String getContentUtf8(Path filePath) throws IOException { + return new String(Files.readAllBytes(filePath)); + } + + public static String getFileAsString(String resourceFilename) throws IOException, URISyntaxException { + return getContentUtf8(getPath(resourceFilename)); + } +} |