diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test')
7 files changed, 391 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/executionrequest.json b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/executionrequest.json new file mode 100644 index 0000000000..05750b4aed --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/executionrequest.json @@ -0,0 +1,12 @@ +{ + "scenario": "compliance", + "testCaseName": "sriov", + "testSuiteName": "compliancetests", + "profile": "compliance", + "parameters": { + "vspId": "VSP-ID", + "vspVersion": "VSP-VER", + "allowSriov": "true" + }, + "endpoint": "repository" +} diff --git a/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/priorexecution.json b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/priorexecution.json new file mode 100644 index 0000000000..f8e1db85df --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/priorexecution.json @@ -0,0 +1,20 @@ +{ + "scenario": "compliance", + "testCaseName": "computeflavors", + "testSuiteName": "compliancetests", + "executionId": "3053ed10-84e6-4f21-aa62-4ca66242d8d8", + "parameters": { + "vspId": "VSP-ID", + "vspVersion": "VSP-VER", + "allowSriov": "true", + "csp": "ZZFT", + "profilespec": "gsmafnw14", + "vnftype": "B" + }, + "results": { + "hello": "world" + }, + "status": "COMPLETED", + "startTime": 1550780567585, + "endTime": 1550780567585 +} diff --git a/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/testcase.json b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/testcase.json new file mode 100644 index 0000000000..9a6a166b51 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/testcase.json @@ -0,0 +1,58 @@ +{ + "scenario": "compliance", + "testCaseName": "sriov", + "testSuiteName": "compliancetests", + "description": "SR-IOV Test", + "author": "Jim", + "endpoint": "vtp", + "outputs": [ + { + "name": "something", + "description": "is produced", + "type": "integer" + } + ], + "inputs": [ + { + "name": "vspId", + "description": "VSP ID", + "type": "text", + "defaultValue": "", + "metadata": { + "isDisabled": true, + "maxLength": "36", + "minLength": "1" + } + }, + { + "name": "vspVersion", + "description": "VSP Version", + "type": "text", + "defaultValue": "", + "metadata": { + "isDisabled": true, + "maxLength": "36", + "minLength": "1" + } + }, + { + "name": "allowSriov", + "description": "Allow SRIOV?", + "type": "select", + "defaultValue": "false", + "metadata": { + "isDisabled": true, + "choices": [ + { + "key": "true", + "label": "Yes" + }, + { + "key": "false", + "label": "No" + } + ] + } + } + ] +}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/testtree.json b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/testtree.json new file mode 100644 index 0000000000..06b021077f --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/testtree.json @@ -0,0 +1,119 @@ +{ + "name": "root", + "description": "root", + "tests": [], + "children": [ + { + "name": "certification", + "description": "Available Certification Queries", + "children": [ + { + "name": "certificationtests", + "description": "Certification Tests", + "tests": [ + { + "scenario": "certification", + "testCaseName": "certquery", + "testSuiteName": "certificationtests", + "description": "VSP Certifications", + "author": "jguistwite@iconectiv.com", + "inputs": [ + { + "name": "vspId", + "description": "VSP ID", + "type": "text", + "defaultValue": "", + "isOptional": false, + "metadata": { + "maxLength": 36.0, + "minLength": 1.0, + "disabled": true + } + }, + { + "name": "vspVersion", + "description": "Previous VSP Version", + "type": "text", + "defaultValue": "", + "isOptional": false, + "metadata": { + "maxLength": 36.0, + "minLength": 1.0, + "disabled": true + } + } + ], + "endpoint": "opnfv" + } + ], + "children": [] + } + ] + }, + { + "name": "compliance", + "description": "Available Compliance Tests", + "tests": [], + "children": [ + { + "name": "compliancetests", + "description": "Compliance Tests", + "tests": [ + { + "scenario": "compliance", + "testCaseName": "sriov", + "testSuiteName": "compliancetests", + "description": "SR-IOV Test", + "author": "Jim", + "inputs": [ + { + "name": "vspId", + "description": "VSP ID", + "type": "text", + "isOptional": false, + "metadata": { + "isDisabled": true, + "maxLength": "36", + "minLength": "1" + } + }, + { + "name": "vspVersion", + "description": "VSP Version", + "type": "text", + "isOptional": false, + "metadata": { + "isDisabled": true, + "maxLength": "36", + "minLength": "1" + } + }, + { + "name": "allowSriov", + "description": "Allow SRIOV?", + "type": "select", + "defaultValue": "false", + "isOptional": false, + "metadata": { + "isDisabled": true, + "choices": [ + { + "key": "true", + "label": "Yes" + }, + { + "key": "false", + "label": "No" + } + ] + } + } + ], + "endpoint": "vtp" + } + ] + } + ] + } + ] +}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ErrorBodyTests.java b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ErrorBodyTests.java new file mode 100644 index 0000000000..216ff3599f --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ErrorBodyTests.java @@ -0,0 +1,42 @@ +/* + * Copyright © 2019 iconectiv + * + * 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.openecomp.core.externaltesting.api; + +import org.junit.Assert; +import org.junit.Test; + +public class ErrorBodyTests { + + @Test + public void testErrorBody() { + TestErrorBody b = new TestErrorBody(); + b.setHttpStatus(404); + b.setMessage("message"); + b.setCode("code"); + + Assert.assertEquals("code match", new Integer(404), b.getHttpStatus()); + Assert.assertEquals("code message", "message", b.getMessage()); + Assert.assertEquals("code code", "code", b.getCode()); + + TestErrorBody b2 = new TestErrorBody("code", 404, "message"); + + Assert.assertEquals("code match", new Integer(404), b2.getHttpStatus()); + Assert.assertEquals("code message", "message", b2.getMessage()); + Assert.assertEquals("code code", "code", b2.getCode()); + + } +} diff --git a/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ExecutionRequestTests.java b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ExecutionRequestTests.java new file mode 100644 index 0000000000..b10d3079d2 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ExecutionRequestTests.java @@ -0,0 +1,110 @@ +/* + * Copyright © 2019 iconectiv + * + * 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.openecomp.core.externaltesting.api; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.Assert; +import org.junit.Test; + +import java.io.File; +import java.io.IOException; +import java.util.Map; +import java.util.UUID; + +public class ExecutionRequestTests { + + @Test + public void testTestCase() throws Exception { + ObjectMapper mapper = new ObjectMapper(); + VtpTestCase req = mapper.readValue(new File("src/test/data/testcase.json"), VtpTestCase.class); + + Assert.assertEquals("Scenario must match", "compliance", req.getScenario()); + Assert.assertEquals("Suite name must match", "compliancetests", req.getTestSuiteName()); + Assert.assertEquals("Test case name must match", "sriov", req.getTestCaseName()); + Assert.assertEquals("Description must match", "SR-IOV Test", req.getDescription()); + Assert.assertEquals("Author must match", "Jim", req.getAuthor()); + Assert.assertEquals("Endpoint must match", "vtp", req.getEndpoint()); + Assert.assertEquals("Test must contain two inputs", 3, req.getInputs().size()); + Assert.assertEquals("Test must contain one outputs", 1, req.getOutputs().size()); + + VtpTestCaseInput input1 = req.getInputs().get(0); + Assert.assertEquals("Name match", "vspId", input1.getName()); + Assert.assertEquals("Description match", "VSP ID", input1.getDescription()); + Assert.assertEquals("Input type match", "text", input1.getType()); + Assert.assertEquals("Input default match", "", input1.getDefaultValue()); + Assert.assertFalse("Input optional match", input1.getIsOptional()); + + VtpTestCaseOutput output1 = req.getOutputs().get(0); + Assert.assertEquals("Name match", "something", output1.getName()); + Assert.assertEquals("Description match", "is produced", output1.getDescription()); + Assert.assertEquals("Output type match", "integer", output1.getType()); + + + Map<String,Object> meta = input1.getMetadata(); + Assert.assertEquals("Metadata count", 3, meta.size()); + + VtpTestCase req2 = mapper.readValue(new File("src/test/data/testcase.json"), VtpTestCase.class); + + Assert.assertEquals("test equality", req, req2); + + } + + @Test + public void testExecutionRequest() throws IOException { + ObjectMapper mapper = new ObjectMapper(); + VtpTestExecutionRequest req = mapper.readValue(new File("src/test/data/executionrequest.json"), VtpTestExecutionRequest.class); + Assert.assertEquals("compliance", req.getScenario()); + Assert.assertEquals("compliance", req.getProfile()); + Assert.assertEquals("sriov", req.getTestCaseName()); + Assert.assertEquals("compliancetests", req.getTestSuiteName()); + Assert.assertEquals("repository", req.getEndpoint()); + + Assert.assertEquals(3, req.getParameters().size()); + } + + @Test + public void testExecutionResponse() throws IOException { + ObjectMapper mapper = new ObjectMapper(); + VtpTestExecutionResponse rsp = mapper.readValue(new File("src/test/data/priorexecution.json"), VtpTestExecutionResponse.class); + Assert.assertEquals("compliance", rsp.getScenario()); + Assert.assertEquals("computeflavors", rsp.getTestCaseName()); + Assert.assertEquals("compliancetests", rsp.getTestSuiteName()); + Assert.assertTrue(UUID.fromString(rsp.getExecutionId()).getLeastSignificantBits() != 0); + Assert.assertEquals("parameters", 6, rsp.getParameters().size()); + Assert.assertNotNull(rsp.getResults()); + Assert.assertEquals("COMPLETED", rsp.getStatus()); + Assert.assertNotNull(rsp.getStartTime()); + Assert.assertNotNull(rsp.getEndTime()); + } + + @Test + public void testTree() throws IOException { + ObjectMapper mapper = new ObjectMapper(); + TestTreeNode tree = mapper.readValue(new File("src/test/data/testtree.json"), TestTreeNode.class); + + Assert.assertEquals(2, tree.getChildren().size()); + Assert.assertEquals(0, tree.getTests().size()); + + TestTreeNode manual = new TestTreeNode("root", "Root"); + + manual.addChild(new TestTreeNode("child", "child")); + manual.addTest(new VtpTestCase()); + Assert.assertEquals(1, manual.getChildren().size()); + Assert.assertEquals(1, manual.getTests().size()); + + } +} diff --git a/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ExternalTestingApiTests.java b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ExternalTestingApiTests.java new file mode 100644 index 0000000000..62b129c7c0 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ExternalTestingApiTests.java @@ -0,0 +1,30 @@ +/* + * Copyright © 2019 iconectiv + * + * 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.openecomp.core.externaltesting.api; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + ExecutionRequestTests.class, + ErrorBodyTests.class +}) +public class ExternalTestingApiTests { + // nothing to do - just a placeholder. + +} |