summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnil Dahiya <anil_dahiya@infosys.com>2016-08-02 18:52:53 +0530
committerAnil Dahiya <anil_dahiya@infosys.com>2016-08-02 18:52:53 +0530
commit2c0d0e0026cce92e14d16560b07a42742cb280e3 (patch)
treeecdd697d99843f66acf14cf3ba2a3c3d69db9368
parente57550022596435a5e53523b5cb879ba2b031ea3 (diff)
downloadsdl_android-2c0d0e0026cce92e14d16560b07a42742cb280e3.tar.gz
Updating method for checking payload protected to isPayloadProtected instead of getPayloadProtected. Created constant instead of using hardcoded ints in SdlProxyBase. Also, added basic unit test case for testing SdlSecurityBase.
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/proxy/RPCStruct.java2
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java19
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/security/SdlSecurityBase.java14
-rw-r--r--sdl_android_lib/src/com/smartdevicelink/streaming/StreamRPCPacketizer.java2
-rw-r--r--sdl_android_tests/src/com/smartdevicelink/SdlConnection/SdlConnectionTest.java3
-rw-r--r--sdl_android_tests/src/com/smartdevicelink/test/security/SdlSecurityBaseTest.java167
-rw-r--r--sdl_android_tests/src/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java11
7 files changed, 187 insertions, 31 deletions
diff --git a/sdl_android_lib/src/com/smartdevicelink/proxy/RPCStruct.java b/sdl_android_lib/src/com/smartdevicelink/proxy/RPCStruct.java
index 7632cf6d3..4aea8e146 100644
--- a/sdl_android_lib/src/com/smartdevicelink/proxy/RPCStruct.java
+++ b/sdl_android_lib/src/com/smartdevicelink/proxy/RPCStruct.java
@@ -82,7 +82,7 @@ public class RPCStruct {
protectedPayload = bVal;
}
- public Boolean getPayloadProtected() {
+ public Boolean isPayloadProtected() {
return protectedPayload;
}
diff --git a/sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java b/sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java
index 74376b7ed..85bc6312b 100644
--- a/sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java
+++ b/sdl_android_lib/src/com/smartdevicelink/proxy/SdlProxyBase.java
@@ -102,6 +102,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
public static final String TAG = "SdlProxy";
private static final String SDL_LIB_TRACE_KEY = "42baba60-eb57-11df-98cf-0800200c9a66";
private static final int PROX_PROT_VER_ONE = 1;
+ private static final int RESPONSE_WAIT_TIME = 2000;
private SdlSession sdlSession = null;
private proxyListenerType _proxyListener = null;
@@ -1648,7 +1649,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
pm.setMessageType(MessageType.RPC);
pm.setSessionType(SessionType.RPC);
pm.setFunctionID(FunctionID.getFunctionId(request.getFunctionName()));
- pm.setPayloadProtected(request.getPayloadProtected());
+ pm.setPayloadProtected(request.isPayloadProtected());
if (request.getCorrelationID() == null)
{
//Log error here
@@ -3441,7 +3442,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
sdlSession.startService(SessionType.NAV, sdlSession.getSessionId(), isEncrypted);
- FutureTask<Void> fTask = createFutureTask(new CallableMethod(10000));
+ FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
scheduler.execute(fTask);
@@ -3474,7 +3475,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
navServiceStartResponse = false;
sdlSession.startService(SessionType.NAV, sdlSession.getSessionId(), isEncrypted);
- FutureTask<Void> fTask = createFutureTask(new CallableMethod(10000));
+ FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
scheduler.execute(fTask);
@@ -3505,7 +3506,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
navServiceEndResponse = false;
sdlSession.stopVideoStream();
- FutureTask<Void> fTask = createFutureTask(new CallableMethod(10000));
+ FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
scheduler.execute(fTask);
@@ -3572,7 +3573,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
pcmServiceStartResponse = false;
sdlSession.startService(SessionType.PCM, sdlSession.getSessionId(), isEncrypted);
- FutureTask<Void> fTask = createFutureTask(new CallableMethod(10000));
+ FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
scheduler.execute(fTask);
@@ -3604,7 +3605,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
pcmServiceStartResponse = false;
sdlSession.startService(SessionType.PCM, sdlSession.getSessionId(), isEncrypted);
- FutureTask<Void> fTask = createFutureTask(new CallableMethod(10000));
+ FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
scheduler.execute(fTask);
@@ -3637,7 +3638,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
pcmServiceEndResponse = false;
sdlSession.stopAudioStream();
- FutureTask<Void> fTask = createFutureTask(new CallableMethod(10000));
+ FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
scheduler.execute(fTask);
@@ -3673,7 +3674,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
navServiceStartResponse = false;
sdlSession.startService(SessionType.NAV, sdlSession.getSessionId(), isEncrypted);
- FutureTask<Void> fTask = createFutureTask(new CallableMethod(2000));
+ FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
scheduler.execute(fTask);
@@ -3777,7 +3778,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
rpcProtectedStartResponse = false;
sdlSession.startService(SessionType.RPC, sdlSession.getSessionId(), true);
- FutureTask<Void> fTask = createFutureTask(new CallableMethod(10000));
+ FutureTask<Void> fTask = createFutureTask(new CallableMethod(RESPONSE_WAIT_TIME));
ScheduledExecutorService scheduler = createScheduler();
scheduler.execute(fTask);
diff --git a/sdl_android_lib/src/com/smartdevicelink/security/SdlSecurityBase.java b/sdl_android_lib/src/com/smartdevicelink/security/SdlSecurityBase.java
index 6aab36635..8b7e6a12a 100644
--- a/sdl_android_lib/src/com/smartdevicelink/security/SdlSecurityBase.java
+++ b/sdl_android_lib/src/com/smartdevicelink/security/SdlSecurityBase.java
@@ -10,13 +10,13 @@ import com.smartdevicelink.protocol.enums.SessionType;
public abstract class SdlSecurityBase {
- private SdlSession session = null;
- private String appId = null;
- private List<String> makeList = null;
- private boolean isInitSuccess = false;
- private byte sessionId = 0;
- private static Service appService = null;
- private List<SessionType> startServiceList = new ArrayList<SessionType>();
+ protected SdlSession session = null;
+ protected String appId = null;
+ protected List<String> makeList = null;
+ protected boolean isInitSuccess = false;
+ protected byte sessionId = 0;
+ protected static Service appService = null;
+ protected List<SessionType> startServiceList = new ArrayList<SessionType>();
public SdlSecurityBase() {
}
diff --git a/sdl_android_lib/src/com/smartdevicelink/streaming/StreamRPCPacketizer.java b/sdl_android_lib/src/com/smartdevicelink/streaming/StreamRPCPacketizer.java
index 0e00ecad7..2fc35a5a9 100644
--- a/sdl_android_lib/src/com/smartdevicelink/streaming/StreamRPCPacketizer.java
+++ b/sdl_android_lib/src/com/smartdevicelink/streaming/StreamRPCPacketizer.java
@@ -45,7 +45,7 @@ public class StreamRPCPacketizer extends AbstractPacketizer implements IPutFileR
iInitialCorrID = request.getCorrelationID();
mPauseLock = new Object();
mPaused = false;
- isRPCProtected = request.getPayloadProtected();
+ isRPCProtected = request.isPayloadProtected();
if (proxy != null)
{
_proxy = proxy;
diff --git a/sdl_android_tests/src/com/smartdevicelink/SdlConnection/SdlConnectionTest.java b/sdl_android_tests/src/com/smartdevicelink/SdlConnection/SdlConnectionTest.java
index 82dba7510..cf921541a 100644
--- a/sdl_android_tests/src/com/smartdevicelink/SdlConnection/SdlConnectionTest.java
+++ b/sdl_android_tests/src/com/smartdevicelink/SdlConnection/SdlConnectionTest.java
@@ -1,15 +1,14 @@
package com.smartdevicelink.SdlConnection;
import android.test.AndroidTestCase;
-import android.util.Log;
+import com.smartdevicelink.test.SdlUnitTestContants;
import com.smartdevicelink.transport.BTTransportConfig;
import com.smartdevicelink.transport.BaseTransportConfig;
import com.smartdevicelink.transport.MultiplexTransportConfig;
import com.smartdevicelink.transport.RouterServiceValidator;
import com.smartdevicelink.transport.USBTransportConfig;
import com.smartdevicelink.transport.enums.TransportType;
-import com.smartdevicelink.test.SdlUnitTestContants;
public class SdlConnectionTest extends AndroidTestCase {
diff --git a/sdl_android_tests/src/com/smartdevicelink/test/security/SdlSecurityBaseTest.java b/sdl_android_tests/src/com/smartdevicelink/test/security/SdlSecurityBaseTest.java
new file mode 100644
index 000000000..56a482804
--- /dev/null
+++ b/sdl_android_tests/src/com/smartdevicelink/test/security/SdlSecurityBaseTest.java
@@ -0,0 +1,167 @@
+package com.smartdevicelink.test.security;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import android.test.AndroidTestCase;
+
+import com.smartdevicelink.SdlConnection.ISdlConnectionListener;
+import com.smartdevicelink.SdlConnection.SdlSession;
+import com.smartdevicelink.protocol.ProtocolMessage;
+import com.smartdevicelink.protocol.enums.SessionType;
+import com.smartdevicelink.security.SdlSecurityBase;
+import com.smartdevicelink.test.Test;
+import com.smartdevicelink.transport.BTTransportConfig;
+import com.smartdevicelink.transport.BaseTransportConfig;
+
+public class SdlSecurityBaseTest extends AndroidTestCase {
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ }
+
+ private class MockSdlSecurityBase extends SdlSecurityBase {
+
+ @Override
+ public void initialize() {
+
+ }
+
+ @Override
+ public Integer runHandshake(byte[] inputData, byte[] outputData) {
+ return null;
+ }
+
+ @Override
+ public Integer encryptData(byte[] inputData, byte[] outputData) {
+ return null;
+ }
+
+ @Override
+ public Integer decryptData(byte[] inputData, byte[] outputData) {
+ return null;
+ }
+
+ @Override
+ public void shutDown() {
+
+ }
+
+ public SdlSession getSdlSession() {
+ return session;
+ }
+
+ public void setStartServiceList(List<SessionType> list) {
+ startServiceList = list;
+ }
+ }
+
+ class MockInterfaceBroker implements ISdlConnectionListener {
+ public MockInterfaceBroker () { }
+ @Override
+ public void onTransportDisconnected(String info) {
+
+ }
+ @Override
+ public void onTransportError(String info, Exception e) {
+
+ }
+ @Override
+ public void onProtocolMessageReceived(ProtocolMessage msg) {
+
+ }
+ @Override
+ public void onProtocolSessionStartedNACKed(SessionType sessionType,
+ byte sessionID, byte version, String correlationID) {
+
+ }
+ @Override
+ public void onProtocolSessionStarted(SessionType sessionType,
+ byte sessionID, byte version, String correlationID, int hashID,
+ boolean isEncrypted) {
+
+ }
+ @Override
+ public void onProtocolSessionEnded(SessionType sessionType, byte sessionID,
+ String correlationID) {
+
+ }
+ @Override
+ public void onProtocolSessionEndedNACKed(SessionType sessionType,
+ byte sessionID, String correlationID) {
+
+ }
+ @Override
+ public void onProtocolError(String info, Exception e) {
+
+ }
+ @Override
+ public void onHeartbeatTimedOut(byte sessionID) {
+
+ }
+ @Override
+ public void onProtocolServiceDataACK(SessionType sessionType, int dataSize,
+ byte sessionID) {
+
+ }
+
+ }
+
+ public void testMakeListSetAndGet(){
+ List<String> makeList = new ArrayList<String>();
+ MockSdlSecurityBase mockSdlSecurityBase = new MockSdlSecurityBase();
+
+ String MAKE_1 = "SDL1";
+ String MAKE_2 = "SDL2";
+ makeList.add(MAKE_1);
+ makeList.add(MAKE_2);
+
+ mockSdlSecurityBase.setMakeList(makeList);
+
+ assertNotNull(Test.NOT_NULL, makeList);
+ assertEquals(Test.MATCH, makeList, mockSdlSecurityBase.getMakeList());
+ }
+
+ public void testHandleInitResult() {
+ byte testWiproVersion = (byte) 0x0B;
+ boolean testInitResult = true;
+ MockInterfaceBroker interfaceBroker = new MockInterfaceBroker();
+ BaseTransportConfig transportConfig = new BTTransportConfig(true);
+ MockSdlSecurityBase mockSdlSecurityBase = new MockSdlSecurityBase();
+
+ SdlSession testSdlSession = SdlSession.createSession(testWiproVersion,interfaceBroker, transportConfig);
+
+ assertNotNull(Test.NOT_NULL, mockSdlSecurityBase);
+ assertNotNull(Test.NOT_NULL, testSdlSession);
+
+ testSdlSession.setSdlSecurity(mockSdlSecurityBase);
+
+ mockSdlSecurityBase.handleSdlSession(testSdlSession);
+
+ assertEquals(Test.MATCH, mockSdlSecurityBase.getSdlSession(), testSdlSession);
+ assertEquals(Test.MATCH, mockSdlSecurityBase.getSdlSession().getSessionId(), testSdlSession.getSessionId());
+
+ mockSdlSecurityBase.handleInitResult(testInitResult);
+
+ assertEquals(Test.MATCH, testInitResult, mockSdlSecurityBase.getInitSuccess());
+ }
+
+ public void testStartServiceListSetAndGet() {
+ List<SessionType> startServiceList = new ArrayList<SessionType>();
+ MockSdlSecurityBase mockSdlSecurityBase = new MockSdlSecurityBase();
+
+ startServiceList.add(SessionType.RPC);
+ startServiceList.add(SessionType.NAV);
+ startServiceList.add(SessionType.PCM);
+ startServiceList.add(SessionType.CONTROL);
+
+ assertNotNull(Test.NOT_NULL, startServiceList);
+
+ mockSdlSecurityBase.setStartServiceList(startServiceList);
+
+ assertEquals(Test.MATCH, startServiceList, mockSdlSecurityBase.getServiceList());
+ }
+
+}
diff --git a/sdl_android_tests/src/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java b/sdl_android_tests/src/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java
index 1de98acbd..6c5f663ba 100644
--- a/sdl_android_tests/src/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java
+++ b/sdl_android_tests/src/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java
@@ -9,7 +9,6 @@ import java.net.URLConnection;
import junit.framework.TestCase;
import com.smartdevicelink.SdlConnection.ISdlConnectionListener;
-import com.smartdevicelink.SdlConnection.SdlConnection;
import com.smartdevicelink.SdlConnection.SdlSession;
import com.smartdevicelink.protocol.ProtocolMessage;
import com.smartdevicelink.protocol.enums.SessionType;
@@ -113,58 +112,48 @@ class MockInterfaceBroker implements ISdlConnectionListener {
public MockInterfaceBroker () { }
@Override
public void onTransportDisconnected(String info) {
- // TODO Auto-generated method stub
}
@Override
public void onTransportError(String info, Exception e) {
- // TODO Auto-generated method stub
}
@Override
public void onProtocolMessageReceived(ProtocolMessage msg) {
- // TODO Auto-generated method stub
}
@Override
public void onProtocolSessionStartedNACKed(SessionType sessionType,
byte sessionID, byte version, String correlationID) {
- // TODO Auto-generated method stub
}
@Override
public void onProtocolSessionStarted(SessionType sessionType,
byte sessionID, byte version, String correlationID, int hashID,
boolean isEncrypted) {
- // TODO Auto-generated method stub
}
@Override
public void onProtocolSessionEnded(SessionType sessionType, byte sessionID,
String correlationID) {
- // TODO Auto-generated method stub
}
@Override
public void onProtocolSessionEndedNACKed(SessionType sessionType,
byte sessionID, String correlationID) {
- // TODO Auto-generated method stub
}
@Override
public void onProtocolError(String info, Exception e) {
- // TODO Auto-generated method stub
}
@Override
public void onHeartbeatTimedOut(byte sessionID) {
- // TODO Auto-generated method stub
}
@Override
public void onProtocolServiceDataACK(SessionType sessionType, int dataSize,
byte sessionID) {
- // TODO Auto-generated method stub
}
}