summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Kirk <askirk@umich.edu>2017-05-19 11:29:09 -0400
committerAustin Kirk <askirk@umich.edu>2017-05-19 11:29:09 -0400
commit4aaafd91c52ce11f57fe3909a78b09f4e1c3f9c6 (patch)
tree5eb49efcbf0744b6de5aa5f2d0edb31d2ccc46b4
parent1d21d1f96344d81342940159d0b65c8fcdb21112 (diff)
downloadsdl_android-bugfix/unit_emulator_tests.tar.gz
Fixing the failing unit tests in Emulatorbugfix/unit_emulator_tests
Adds a DeviceUtil class with isEmulator() function to detect if running in emulator. Aspects like MultiplexBT and BT adapter checks will account for if an emulator is running the test. Changed FTP url in Packetizer tests that was failing in emulator.
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/SdlConnection/SdlConnectionTest.java14
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/AbstractPacketizerTests.java3
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamPacketizerTests.java2
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamRPCPacketizerTests.java2
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/transport/MultiplexBluetoothTransportTest.java7
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/util/DeviceUtil.java14
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportBrokerTest.java23
7 files changed, 51 insertions, 14 deletions
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/SdlConnection/SdlConnectionTest.java b/sdl_android/src/androidTest/java/com/smartdevicelink/SdlConnection/SdlConnectionTest.java
index 7d9e2cfcd..0b8e37ea0 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/SdlConnection/SdlConnectionTest.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/SdlConnection/SdlConnectionTest.java
@@ -3,6 +3,7 @@ package com.smartdevicelink.SdlConnection;
import android.test.AndroidTestCase;
import com.smartdevicelink.test.SdlUnitTestContants;
+import com.smartdevicelink.test.util.DeviceUtil;
import com.smartdevicelink.transport.BTTransportConfig;
import com.smartdevicelink.transport.BaseTransportConfig;
import com.smartdevicelink.transport.MultiplexTransportConfig;
@@ -46,9 +47,10 @@ public class SdlConnectionTest extends AndroidTestCase {
SdlConnectionTestClass.cachedMultiConfig.setSecurityLevel(MultiplexTransportConfig.FLAG_MULTI_SECURITY_OFF);
- assertNotNull(SdlConnectionTestClass.cachedMultiConfig.getService());
-
- assertEquals(TransportType.MULTIPLEX, connection.getCurrentTransportType());
+ if(!DeviceUtil.isEmulator()) { // Cannot perform MBT operations in emulator
+ assertNotNull(SdlConnectionTestClass.cachedMultiConfig.getService());
+ assertEquals(TransportType.MULTIPLEX, connection.getCurrentTransportType());
+ }
// Test for handling of null service
MultiplexTransportConfig null_service_config = new MultiplexTransportConfig(this.mContext,SdlUnitTestContants.TEST_APP_ID);
@@ -70,7 +72,11 @@ public class SdlConnectionTest extends AndroidTestCase {
rsvp.setFlags(RouterServiceValidator.FLAG_DEBUG_NONE);
MultiplexTransportConfig config = new MultiplexTransportConfig(this.mContext,SdlUnitTestContants.TEST_APP_ID);
SdlConnection connection = new SdlConnection(config,rsvp);
- assertEquals(TransportType.MULTIPLEX, connection.getCurrentTransportType());
+ if(DeviceUtil.isEmulator()){ // Cannot perform MBT operations in emulator
+ assertEquals(TransportType.BLUETOOTH, connection.getCurrentTransportType());
+ }else{
+ assertEquals(TransportType.MULTIPLEX, connection.getCurrentTransportType());
+ }
}
public void testMultiplexConstructorInsalledFrom(){
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 54bc4b585..031281ea6 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
@@ -46,7 +46,7 @@ public class AbstractPacketizerTests extends TestCase {
try {
- URL url = new URL("ftp://mirror.csclub.uwaterloo.ca/index.html");
+ URL url = new URL("https://github.com/smartdevicelink/sdl_android");
URLConnection urlConnection = url.openConnection();
testInputStream = new BufferedInputStream(urlConnection.getInputStream());
@@ -90,6 +90,7 @@ public class AbstractPacketizerTests extends TestCase {
assertNull(Test.NULL, testPacketizer2.getSessionType());
} catch (IOException e) {
+ e.printStackTrace();
fail("IOException was thrown.");
}
}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamPacketizerTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamPacketizerTests.java
index 2f4661aa8..659e1bea3 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamPacketizerTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/streaming/StreamPacketizerTests.java
@@ -40,7 +40,7 @@ public class StreamPacketizerTests extends TestCase {
SdlSession testSdlSession = SdlSession.createSession(testWiproVersion,_interfaceBroker, _transportConfig);
try {
- URL url = new URL("ftp://mirror.csclub.uwaterloo.ca/index.html");
+ URL url = new URL("https://github.com/smartdevicelink/sdl_android");
URLConnection urlConnection = url.openConnection();
testInputStream = new BufferedInputStream(urlConnection.getInputStream());
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 63fb437f7..f79b832d9 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
@@ -43,7 +43,7 @@ public class StreamRPCPacketizerTests extends TestCase {
SdlSession testSdlSession = SdlSession.createSession(testWiproVersion,_interfaceBroker, _transportConfig);
try {
- URL url = new URL("ftp://mirror.csclub.uwaterloo.ca/index.html");
+ URL url = new URL("https://github.com/smartdevicelink/sdl_android");
URLConnection urlConnection = url.openConnection();
testInputStream = new BufferedInputStream(urlConnection.getInputStream());
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/transport/MultiplexBluetoothTransportTest.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/transport/MultiplexBluetoothTransportTest.java
index 9f6ef3c2b..cdf83079c 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/transport/MultiplexBluetoothTransportTest.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/transport/MultiplexBluetoothTransportTest.java
@@ -4,6 +4,7 @@ import android.os.Handler;
import android.os.Looper;
import android.os.Message;
+import com.smartdevicelink.test.util.DeviceUtil;
import com.smartdevicelink.transport.MultiplexBluetoothTransport;
import com.smartdevicelink.transport.SdlRouterService;
@@ -54,7 +55,11 @@ public class MultiplexBluetoothTransportTest extends TestCase {
assertEquals(bluetooth.getState(), MultiplexBluetoothTransport.STATE_NONE);
bluetooth.start();
- assertEquals(bluetooth.getState(), MultiplexBluetoothTransport.STATE_LISTEN);
+ if(DeviceUtil.isEmulator()){
+ assertEquals(bluetooth.getState(), MultiplexBluetoothTransport.STATE_NONE);
+ }else{
+ assertEquals(bluetooth.getState(), MultiplexBluetoothTransport.STATE_LISTEN);
+ }
bluetooth.stop();
assertEquals(bluetooth.getState(), MultiplexBluetoothTransport.STATE_NONE);
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/DeviceUtil.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/DeviceUtil.java
new file mode 100644
index 000000000..74595c337
--- /dev/null
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/util/DeviceUtil.java
@@ -0,0 +1,14 @@
+package com.smartdevicelink.test.util;
+
+import android.os.Build;
+
+public class DeviceUtil {
+ public static boolean isEmulator() {
+ return Build.FINGERPRINT.startsWith("generic")
+ || Build.FINGERPRINT.startsWith("unknown")
+ || Build.MODEL.contains("google_sdk")
+ || Build.MODEL.contains("Emulator")
+ || (Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic"))
+ || "google_sdk".equals(Build.PRODUCT);
+ }
+} \ No newline at end of file
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportBrokerTest.java b/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportBrokerTest.java
index a021568fd..5725b6974 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportBrokerTest.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/transport/TransportBrokerTest.java
@@ -8,6 +8,7 @@ import android.os.Messenger;
import android.test.AndroidTestCase;
import com.smartdevicelink.test.SdlUnitTestContants;
+import com.smartdevicelink.test.util.DeviceUtil;
public class TransportBrokerTest extends AndroidTestCase {
RouterServiceValidator rsvp;
@@ -32,7 +33,9 @@ public class TransportBrokerTest extends AndroidTestCase {
Looper.prepare();
}
TransportBroker broker = new TransportBroker(mContext, SdlUnitTestContants.TEST_APP_ID,rsvp.getService());
- assertTrue(broker.start());
+ if(!DeviceUtil.isEmulator()){ // Cannot perform MBT operations in emulator
+ assertTrue(broker.start());
+ }
broker.stop();
}
@@ -44,17 +47,23 @@ public class TransportBrokerTest extends AndroidTestCase {
TransportBroker broker = new TransportBroker(mContext, SdlUnitTestContants.TEST_APP_ID,rsvp.getService());
- assertTrue(broker.start());
+ if(!DeviceUtil.isEmulator()){ // Cannot perform MBT operations in emulator
+ assertTrue(broker.start());
+ }
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
- assertNotNull(adapter);
- assertTrue(adapter.isEnabled());
+ if(!DeviceUtil.isEmulator()){ // Cannot perform BT adapter operations in emulator
+ assertNotNull(adapter);
+ assertTrue(adapter.isEnabled());
+ }
//Not ideal, but not implementing callbacks just for unit tests
int count = 0;
while(broker.routerServiceMessenger == null && count<10){
sleep();
count++;
}
- assertNotNull(broker.routerServiceMessenger);
+ if(!DeviceUtil.isEmulator()){ // Cannot perform BT adapter operations in emulator
+ assertNotNull(broker.routerServiceMessenger);
+ }
//assertFalse(broker.sendPacketToRouterService(null, 0, 0));
//assertFalse(broker.sendPacketToRouterService(new byte[3], -1, 0));
@@ -70,7 +79,9 @@ public class TransportBrokerTest extends AndroidTestCase {
Looper.prepare();
}
TransportBroker broker = new TransportBroker(mContext, SdlUnitTestContants.TEST_APP_ID, rsvp.getService());
- assertTrue(broker.start());
+ if(!DeviceUtil.isEmulator()){ // Cannot perform MBT operations in emulator
+ assertTrue(broker.start());
+ }
}