summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Grover <joeygrover@gmail.com>2017-10-11 15:59:06 -0400
committerJoey Grover <joeygrover@gmail.com>2017-10-11 15:59:06 -0400
commitddddd7e468963f152fd0b289a58e16e053e3d63d (patch)
tree2c15dea3d2948b21bd26bd486a89bc8669316e05
parentb572ec80361f24f0c0683ed21e94afc6f177ab15 (diff)
downloadsdl_android-ddddd7e468963f152fd0b289a58e16e053e3d63d.tar.gz
Updated unit tests
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java23
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java85
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockInterfaceBroker.java61
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockPacketizer.java33
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockStreamListener.java13
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamRPCPacketizerTests.java5
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/RTPH264PacketizerTest.java (renamed from sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/RTPH264PacketizerTest.java)3
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/SdlRemoteDisplayTest.java139
8 files changed, 274 insertions, 88 deletions
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java
index 678a4e95b..fdc52f9b7 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java
@@ -1,6 +1,7 @@
package com.smartdevicelink.test.proxy;
import android.content.Context;
+import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.test.AndroidTestCase;
import android.util.Log;
@@ -79,9 +80,14 @@ import com.smartdevicelink.proxy.rpc.UnsubscribeVehicleDataResponse;
import com.smartdevicelink.proxy.rpc.UnsubscribeWayPointsResponse;
import com.smartdevicelink.proxy.rpc.UpdateTurnListResponse;
import com.smartdevicelink.proxy.rpc.enums.SdlDisconnectedReason;
+import com.smartdevicelink.streaming.video.SdlRemoteDisplay;
+import com.smartdevicelink.streaming.video.VideoStreamingParameters;
+import com.smartdevicelink.test.streaming.video.SdlRemoteDisplayTest;
import junit.framework.Assert;
+import java.lang.reflect.Method;
+
public class SdlProxyBaseTests extends AndroidTestCase{
public static final String TAG = "SdlProxyBaseTests";
@@ -139,6 +145,23 @@ public class SdlProxyBaseTests extends AndroidTestCase{
}
}
+ public void testRemoteDisplayStreaming(){
+ SdlProxyALM proxy = null;
+ SdlProxyBuilder.Builder builder = new SdlProxyBuilder.Builder(new ProxyListenerTest(), "appId", "appName", true, getContext());
+ try{
+ proxy = builder.build();
+ // public void startRemoteDisplayStream(Context context, final Class<? extends SdlRemoteDisplay> remoteDisplay, final VideoStreamingParameters parameters, final boolean encrypted){
+ Method m = SdlProxyALM.class.getDeclaredMethod("startRemoteDisplayStream", Context.class, SdlRemoteDisplay.class, VideoStreamingParameters.class, boolean.class);
+ assertNotNull(m);
+ m.setAccessible(true);
+ m.invoke(proxy,getContext(), SdlRemoteDisplayTest.MockRemoteDisplay.class, (VideoStreamingParameters)null, false);
+ assert true;
+
+ }catch (Exception e){
+ assert false;
+ }
+ }
+
public class ProxyListenerTest implements IProxyListenerALM {
@Override
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java
index 80126c67c..c74e8ab84 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java
@@ -90,88 +90,3 @@ public class AbstractPacketizerTests extends TestCase {
}
}
-/**
- * This is a mock class for testing the following :
- * {@link com.smartdevicelink.streaming.AbstractPacketizer}
- */
-class MockStreamListener implements IStreamListener {
- public MockStreamListener () { }
- @Override public void sendStreamPacket(ProtocolMessage pm) { }
-}
-
-/**
- * This is a mock class for testing the following :
- * {@link com.smartdevicelink.streaming.AbstractPacketizer}
- */
-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, List<String> rejectedParams) {
-
- }
- @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) {
-
- }
-}
-
-/**
- * This is a mock class for testing the following :
- * {@link com.smartdevicelink.streaming.AbstractPacketizer}
- */
-class MockPacketizer extends AbstractPacketizer {
- public MockPacketizer (IStreamListener l, InputStream i, SessionType s, byte sid, SdlSession sdlsession) throws IOException { super (l, i, s, sid, sdlsession); }
- public MockPacketizer (IStreamListener l, InputStream i, RPCRequest r, SessionType s, byte sid, byte w, SdlSession sdlsession) throws IOException { super (l, i, r, s, sid, w, sdlsession); }
-
- @Override public void start() throws IOException { }
- @Override public void stop() { }
-
- public IStreamListener getListener () { return _streamListener; }
- public InputStream getInputStream () { return is; }
- public SessionType getSessionType () { return _serviceType; }
- public SdlSession getSdlSession () { return _session; }
- public byte getSessionId () { return _rpcSessionID; }
- public RPCRequest getRPCRequest () { return _request; }
- public byte getWiproVersion () { return _wiproVersion; }
-
- @Override public void pause() { }
- @Override public void resume() { }
-}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockInterfaceBroker.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockInterfaceBroker.java
new file mode 100644
index 000000000..86dbd7b81
--- /dev/null
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockInterfaceBroker.java
@@ -0,0 +1,61 @@
+package com.smartdevicelink.test.streaming;
+
+import com.smartdevicelink.SdlConnection.ISdlConnectionListener;
+import com.smartdevicelink.protocol.ProtocolMessage;
+import com.smartdevicelink.protocol.enums.SessionType;
+
+import java.util.List;
+
+/**
+ * This is a mock class for testing the following :
+ * {@link com.smartdevicelink.streaming.AbstractPacketizer}
+ */
+public 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, List<String> rejectedParams) {
+
+ }
+ @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) {
+
+ }
+}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockPacketizer.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockPacketizer.java
new file mode 100644
index 000000000..d32a204a6
--- /dev/null
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockPacketizer.java
@@ -0,0 +1,33 @@
+package com.smartdevicelink.test.streaming;
+
+import com.smartdevicelink.SdlConnection.SdlSession;
+import com.smartdevicelink.protocol.enums.SessionType;
+import com.smartdevicelink.proxy.RPCRequest;
+import com.smartdevicelink.streaming.AbstractPacketizer;
+import com.smartdevicelink.streaming.IStreamListener;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * This is a mock class for testing the following :
+ * {@link com.smartdevicelink.streaming.AbstractPacketizer}
+ */
+public class MockPacketizer extends AbstractPacketizer {
+ public MockPacketizer (IStreamListener l, InputStream i, SessionType s, byte sid, SdlSession sdlsession) throws IOException { super (l, i, s, sid, sdlsession); }
+ public MockPacketizer (IStreamListener l, InputStream i, RPCRequest r, SessionType s, byte sid, byte w, SdlSession sdlsession) throws IOException { super (l, i, r, s, sid, w, sdlsession); }
+
+ @Override public void start() throws IOException { }
+ @Override public void stop() { }
+
+ public IStreamListener getListener () { return _streamListener; }
+ public InputStream getInputStream () { return is; }
+ public SessionType getSessionType () { return _serviceType; }
+ public SdlSession getSdlSession () { return _session; }
+ public byte getSessionId () { return _rpcSessionID; }
+ public RPCRequest getRPCRequest () { return _request; }
+ public byte getWiproVersion () { return _wiproVersion; }
+
+ @Override public void pause() { }
+ @Override public void resume() { }
+}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockStreamListener.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockStreamListener.java
new file mode 100644
index 000000000..0081c65ea
--- /dev/null
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/MockStreamListener.java
@@ -0,0 +1,13 @@
+package com.smartdevicelink.test.streaming;
+
+import com.smartdevicelink.protocol.ProtocolMessage;
+import com.smartdevicelink.streaming.IStreamListener;
+
+/**
+ * This is a mock class for testing the following :
+ * {@link com.smartdevicelink.streaming.AbstractPacketizer}
+ */
+public class MockStreamListener implements IStreamListener {
+ public MockStreamListener () { }
+ @Override public void sendStreamPacket(ProtocolMessage pm) { }
+}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamRPCPacketizerTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamRPCPacketizerTests.java
index cac3b1616..0f72eec95 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamRPCPacketizerTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamRPCPacketizerTests.java
@@ -10,6 +10,7 @@ import java.net.URLConnection;
import com.smartdevicelink.SdlConnection.SdlSession;
import com.smartdevicelink.protocol.enums.SessionType;
import com.smartdevicelink.proxy.RPCRequest;
+import com.smartdevicelink.proxy.SdlProxyBase;
import com.smartdevicelink.streaming.IStreamListener;
import com.smartdevicelink.streaming.StreamRPCPacketizer;
import com.smartdevicelink.test.Test;
@@ -20,13 +21,13 @@ import junit.framework.TestCase;
/**
* This is a unit test class for the SmartDeviceLink library project class :
- * {@link com.smartdevicelink.streaming.StreamRpcPacketizer}
+ * {@link com.smartdevicelink.streaming.StreamRPCPacketizer}
*/
public class StreamRPCPacketizerTests extends TestCase {
/**
* This is a unit test for the following methods :
- * {@link com.smartdevicelink.streaming.StreamRPCPacketizer#StreamRPCPacketizer(IStreamListener, InputStream, RPCRequest, SessionType, byte, byte)}
+ * {@link com.smartdevicelink.streaming.StreamRPCPacketizer#StreamRPCPacketizer(SdlProxyBase, IStreamListener, InputStream, RPCRequest, SessionType, byte, byte, long, SdlSession)}
*/
public void testConstructor () {
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/RTPH264PacketizerTest.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/RTPH264PacketizerTest.java
index 6d169809a..7090ba8e8 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/RTPH264PacketizerTest.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/RTPH264PacketizerTest.java
@@ -28,7 +28,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package com.smartdevicelink.test.streaming;
+package com.smartdevicelink.test.streaming.video;
import com.smartdevicelink.SdlConnection.SdlSession;
import com.smartdevicelink.protocol.ProtocolMessage;
@@ -36,6 +36,7 @@ import com.smartdevicelink.protocol.enums.SessionType;
import com.smartdevicelink.proxy.interfaces.IVideoStreamListener;
import com.smartdevicelink.streaming.IStreamListener;
import com.smartdevicelink.streaming.video.RTPH264Packetizer;
+import com.smartdevicelink.test.streaming.MockInterfaceBroker;
import com.smartdevicelink.transport.BTTransportConfig;
import junit.framework.TestCase;
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/SdlRemoteDisplayTest.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/SdlRemoteDisplayTest.java
new file mode 100644
index 000000000..96e6e29cb
--- /dev/null
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/video/SdlRemoteDisplayTest.java
@@ -0,0 +1,139 @@
+package com.smartdevicelink.test.streaming.video;
+
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.os.Bundle;
+import android.os.Looper;
+import android.test.AndroidTestCase;
+import android.view.Display;
+import android.view.MotionEvent;
+import android.widget.RelativeLayout;
+
+import com.smartdevicelink.R;
+import com.smartdevicelink.encoder.VirtualDisplayEncoder;
+import com.smartdevicelink.proxy.interfaces.IVideoStreamListener;
+import com.smartdevicelink.streaming.video.SdlRemoteDisplay;
+import com.smartdevicelink.streaming.video.VideoStreamingParameters;
+
+import junit.framework.TestCase;
+
+import java.nio.ByteBuffer;
+import java.util.concurrent.FutureTask;
+
+
+public class SdlRemoteDisplayTest extends AndroidTestCase {
+
+ MockRemoteDisplayCallback rdCallback = new MockRemoteDisplayCallback();
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ if(Looper.myLooper() == null){
+ Looper.prepare();
+ }
+ }
+
+ public void testCreator(){
+ VirtualDisplayEncoder encoder = createVDE();
+ assertNotNull(encoder);
+
+
+ SdlRemoteDisplay.Creator creator = new SdlRemoteDisplay.Creator(this.getContext(), encoder.getVirtualDisplay(), null, MockRemoteDisplay.class, rdCallback);
+ assertNotNull(creator);
+ FutureTask<Boolean> fTask = new FutureTask<Boolean>(creator);
+ Thread showPresentation = new Thread(fTask);
+ showPresentation.start();
+ assert true;
+ }
+
+ public void testConstructor(){
+ VirtualDisplayEncoder encoder = createVDE();
+ assertNotNull(encoder);
+ MockRemoteDisplay remoteDisplay = new MockRemoteDisplay(getContext(), encoder.getVirtualDisplay());
+ assertNotNull(remoteDisplay);
+
+ encoder.shutDown();
+ }
+
+
+ @TargetApi(19)
+ public void testTouchEvents(){
+ VirtualDisplayEncoder encoder = createVDE();
+ assertNotNull(encoder);
+ MockRemoteDisplay remoteDisplay = new MockRemoteDisplay(getContext(), encoder.getVirtualDisplay());
+ assertNotNull(remoteDisplay);
+ remoteDisplay.show();
+
+ assertNotNull(remoteDisplay.getMainView());
+
+ try{
+ remoteDisplay.handleMotionEvent(MotionEvent.obtain(10, System.currentTimeMillis(), MotionEvent.ACTION_DOWN, 100, 100, 0));
+ }catch (Exception e){
+ assert false;
+ }
+
+ remoteDisplay.dismiss();
+ encoder.shutDown();
+ }
+
+
+ public VirtualDisplayEncoder createVDE(){
+ try{
+ VirtualDisplayEncoder displayEncoder = new VirtualDisplayEncoder();
+ displayEncoder.init(getContext(), new MockVideoStreamListener(), new VideoStreamingParameters());
+ displayEncoder.start();
+ return displayEncoder;
+ }catch (Exception e ){
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+
+ //Mock classes
+
+ public static class MockRemoteDisplay extends SdlRemoteDisplay{
+
+ public MockRemoteDisplay(Context context, Display display) {
+ super(context, display);
+
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView( new RelativeLayout(getContext()));
+
+ }
+
+
+ }
+
+ class MockVideoStreamListener implements IVideoStreamListener{
+
+ @Override
+ public void sendFrame(byte[] data, int offset, int length, long presentationTimeUs) throws ArrayIndexOutOfBoundsException {
+
+ }
+
+ @Override
+ public void sendFrame(ByteBuffer data, long presentationTimeUs) {
+
+ }
+ }
+
+ class MockRemoteDisplayCallback implements SdlRemoteDisplay.Callback{
+
+ @Override
+ public void onCreated(SdlRemoteDisplay remoteDisplay) {
+
+ }
+
+ @Override
+ public void onInvalidated(SdlRemoteDisplay remoteDisplay) {
+
+ }
+ }
+
+
+}