2 * Copyright 2017 Huawei Technologies Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.onap.cli.cmd.sample;
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.fail;
22 import java.util.HashSet;
24 import java.util.UUID;
26 import org.junit.Test;
27 import org.onap.cli.fw.cmd.OnapCommand;
28 import org.onap.cli.fw.conf.OnapCommandConstants;
29 import org.onap.cli.fw.error.OnapCommandException;
30 import org.onap.cli.fw.error.OnapCommandExecutionFailed;
31 import org.onap.cli.fw.error.OnapCommandNotInitialized;
32 import org.onap.cli.fw.input.OnapCommandParameter;
33 import org.onap.cli.fw.input.OnapCommandParameterType;
34 import org.onap.cli.fw.output.OnapCommandResultAttribute;
35 import org.onap.cli.fw.registrar.OnapCommandRegistrar;
37 import org.onap.cli.fw.output.OnapCommandResult;
38 import static org.junit.Assert.assertNotNull;
40 public class OnapCommandSampleTest {
42 public void sampleTestVersion() {
45 Set<OnapCommandParameter> parameters = new HashSet();
46 OnapCommandParameter version = new OnapCommandParameter();
47 version.setName(OnapCommandConstants.DEFAULT_PARAMETER_VERSION);
48 version.setValue(true);
49 parameters.add(version);
50 OnapCommandParameter hlp = new OnapCommandParameter();
51 hlp.setName(OnapCommandConstants.DEFAULT_PARAMETER_HELP);
55 OnapCommand sample = OnapCommandRegistrar.getRegistrar().get("sample-test");
56 sample.setParameters(parameters);
58 OnapCommandResult onapCommandResult = sample.execute();
59 assertEquals("open-cli::test",onapCommandResult.getOutput());
60 } catch (OnapCommandException e) {
65 public void sampleTestHelp() {
67 OnapCommandParameter ver = new OnapCommandParameter();
68 ver.setName(OnapCommandConstants.DEFAULT_PARAMETER_HELP);
70 ver.setParameterType(OnapCommandParameterType.BOOL);
72 Set<OnapCommandParameter> parameters = new HashSet();
75 OnapCommandSample sample = new OnapCommandSample();
76 sample.setParameters(parameters);
78 OnapCommandResult onapCommandResult = sample.execute();
79 assertNotNull(onapCommandResult);
80 } catch (OnapCommandException e) {
85 public void sampleTest() {
88 Set<OnapCommandParameter> parameters = new HashSet();
89 OnapCommandParameter ver = new OnapCommandParameter();
90 ver.setName(OnapCommandConstants.DEFAULT_PARAMETER_VERSION);
93 OnapCommandParameter hlp = new OnapCommandParameter();
94 hlp.setName(OnapCommandConstants.DEFAULT_PARAMETER_HELP);
97 OnapCommandParameter fmt = new OnapCommandParameter();
98 fmt.setName(OnapCommandConstants.DEFAULT_PARAMETER_OUTPUT_FORMAT);
99 fmt.setValue("table");
101 OnapCommandParameter lng = new OnapCommandParameter();
102 lng.setName(OnapCommandConstants.DEFAULT_PARAMETER_OUTPUT_ATTR_LONG);
105 OnapCommandParameter title = new OnapCommandParameter();
106 title.setName(OnapCommandConstants.DEFAULT_PARAMETER_OUTPUT_NO_TITLE);
107 title.setValue(true);
108 parameters.add(title);
109 OnapCommandParameter denug = new OnapCommandParameter();
110 denug.setName(OnapCommandConstants.DEFAULT_PARAMETER_DEBUG);
111 denug.setValue(true);
112 parameters.add(denug);
114 OnapCommand sample = OnapCommandRegistrar.getRegistrar().get("sample-test");
115 sample.setParameters(parameters);
118 //validate whether output attributes default value got initialized as part of execute()
119 OnapCommandResultAttribute attr = sample.getResult().getRecordsMap().get("output-1");
120 String attrValue = attr.getValues().get(0);
121 UUID.fromString(attrValue.substring(4));
122 attr = sample.getResult().getRecordsMap().get("output-2");
123 attrValue = attr.getValues().get(0);
124 assertEquals("test", attrValue);
125 } catch (IllegalArgumentException e) {
126 fail("Failed to replace the output default value on output-1");
127 } catch (OnapCommandException e) {
131 @Test(expected = OnapCommandExecutionFailed.class)
132 public void sampleTestFailure() throws OnapCommandException {
133 OnapCommandSample sample = new OnapCommandSample();
134 sample.failCase = true;
136 Set<OnapCommandParameter> parameters = new HashSet();
137 OnapCommandParameter ver = new OnapCommandParameter();
138 ver.setName(OnapCommandConstants.DEFAULT_PARAMETER_VERSION);
141 OnapCommandParameter hlp = new OnapCommandParameter();
142 hlp.setName(OnapCommandConstants.DEFAULT_PARAMETER_HELP);
145 OnapCommandParameter ffmt = new OnapCommandParameter();
146 ffmt.setName(OnapCommandConstants.DEFAULT_PARAMETER_OUTPUT_FORMAT);
147 ffmt.setValue("table");
148 parameters.add(ffmt);
149 OnapCommandParameter lng = new OnapCommandParameter();
150 lng.setName(OnapCommandConstants.DEFAULT_PARAMETER_OUTPUT_ATTR_LONG);
153 OnapCommandParameter titl = new OnapCommandParameter();
154 titl.setName(OnapCommandConstants.DEFAULT_PARAMETER_OUTPUT_NO_TITLE);
156 parameters.add(titl);
157 OnapCommandParameter debug = new OnapCommandParameter();
158 debug.setName(OnapCommandConstants.DEFAULT_PARAMETER_DEBUG);
159 debug.setValue(true);
160 parameters.add(debug);
161 sample.setParameters(parameters);
165 @Test(expected = OnapCommandNotInitialized.class)
166 public void sampleTestIsInitialized() throws OnapCommandException {
167 OnapCommandSample sample = new OnapCommandSample(false);