Create new Rule (R816745) that will be used for PM_Dictionary content validation

Issue-ID: VNFSDK-594
Signed-off-by: Bartosz Gardziejewski <bartosz.gardziejewski@nokia.com>
Change-Id: I38dd04621e9cef39126a19b760079f79de13b5ac
diff --git a/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745.java b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745.java
new file mode 100644
index 0000000..ef901f9
--- /dev/null
+++ b/csarvalidation/src/main/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2020 Nokia.
+ *
+ * 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.
+ */
+
+package org.onap.cvc.csar.cc.sol004;
+
+import org.onap.cli.fw.schema.OnapCommandSchema;
+import org.onap.cvc.csar.CSARArchive;
+import org.onap.cvc.csar.cc.VTPValidateCSARBase;
+
+@OnapCommandSchema(schema = "vtp-validate-csar-r816745.yaml")
+public class VTPValidateCSARR816745 extends VTPValidateCSARBase {
+
+    @Override
+    protected void validateCSAR(CSARArchive csar) throws Exception {
+
+    }
+
+    @Override
+    protected String getVnfReqsNo() {
+        return "R816745";
+    }
+}
diff --git a/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r816745.yaml b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r816745.yaml
new file mode 100644
index 0000000..8ef80dd
--- /dev/null
+++ b/csarvalidation/src/main/resources/open-cli-schema/sol004/vtp-validate-csar-r816745.yaml
@@ -0,0 +1,66 @@
+# Copyright 2020 Nokia.
+#
+# 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.
+
+open_cli_schema_version: 1.0
+
+name: csar-validate-r816745
+
+description: |
+  The VNF or PNF PROVIDER MUST provide the Service Provider with PM Meta Data (PM Dictionary)
+  to support the analysis of PM events delivered to DCAE.
+  The PM Dictionary is to be provided as a separate YAML artifact at onboarding and must follow
+  the VES Event Listener Specification and VES Event Registration Specification
+  which contain the format and content required.
+
+
+info:
+  product: onap-dublin
+  version: 1.0
+  service: vnf-compliance
+  author: ONAP VTP Team onap-discuss@lists.onap.org
+
+parameters:
+    - name: csar
+      description: CSAR file path
+      long_option: csar
+      short_option: b
+      type: binary
+      is_optional: false
+    - name: pnf
+      description: CSAR file contains PNF
+      long_option: pnf
+      short_option: p
+      type: bool
+      is_optional: true
+      default_value: false
+
+results:
+    direction: landscape
+    attributes:
+     - name: code
+       description: Error code
+       scope: short
+       type: string
+     - name: message
+       description: Error message
+       scope: short
+       type: string
+     - name: file
+       description: File in which error occured
+       scope: short
+       type: string
+     - name: line-no
+       description: Line no at which error occured
+       scope: short
+       type: string
diff --git a/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745IntegrationTest.java b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745IntegrationTest.java
new file mode 100644
index 0000000..e75f27e
--- /dev/null
+++ b/csarvalidation/src/test/java/org/onap/cvc/csar/cc/sol004/VTPValidateCSARR816745IntegrationTest.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2020 Nokia
+ *
+ * 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.
+ *
+ */
+
+package org.onap.cvc.csar.cc.sol004;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class VTPValidateCSARR816745IntegrationTest {
+
+    private static final boolean IS_PNF = true;
+
+    private VTPValidateCSARR816745 testCase;
+
+    @Before
+    public void setUp() {
+        testCase = new VTPValidateCSARR816745();
+    }
+
+    @Test
+    public void shouldReturnProperRequestNumber() {
+        assertThat(testCase.getVnfReqsNo()).isEqualTo("R816745");
+    }
+
+}