diff options
author | subhash kumar singh <subhash.kumar.singh@huawei.com> | 2017-10-23 14:03:11 +0000 |
---|---|---|
committer | subhash kumar singh <subhash.kumar.singh@huawei.com> | 2017-10-26 09:27:02 +0000 |
commit | b0d8aa12fe8f88059f7fcce741913194d72d0d69 (patch) | |
tree | 309becc99aaa133a9945f84213e21c81f5af7099 /validation | |
parent | f3d888a58d5775f015b8c2b1864cde2856dd0376 (diff) |
Code refactoring to remove test code generation
Refactor code to remove test code generation code from framework
codebase.
Issue-ID: CLI-55
Change-Id: I4b45ef50143317586c39cf118a1717be150707da
Signed-off-by: subhash kumar singh <subhash.kumar.singh@huawei.com>
Diffstat (limited to 'validation')
6 files changed, 0 insertions, 445 deletions
diff --git a/validation/pom.xml b/validation/pom.xml deleted file mode 100644 index 618074f6..00000000 --- a/validation/pom.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Copyright 2017 Huawei Technologies Co., Ltd. - - 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. - --> - -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 - http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.onap.cli</groupId> - <artifactId>cli</artifactId> - <version>1.0.0-SNAPSHOT</version> - </parent> - - <artifactId>cli-validation</artifactId> - <name>cli/validation</name> - <packaging>jar</packaging> - <dependencies> - <dependency> - <groupId>com.github.dreamhead</groupId> - <artifactId>moco-runner</artifactId> - <version>0.11.1</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.11</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.onap.cli</groupId> - <artifactId>cli-main</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.onap.cli</groupId> - <artifactId>cli-plugins-msb</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.onap.cli</groupId> - <artifactId>cli-plugins-sdc</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.onap.cli</groupId> - <artifactId>cli-plugins-aai</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.onap.cli</groupId> - <artifactId>cli-plugins-so</artifactId> - <version>${project.version}</version> - </dependency> - </dependencies> -<!-- <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <version>2.9</version> - <configuration> - <useManifestOnlyJar>false</useManifestOnlyJar> - <useSystemClassLoader>false</useSystemClassLoader> - <additionalClasspathElements> - <additionalClasspathElement> - ${project.build.directory}/../../deployment/zip/target/deployunzip/lib/*.jar - </additionalClasspathElement> - </additionalClasspathElements> - </configuration> - </plugin> - </plugins> - </build> --> -</project> diff --git a/validation/src/test/java/org/onap/cli/moco/OnapCommandHttpMocoServer.java b/validation/src/test/java/org/onap/cli/moco/OnapCommandHttpMocoServer.java deleted file mode 100644 index 7f84704c..00000000 --- a/validation/src/test/java/org/onap/cli/moco/OnapCommandHttpMocoServer.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * 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.cli.moco; - -import static com.github.dreamhead.moco.MocoJsonRunner.jsonHttpServer; -import static com.github.dreamhead.moco.Runner.runner; -import static com.github.dreamhead.moco.Moco.pathResource; -import static com.github.dreamhead.moco.Moco.file; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.PrintStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -import org.onap.cli.fw.OnapCommandRegistrar; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.error.OnapCommandInvalidSample; -import org.onap.cli.fw.utils.OnapCommandUtils; -import org.onap.cli.main.OnapCli; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.core.io.Resource; -import org.yaml.snakeyaml.Yaml; - -import com.github.dreamhead.moco.HttpServer; -import com.github.dreamhead.moco.Runner; - -public class OnapCommandHttpMocoServer { - - public static final String SAMPLE_PATTERN = "onap-cli-sample/**/"; - - public static final String SAMPLE_VERSION = "onap_cli_sample_version"; - public static final String SAMPLE_VERSION_1_0 = "1.0"; - - public static final String SAMPLE_COMMAND_NAME = "name"; - public static final String SAMPLE_PRODUCT = "version"; - public static final String SAMPLE_LIST = "samples"; - public static final String SAMPLE_DESCRIPTION = "name"; - public static final String SAMPLE_INPUT = "input"; - public static final String SAMPLE_OUTPUT = "output"; - public static final String SAMPLE_MOCO = "moco"; - - private static Logger LOG = LoggerFactory.getLogger(OnapCommandHttpMocoServer.class); - - private String samplesToTest = "*.yaml"; - - private int port = 8141; - - public int getPort() { - return port; - } - - public void setPort(int port) { - this.port = port; - } - - public OnapCommandHttpMocoServer(String samplesToTest) { - this.samplesToTest = samplesToTest; - } - - public OnapCommandHttpMocoServer() { - } - - private List<Resource> dicoverSampleYamls() { - Resource[] resources = new Resource [] {}; - try { - resources = OnapCommandUtils.getExternalResources(SAMPLE_PATTERN + this.samplesToTest); - } catch (IOException e) { - LOG.error("Failed to discover the samples", e); - } - - return Arrays.asList(resources); - } - - private String getValue(Map<String, ?> map, String prpName) { - Object o = map.get(prpName); - if (o != null) { - return o.toString(); - } - - return ""; - } - - private List<OnapCommandSample> loadSamples(Resource file) throws OnapCommandInvalidSample { - - List<OnapCommandSample> samples = new ArrayList<>(); - Map<String, ?> values = null; - try { - values = (Map<String, ?>) new Yaml().load(file.getInputStream()); - } catch (Exception e) { - throw new OnapCommandInvalidSample(file.getFilename(), e); - } - - OnapCommandSample sample = new OnapCommandSample(); - - if (!this.getValue(values, SAMPLE_VERSION).equals(SAMPLE_VERSION_1_0)) { - throw new OnapCommandInvalidSample(file.getFilename(), "Invalid sample version " + this.getValue(values, SAMPLE_VERSION)); - } - - sample.setCommandName(this.getValue(values, SAMPLE_COMMAND_NAME)); - sample.setProduct(this.getValue(values, SAMPLE_PRODUCT)); - - //Retrieve the samples - values = (Map<String, Map<String, String>>) values.get(SAMPLE_LIST); - - for (String s: values.keySet()) { - Map<String, ?> sMap = (Map<String, ?>)values.get(s); - sample.setDescription(this.getValue(sMap, SAMPLE_DESCRIPTION)); - sample.setInput(this.getValue(sMap, SAMPLE_INPUT)); - sample.setOutput(this.getValue(sMap, SAMPLE_OUTPUT)); - sample.setMoco(this.getValue(sMap, SAMPLE_MOCO)); - samples.add(sample); - } - - return samples; - } - - private void verifySample(OnapCommandSample sample) throws OnapCommandException { - - List <String> args = new ArrayList<>(); - args.add(sample.getCommandName()); - args.addAll(Arrays.asList(sample.getInput().split(" "))); - - ByteArrayOutputStream bo = new ByteArrayOutputStream(); - System.setOut(new PrintStream(bo)); - - OnapCli cli = new OnapCli(args.toArray(new String []{})); - OnapCommandRegistrar.getRegistrar().setEnabledProductVersion(sample.getProduct()); - cli.handle(); - - String output = new String(bo.toByteArray()); - - //mrkanag uncomment following lines once moco server setup is done - //assert cli.getExitCode() == 0; - - //assert sample.getOutput().equals(output); - } - - public void verifySamples() throws OnapCommandException { - for (Resource rsc : this.dicoverSampleYamls()) { - for(OnapCommandSample sample: this.loadSamples(rsc)) { - - if (!sample.getMoco().isEmpty()) { - HttpServer server = jsonHttpServer(this.getPort(), pathResource(sample.getMoco())); - Runner r = runner(server); - r.start(); - - this.verifySample(sample); - - r.stop(); - } - } - } - } -}
\ No newline at end of file diff --git a/validation/src/test/java/org/onap/cli/moco/OnapCommandSample.java b/validation/src/test/java/org/onap/cli/moco/OnapCommandSample.java deleted file mode 100644 index 31448e4b..00000000 --- a/validation/src/test/java/org/onap/cli/moco/OnapCommandSample.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * 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.cli.moco; - -public class OnapCommandSample { - - private String commandName; - - private String product; - - private String input; - - private String output; - - private String moco; - - private String description; - - public String getCommandName() { - return commandName; - } - - public void setCommandName(String commandName) { - this.commandName = commandName; - } - - public String getProduct() { - return product; - } - - public void setProduct(String product) { - this.product = product; - } - - public String getInput() { - return input; - } - - public void setInput(String input) { - this.input = input; - } - - public String getOutput() { - return output; - } - - public void setOutput(String output) { - this.output = output; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getMoco() { - return moco; - } - - public void setMoco(String moco) { - this.moco = moco; - } -} diff --git a/validation/src/test/java/org/onap/cli/validation/OnapCliMainTest.java b/validation/src/test/java/org/onap/cli/validation/OnapCliMainTest.java deleted file mode 100644 index 779978f9..00000000 --- a/validation/src/test/java/org/onap/cli/validation/OnapCliMainTest.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2017 Huawei Technologies Co., Ltd. - * - * 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.cli.validation; - -import java.io.IOException; - -import org.aspectj.lang.annotation.After; -import org.junit.Test; -import org.onap.cli.fw.OnapCommandRegistrar; -import org.onap.cli.fw.error.OnapCommandException; -import org.onap.cli.fw.utils.ExternalSchema; -import org.onap.cli.main.OnapCli; -import org.onap.cli.moco.OnapCommandHttpMocoServer; - -public class OnapCliMainTest { - - OnapCli cli = null; - - /** - * Clean up. - */ - @After(value = "") - public void cleanup() { - if (this.cli != null) { - if (cli.getExitCode() != 0) { - // Fail test case - } - } - } - - private void handle(String[] args) { - cli = new OnapCli(args); - cli.handle(); - } - - @Test - public void validateCommandSchemas() throws IOException, OnapCommandException { - OnapCommandRegistrar.getRegistrar().setEnabledProductVersion("cli-1.0"); - for (ExternalSchema sch : OnapCommandRegistrar.getRegistrar().listCommandInfo()) { - System.out.println( - "************************* validate '" + sch.getCmdName() + "' *******************************"); - this.handle(new String[] { "schema-validate", "-l", sch.getSchemaName(), "-i"}); - } - } - - @Test - public void usageReadTheDocsTest() throws OnapCommandException { - for (String version: OnapCommandRegistrar.getRegistrar().getAvailableProductVersions()) { - OnapCommandRegistrar.getRegistrar().setEnabledProductVersion(version); - System.out.println(version); - System.out.println("==========================\n\n"); - for (ExternalSchema sch : OnapCommandRegistrar.getRegistrar().listCommandInfo()) { - if (sch.getCmdVersion().equals(version)) { - System.out.println(sch.getCmdName()); - System.out.println("-----------------------------------------------\n\n"); - this.handle(new String[] { sch.getCmdName(), "-h"}); - System.out.println("\n"); - } - } - } - } - - @Test - public void validateCommands() throws OnapCommandException { - OnapCommandHttpMocoServer server = new OnapCommandHttpMocoServer(); - server.verifySamples(); - } - - } diff --git a/validation/src/test/resources/customer-create-sample-1.1-moco.json b/validation/src/test/resources/customer-create-sample-1.1-moco.json deleted file mode 100644 index f6e4d0b2..00000000 --- a/validation/src/test/resources/customer-create-sample-1.1-moco.json +++ /dev/null @@ -1,11 +0,0 @@ -[{ - "request" : - { - "method" : "get", - "uri" : "/aai/v11/business/customers/customer/test" - }, - "response" : - { - "status" : 201 - } -}]
\ No newline at end of file diff --git a/validation/src/test/resources/onap-cli-sample/customer/customer-create-sample-1.1.yaml b/validation/src/test/resources/onap-cli-sample/customer/customer-create-sample-1.1.yaml deleted file mode 100644 index 30b5b303..00000000 --- a/validation/src/test/resources/onap-cli-sample/customer/customer-create-sample-1.1.yaml +++ /dev/null @@ -1,9 +0,0 @@ -onap_cli_sample_version: 1.0 - -name: customer-create -version: onap-1.1 -samples: - sample1: - name: Create a customer - input: -m http://locahost:8141 -u AAI -p AAI --customer-name test --subscriber-name test - moco: customer-create-sample-1.1-moco.json
\ No newline at end of file |