summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManjunath Ranganathaiah <manjunath.ranganathaiah@intel.com>2018-03-21 09:12:04 -0700
committerKiran Kamineni <kiran.k.kamineni@intel.com>2018-03-27 17:07:40 +0000
commit70329f54da15d773718e6de13f51b42d02d5f1a1 (patch)
tree1ba8b60899317d7891d682f5dd4fdb5797e467a8
parent937a0cdf641aa66ba8cf413f684d67dc3a9fd90d (diff)
Test framework for sms client code.
Adds a test case for create domain interface Change-Id: I198d4e91845753ca359330c367180bd3a3732f30 Issue-ID: AAF-183 Signed-off-by: Manjunath Ranganathaiah <manjunath.ranganathaiah@intel.com>
-rw-r--r--sms-client/src/java/main/SmsClient.java4
-rw-r--r--sms-client/src/java/test/ClientTestRunner.java32
-rw-r--r--sms-client/src/java/test/SmsCreateDomainTest.java44
-rw-r--r--sms-client/src/java/test/SmsSecureSocket.java68
-rw-r--r--sms-client/src/java/test/SmsTest.java64
5 files changed, 210 insertions, 2 deletions
diff --git a/sms-client/src/java/main/SmsClient.java b/sms-client/src/java/main/SmsClient.java
index ce48f72..17a9f16 100644
--- a/sms-client/src/java/main/SmsClient.java
+++ b/sms-client/src/java/main/SmsClient.java
@@ -91,14 +91,14 @@ public class SmsClient implements SmsInterface {
return(m);
}
- private Map<String, Object> strtomap(String r) throws JSONException {
+ protected Map<String, Object> strtomap(String r) throws JSONException {
JSONObject jobj = null;
jobj = new JSONObject(r);
return(jsontomap(jobj));
}
- private SmsResponse execute(String reqtype, String t, String ins, boolean input, boolean output) {
+ protected SmsResponse execute(String reqtype, String t, String ins, boolean input, boolean output) {
HttpsURLConnection conn;
int errorcode = -1;
diff --git a/sms-client/src/java/test/ClientTestRunner.java b/sms-client/src/java/test/ClientTestRunner.java
new file mode 100644
index 0000000..e1e0dd2
--- /dev/null
+++ b/sms-client/src/java/test/ClientTestRunner.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2018 Intel Corporation, Inc
+ *
+ * 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.
+ */
+
+import org.junit.runner.JUnitCore;
+import org.junit.runner.Result;
+import org.junit.runner.notification.Failure;
+
+public class ClientTestRunner {
+ public static void main(String[] args) {
+ Result r = JUnitCore.runClasses(
+ SmsCreateDomainTest.class
+ );
+
+ for( Failure f : r.getFailures()) {
+ System.out.println(f.toString());
+ }
+ System.out.println(r.wasSuccessful());
+ }
+}
diff --git a/sms-client/src/java/test/SmsCreateDomainTest.java b/sms-client/src/java/test/SmsCreateDomainTest.java
new file mode 100644
index 0000000..b0896d4
--- /dev/null
+++ b/sms-client/src/java/test/SmsCreateDomainTest.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2018 Intel Corporation, Inc
+ *
+ * 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.
+ */
+
+import junit.framework.*;
+import org.onap.aaf.sms.SmsClient;
+import org.onap.aaf.sms.SmsResponse;
+import org.onap.aaf.sms.test.SmsSecureSocket;
+import javax.net.ssl.SSLSocketFactory;
+import java.util.HashMap;
+import java.util.Map;
+
+public class SmsCreateDomainTest extends TestCase {
+
+ public void testSmsCreateDomain() {
+ try {
+ SmsSecureSocket sss = new SmsSecureSocket();
+
+ SmsTest sms = new SmsTest("otconap4.sc.intel.com", 10443, sss.getSSF());
+ SmsResponse resp = sms.createDomain("onap.new.test.sms0");
+ assertTrue(resp.getSuccess());
+ if ( resp.getSuccess() ) {
+ Map<String, Object> m = resp.getResponse();
+ assertNotNull(m);
+ assertEquals(200, resp.getResponseCode());
+ assertEquals("onap.new.test.sms0", m.get("name"));
+ }
+ } catch ( Exception e ) {
+ fail("Exception while creating domain");
+ }
+ }
+}
diff --git a/sms-client/src/java/test/SmsSecureSocket.java b/sms-client/src/java/test/SmsSecureSocket.java
new file mode 100644
index 0000000..34acb79
--- /dev/null
+++ b/sms-client/src/java/test/SmsSecureSocket.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2018 Intel Corporation, Inc
+ *
+ * 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.aaf.sms.test;
+
+import java.io.FileInputStream;
+import javax.net.ssl.KeyManagerFactory;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSessionContext;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManagerFactory;
+import java.security.KeyStore;
+import java.security.Provider;
+import java.security.SecureRandom;
+import java.security.Security;
+
+public class SmsSecureSocket {
+ private SSLSocketFactory ssf = null;
+ public SmsSecureSocket() throws Exception {
+ // Set up the Sun PKCS 11 provider
+ Provider p = Security.getProvider("SunPKCS11-pkcs11Test");
+ if (p==null) {
+ throw new RuntimeException("could not get security provider");
+ }
+
+ // Load the key store
+ char[] pin = "123456789".toCharArray();
+ KeyStore keyStore = KeyStore.getInstance("PKCS11", p);
+ keyStore.load(null, pin);
+
+ // Load the CA certificate
+ FileInputStream tst = new FileInputStream("/ca.jks");
+ KeyStore trustStore = KeyStore.getInstance("JKS");
+ trustStore.load(tst, pin);
+
+ KeyManagerFactory keyManagerFactory =
+ KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
+ //Add to keystore to key manager
+ keyManagerFactory.init(keyStore, pin);
+
+ TrustManagerFactory trustManagerFactory =
+ TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
+ trustManagerFactory.init(trustStore);
+
+ //Create the context
+ SSLContext context = SSLContext.getInstance("TLS");
+ context.init(keyManagerFactory.getKeyManagers(),
+ trustManagerFactory.getTrustManagers(), new SecureRandom());
+ //Create a socket factory
+ SSLSocketFactory ssf = context.getSocketFactory();
+ }
+ public SSLSocketFactory getSSF() {
+ return(ssf);
+ }
+}
diff --git a/sms-client/src/java/test/SmsTest.java b/sms-client/src/java/test/SmsTest.java
new file mode 100644
index 0000000..8786570
--- /dev/null
+++ b/sms-client/src/java/test/SmsTest.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2018 Intel Corporation, Inc
+ *
+ * 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.aaf.sms;
+
+import javax.net.ssl.SSLSocketFactory;
+import java.net.URL;
+import javax.net.ssl.HttpsURLConnection;
+import org.onap.aaf.sms.SmsResponse;
+import org.onap.aaf.sms.SmsClient;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.InputStreamReader;
+import java.io.BufferedReader;
+import java.io.OutputStreamWriter;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ArrayList;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class SmsTest extends SmsClient {
+
+ public SmsTest(String host, int port, SSLSocketFactory s) {
+ super(host, port, s);
+ }
+ public SmsTest(String host, int port, String version, SSLSocketFactory s) {
+ super(host, port, version, s);
+ }
+ public SmsResponse execute(String reqtype, String t, String ins, boolean input, boolean output) {
+ Map<String, Object> m;
+ SmsResponse resp = new SmsResponse();
+ System.out.println(t);
+ if ( t.matches("(.*)/v1/sms/domain"))
+
+ {
+ resp.setSuccess(true);
+ resp.setResponseCode(200);
+ try {
+ m = strtomap(ins);
+ } catch ( Exception e ) {
+ resp.setResponse(null);
+ return(resp);
+ }
+ resp.setResponse(m);
+ }
+ return resp;
+ }
+}