aboutsummaryrefslogtreecommitdiffstats
path: root/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java')
-rw-r--r--dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java342
1 files changed, 171 insertions, 171 deletions
diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java
index 1483749..fbecb81 100644
--- a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java
+++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java
@@ -1,171 +1,171 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.openecomp.dcae.apod.analytics.cdap.plugins.utils;
-
-import co.cask.cdap.api.data.format.StructuredRecord;
-import co.cask.cdap.api.data.schema.Schema;
-import org.junit.Test;
-import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
-import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
-
-/**
- * @author Rajiv Singla . Creation Date: 1/30/2017.
- */
-public class CDAPPluginUtilsTest extends BaseAnalyticsCDAPPluginsUnitTest {
-
-
- @Test
- public void testValidateSchemaContainsFieldsWhenSchemaIsNotNull() throws Exception {
- final Schema dMaaPMRSinkTestSchema = getDMaaPMRSinkTestSchema();
- CDAPPluginUtils.validateSchemaContainsFields(dMaaPMRSinkTestSchema, "message");
- }
-
- @Test
- public void testValidateSchemaContainsFieldsWhenInputSchemaIsNull() throws Exception {
- CDAPPluginUtils.validateSchemaContainsFields(null, "message");
- }
-
- @Test
- public void testCreateStructuredRecord() throws Exception {
- final StructuredRecord testMessage = CDAPPluginUtils.createDMaaPMRResponseStructuredRecord("testMessage");
- assertNotNull(testMessage);
- }
-
-
- @Test
- public void testCreateOutputStructuredRecordBuilder() throws Exception {
-
- final String messageFieldName = "message";
- final String firstInputFieldName = "inputField1";
- final String secondInputFieldName = "inputField2";
-
-
- final Schema inputSchema = Schema.recordOf(
- "inputSchema",
- Schema.Field.of(messageFieldName, Schema.of(Schema.Type.STRING)),
- Schema.Field.of(firstInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))),
- Schema.Field.of(secondInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING)))
- );
-
- final String addedFieldName = "addedField";
- final Schema outputSchema = Schema.recordOf(
- "outputSchema",
- Schema.Field.of(messageFieldName, Schema.of(Schema.Type.STRING)),
- Schema.Field.of(firstInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))),
- Schema.Field.of(addedFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))) // added field
- // missing second Input Field
- );
-
- // input structured record
- final String messageFieldValue = "Message String";
- final String firstFieldValue = "Input Field 1";
- final String secondFieldValue = "Input Field 2";
- final StructuredRecord inputSR = StructuredRecord.builder(inputSchema)
- .set(messageFieldName, messageFieldValue)
- .set(firstInputFieldName, firstFieldValue)
- .set(secondInputFieldName, secondFieldValue)
- .build();
-
- final StructuredRecord.Builder outputStructuredRecordBuilder =
- CDAPPluginUtils.createOutputStructuredRecordBuilder(outputSchema, inputSR);
-
- final String addedFieldValue = "Added Field Value";
- final StructuredRecord outputSR = outputStructuredRecordBuilder
- .set(addedFieldName, addedFieldValue)
- .build();
-
- assertThat("Added Field field value copied correctly",
- outputSR.get(addedFieldName).toString(), is(addedFieldValue));
-
- assertThat("Output SR has message field copied correctly",
- outputSR.get(messageFieldName).toString(), is(messageFieldValue));
-
- assertThat("First Field value copied correctly",
- outputSR.get(firstInputFieldName).toString(), is(firstFieldValue));
-
- assertNull("Second Field value is null as output schema does not have the field",
- outputSR.get(secondInputFieldName));
-
- }
-
-
- @Test
- public void testAddFieldValueToStructuredRecordBuilder() throws Exception {
-
- final String messageFieldName = "message";
- final String firstInputFieldName = "inputField1";
- final String addedFieldName = "addedField";
- final String firstFieldValue = "Input Field 1";
- final String addedFieldValue = "Added Field Value";
- final Schema outputSchema = Schema.recordOf(
- "outputSchema",
- Schema.Field.of(messageFieldName, Schema.of(Schema.Type.STRING)),
- Schema.Field.of(firstInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))),
- Schema.Field.of(addedFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))) // added field
- );
-
- final StructuredRecord.Builder outputSRBuilder = StructuredRecord.builder(outputSchema)
- .set(messageFieldName, "Some message")
- .set(firstInputFieldName, firstFieldValue);
-
- final StructuredRecord.Builder addedFieldSRBuilder = CDAPPluginUtils.addFieldValueToStructuredRecordBuilder(
- outputSRBuilder, outputSchema, addedFieldName, addedFieldValue);
-
- // Try adding field to output Structured record that is not in output schema
- final String nonExistentFieldName = "fieldNotInOutputSchema";
- final String nonExistentFieldValue = "Some Value";
- final StructuredRecord outputSR = CDAPPluginUtils.addFieldValueToStructuredRecordBuilder(
- addedFieldSRBuilder, outputSchema, nonExistentFieldName, nonExistentFieldValue).build();
-
- assertThat("Output SR must contain added Field which is in output schema",
- outputSR.get(addedFieldName).toString(), is(addedFieldValue));
- assertNull("Output SR must not contain field that is not in output schema",
- outputSR.get(nonExistentFieldName));
-
- }
-
- @Test(expected = DCAEAnalyticsRuntimeException.class)
- public void testValidateSchemaFieldTypeWhenInputSchemaIsNotValidJson() throws Exception {
- CDAPPluginUtils.validateSchemaFieldType("Invalid Schema", "field1", Schema.Type.STRING);
- }
-
- @Test(expected = DCAEAnalyticsRuntimeException.class)
- public void testSetOutputSchemaWhenOutputSchemaIsNotValidJson() throws Exception {
- CDAPPluginUtils.setOutputSchema(null, "Invalid output Schema");
- }
-
- @Test(expected = DCAEAnalyticsRuntimeException.class)
- public void testExtractFieldMappingsWhenFieldMappingValueIsEmpty() throws Exception {
- CDAPPluginUtils.extractFieldMappings("path1:,path2:value2");
- }
-
- @Test(expected = DCAEAnalyticsRuntimeException.class)
- public void testExtractFieldMappingsWhenFieldMappingAreBlank() throws Exception {
- CDAPPluginUtils.extractFieldMappings("path1: ,path2:value2");
- }
-
-
-}
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.openecomp.dcae.apod.analytics.cdap.plugins.utils;
+
+import co.cask.cdap.api.data.format.StructuredRecord;
+import co.cask.cdap.api.data.schema.Schema;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest;
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+
+/**
+ * @author Rajiv Singla . Creation Date: 1/30/2017.
+ */
+public class CDAPPluginUtilsTest extends BaseAnalyticsCDAPPluginsUnitTest {
+
+
+ @Test
+ public void testValidateSchemaContainsFieldsWhenSchemaIsNotNull() throws Exception {
+ final Schema dMaaPMRSinkTestSchema = getDMaaPMRSinkTestSchema();
+ CDAPPluginUtils.validateSchemaContainsFields(dMaaPMRSinkTestSchema, "message");
+ }
+
+ @Test
+ public void testValidateSchemaContainsFieldsWhenInputSchemaIsNull() throws Exception {
+ CDAPPluginUtils.validateSchemaContainsFields(null, "message");
+ }
+
+ @Test
+ public void testCreateStructuredRecord() throws Exception {
+ final StructuredRecord testMessage = CDAPPluginUtils.createDMaaPMRResponseStructuredRecord("testMessage");
+ assertNotNull(testMessage);
+ }
+
+
+ @Test
+ public void testCreateOutputStructuredRecordBuilder() throws Exception {
+
+ final String messageFieldName = "message";
+ final String firstInputFieldName = "inputField1";
+ final String secondInputFieldName = "inputField2";
+
+
+ final Schema inputSchema = Schema.recordOf(
+ "inputSchema",
+ Schema.Field.of(messageFieldName, Schema.of(Schema.Type.STRING)),
+ Schema.Field.of(firstInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))),
+ Schema.Field.of(secondInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING)))
+ );
+
+ final String addedFieldName = "addedField";
+ final Schema outputSchema = Schema.recordOf(
+ "outputSchema",
+ Schema.Field.of(messageFieldName, Schema.of(Schema.Type.STRING)),
+ Schema.Field.of(firstInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))),
+ Schema.Field.of(addedFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))) // added field
+ // missing second Input Field
+ );
+
+ // input structured record
+ final String messageFieldValue = "Message String";
+ final String firstFieldValue = "Input Field 1";
+ final String secondFieldValue = "Input Field 2";
+ final StructuredRecord inputSR = StructuredRecord.builder(inputSchema)
+ .set(messageFieldName, messageFieldValue)
+ .set(firstInputFieldName, firstFieldValue)
+ .set(secondInputFieldName, secondFieldValue)
+ .build();
+
+ final StructuredRecord.Builder outputStructuredRecordBuilder =
+ CDAPPluginUtils.createOutputStructuredRecordBuilder(outputSchema, inputSR);
+
+ final String addedFieldValue = "Added Field Value";
+ final StructuredRecord outputSR = outputStructuredRecordBuilder
+ .set(addedFieldName, addedFieldValue)
+ .build();
+
+ assertThat("Added Field field value copied correctly",
+ outputSR.get(addedFieldName).toString(), is(addedFieldValue));
+
+ assertThat("Output SR has message field copied correctly",
+ outputSR.get(messageFieldName).toString(), is(messageFieldValue));
+
+ assertThat("First Field value copied correctly",
+ outputSR.get(firstInputFieldName).toString(), is(firstFieldValue));
+
+ assertNull("Second Field value is null as output schema does not have the field",
+ outputSR.get(secondInputFieldName));
+
+ }
+
+
+ @Test
+ public void testAddFieldValueToStructuredRecordBuilder() throws Exception {
+
+ final String messageFieldName = "message";
+ final String firstInputFieldName = "inputField1";
+ final String addedFieldName = "addedField";
+ final String firstFieldValue = "Input Field 1";
+ final String addedFieldValue = "Added Field Value";
+ final Schema outputSchema = Schema.recordOf(
+ "outputSchema",
+ Schema.Field.of(messageFieldName, Schema.of(Schema.Type.STRING)),
+ Schema.Field.of(firstInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))),
+ Schema.Field.of(addedFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))) // added field
+ );
+
+ final StructuredRecord.Builder outputSRBuilder = StructuredRecord.builder(outputSchema)
+ .set(messageFieldName, "Some message")
+ .set(firstInputFieldName, firstFieldValue);
+
+ final StructuredRecord.Builder addedFieldSRBuilder = CDAPPluginUtils.addFieldValueToStructuredRecordBuilder(
+ outputSRBuilder, outputSchema, addedFieldName, addedFieldValue);
+
+ // Try adding field to output Structured record that is not in output schema
+ final String nonExistentFieldName = "fieldNotInOutputSchema";
+ final String nonExistentFieldValue = "Some Value";
+ final StructuredRecord outputSR = CDAPPluginUtils.addFieldValueToStructuredRecordBuilder(
+ addedFieldSRBuilder, outputSchema, nonExistentFieldName, nonExistentFieldValue).build();
+
+ assertThat("Output SR must contain added Field which is in output schema",
+ outputSR.get(addedFieldName).toString(), is(addedFieldValue));
+ assertNull("Output SR must not contain field that is not in output schema",
+ outputSR.get(nonExistentFieldName));
+
+ }
+
+ @Test(expected = DCAEAnalyticsRuntimeException.class)
+ public void testValidateSchemaFieldTypeWhenInputSchemaIsNotValidJson() throws Exception {
+ CDAPPluginUtils.validateSchemaFieldType("Invalid Schema", "field1", Schema.Type.STRING);
+ }
+
+ @Test(expected = DCAEAnalyticsRuntimeException.class)
+ public void testSetOutputSchemaWhenOutputSchemaIsNotValidJson() throws Exception {
+ CDAPPluginUtils.setOutputSchema(null, "Invalid output Schema");
+ }
+
+ @Test(expected = DCAEAnalyticsRuntimeException.class)
+ public void testExtractFieldMappingsWhenFieldMappingValueIsEmpty() throws Exception {
+ CDAPPluginUtils.extractFieldMappings("path1:,path2:value2");
+ }
+
+ @Test(expected = DCAEAnalyticsRuntimeException.class)
+ public void testExtractFieldMappingsWhenFieldMappingAreBlank() throws Exception {
+ CDAPPluginUtils.extractFieldMappings("path1: ,path2:value2");
+ }
+
+
+}