summaryrefslogtreecommitdiffstats
path: root/profiles/snmp/src/test/java
diff options
context:
space:
mode:
authorsubhash kumar singh <subhash.kumar.singh@huawei.com>2017-12-21 14:06:08 +0000
committersubhash kumar singh <subhash.kumar.singh@huawei.com>2018-01-31 05:01:22 +0000
commitd701b812258d0e84a5d5cce0296b004e364a1a3b (patch)
tree182240c7531ab3dd8167b3538290171301b8347c /profiles/snmp/src/test/java
parenta158de7f4f197d65adc7332bd3ad59fb1203a085 (diff)
Add snmp profile for cli
Add snmp profile for cli to support snmp get operation. Issue-ID: CLI-85 Change-Id: I7bebd38f2b3089df80c71a5581b23c5408c6d3ab Signed-off-by: subhash kumar singh <subhash.kumar.singh@huawei.com>
Diffstat (limited to 'profiles/snmp/src/test/java')
-rw-r--r--profiles/snmp/src/test/java/org/onap/cli/fw/snmp/cmd/OnapSnmpCommandTest.java97
1 files changed, 97 insertions, 0 deletions
diff --git a/profiles/snmp/src/test/java/org/onap/cli/fw/snmp/cmd/OnapSnmpCommandTest.java b/profiles/snmp/src/test/java/org/onap/cli/fw/snmp/cmd/OnapSnmpCommandTest.java
new file mode 100644
index 00000000..00c985d5
--- /dev/null
+++ b/profiles/snmp/src/test/java/org/onap/cli/fw/snmp/cmd/OnapSnmpCommandTest.java
@@ -0,0 +1,97 @@
+/*
+ * 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.fw.snmp.cmd;
+
+import mockit.Mock;
+import mockit.MockUp;
+import org.junit.*;
+import org.onap.cli.fw.error.OnapCommandException;
+import org.onap.cli.fw.error.OnapCommandInvalidParameterValue;
+import org.onap.cli.fw.input.OnapCommandParameter;
+import org.onap.cli.fw.input.OnapCommandParameterType;
+import org.onap.cli.fw.output.OnapCommandResult;
+import org.onap.cli.fw.output.OnapCommandResultAttribute;
+import org.snmp4j.PDU;
+import org.snmp4j.Snmp;
+import org.snmp4j.Target;
+import org.snmp4j.TransportMapping;
+import org.snmp4j.event.ResponseEvent;
+import org.snmp4j.smi.OID;
+import org.snmp4j.smi.OctetString;
+import org.snmp4j.smi.VariableBinding;
+
+import java.io.IOException;
+import java.util.*;
+
+import static org.junit.Assert.*;
+
+public class OnapSnmpCommandTest {
+
+ @Test
+ public void testSnmpGetCommand() throws OnapCommandException {
+
+ new MockUp<Snmp>() {
+ @Mock
+ public ResponseEvent send(PDU pdu, Target target, TransportMapping transport) throws IOException {
+ PDU pdu1 = new PDU();
+ pdu1.setType(-94);
+ VariableBinding variableBinding = new VariableBinding(new OID("1.3.6.1.2.1.1.1.0"));
+ variableBinding.setVariable(new OctetString(new byte[] {'s', 'n', 'm', 'p'}));
+
+ pdu1.setVariableBindings(Arrays.asList(variableBinding));
+ return new ResponseEvent(new Object(), null, pdu, pdu1, null);
+ }
+ };
+
+ OnapSnmpCommand snmpCmd = new OnapSnmpCommand();
+
+ HashMap<String, String> resultMapEntry = new HashMap<>();
+ resultMapEntry.put("system-desc", "1.3.6.1.2.1.1.1.0");
+
+ List<Map<String, String>> resultMap = Arrays.asList(resultMapEntry);
+ snmpCmd.setResultMap(resultMap);
+ snmpCmd.setSnmpVersion("1");
+ snmpCmd.setCommand("get");
+
+ OnapCommandParameter onapCommandParameter = new OnapCommandParameter();
+ onapCommandParameter.setName("agent");
+ onapCommandParameter.setParameterType(OnapCommandParameterType.STRING);
+ onapCommandParameter.setShortOption("x");
+ onapCommandParameter.setOptional(false);
+ onapCommandParameter.setLongOption("agent");
+ onapCommandParameter.setValue("udp:0.0.0.0/161");
+
+ Set<OnapCommandParameter> parameters = new HashSet<>();
+ parameters.add(onapCommandParameter);
+ snmpCmd.setParameters(parameters);
+
+ OnapCommandResultAttribute onapCommandResultAttribute = new OnapCommandResultAttribute();
+ onapCommandResultAttribute.setValues(new ArrayList<>());
+ onapCommandResultAttribute.setName("system-desc");
+
+
+ OnapCommandResult onapCommandResult = new OnapCommandResult();
+ onapCommandResult.setRecords(Arrays.asList(onapCommandResultAttribute));
+ snmpCmd.setResult(onapCommandResult);
+
+ snmpCmd.run();
+
+ OnapCommandResult result = snmpCmd.getResult();
+ assertEquals("snmp", result.getRecordsMap().get("system-desc")
+ .getValues().get(0));
+ }
+} \ No newline at end of file