import android.test.mock.MockApplication;\r
import android.util.Log;\r
\r
+import org.iotivity.service.easysetup.impl.BLEOnBoardingConfig;\r
+import org.iotivity.service.easysetup.impl.EnrolleeDeviceBLEOnBoarding;\r
import org.iotivity.service.easysetup.impl.EnrolleeDeviceFactory;\r
import org.iotivity.service.easysetup.impl.EnrolleeDeviceWiFiOnboarding;\r
import org.iotivity.service.easysetup.impl.WiFiOnBoardingConfig;\r
import org.iotivity.service.easysetup.impl.WiFiProvConfig;\r
\r
import java.io.IOException;\r
-import java.util.concurrent.CountDownLatch;\r
-import java.util.concurrent.TimeUnit;\r
\r
public class EasySetupServiceTest extends AndroidTestCase {\r
\r
\r
- public void testFunction() {\r
-\r
- // final CountDownLatch countDownLatch = new CountDownLatch(1);\r
-\r
+ public void testStartSetupWithWiFiOnboarding() {\r
\r
EasySetupService mService;\r
EnrolleeDevice mDevice;\r
\r
Log.i("EasySetupTest", "Lock is released");\r
\r
+ if(! mDevice.isSetupSuccessful()) {\r
+ assertTrue(false);\r
+ return;\r
+ }\r
+\r
IpOnBoardingConnection conn = (IpOnBoardingConnection) mDevice.getConnection();\r
if (conn == null) {\r
assertTrue(false);\r
\r
}\r
\r
+ public void testStartSetupWithBleOnboarding() {\r
+\r
+ final String UUID = "ade3d529-c784-4f63-a987-eb69f70ee816";\r
+\r
+ EasySetupService mService;\r
+ EnrolleeDevice mDevice;\r
+ EnrolleeDeviceFactory mFactory;\r
+\r
+ final Object lock = new Object();\r
+\r
+\r
+ /* Create Easy Setup service */\r
+ mService = EasySetupService.getInstance(getContext(), new EasySetupStatus() {\r
+ @Override\r
+ public void onFinished(EnrolleeDevice enrolledevice) {\r
+\r
+ //countDownLatch.countDown();\r
+ Utility.toNotify(lock);\r
+\r
+ if (enrolledevice.isSetupSuccessful()) {\r
+\r
+ if (enrolledevice.mOnBoardingConfig.getConnType() == WiFiOnBoardingConfig.ConnType.BLE) {\r
+ BleConnection conn = (BleConnection) enrolledevice.getConnection();\r
+ String mac = conn.getMacaddress();\r
+ if (mac == null || mac.isEmpty()) {\r
+ assertTrue(false);\r
+ return;\r
+ }\r
+\r
+ String uuid = conn.getmServiceUUID();\r
+ if (uuid == null || uuid.isEmpty()) {\r
+ assertTrue(false);\r
+ return;\r
+ }\r
+\r
+ // Conform that device are same\r
+ if (!uuid.equals(UUID)) {\r
+ assertTrue(false);\r
+ return;\r
+ }\r
+\r
+ // Device configured successfully\r
+ assertTrue(true);\r
+ }\r
+\r
+ } else {\r
+ assertTrue(false);\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public void onProgress(EnrolleeState state) {\r
+ // TODO\r
+ }\r
+ });\r
+\r
+\r
+ /* Create On boarding configuration */\r
+\r
+ BLEOnBoardingConfig bleOnBoardingConfig = new BLEOnBoardingConfig();\r
+ bleOnBoardingConfig.setUuid("ade3d529-c784-4f63-a987-eb69f70ee816");\r
+\r
+ /* Create provisioning configuration */\r
+ WiFiProvConfig mWiFiProvConfig = new WiFiProvConfig("hub2.4G", "11112222");\r
+\r
+ /* Create enrolling device factory instance */\r
+ mFactory = EnrolleeDeviceFactory.newInstance(getContext());\r
+\r
+ /* Check if the factory created successfully */\r
+ assertTrue(mFactory != null);\r
+\r
+ /* Create enrolling device */\r
+ mDevice = mFactory.newEnrolleeDevice(bleOnBoardingConfig, mWiFiProvConfig);\r
+\r
+ /* Check if the the device is created successfully*/\r
+ assertTrue(mDevice != null);\r
+\r
+ /* Check if the the correct device is created as per the given configuration*/\r
+\r
+ /* Check if the the correct device is created as per the given configuration*/\r
+ assertTrue((mDevice instanceof EnrolleeDeviceBLEOnBoarding));\r
+\r
+\r
+ try {\r
+ mService.startSetup(mDevice);\r
+ // If no exception is thrown means setup started successfully.\r
+ assertTrue(true);\r
+\r
+ } catch (IOException e) {\r
+ assertTrue(false);\r
+ }\r
+\r
+ try {\r
+\r
+ Utility.toWait(lock);\r
+\r
+ Log.i("EasySetupTest", "Lock is released");\r
+\r
+ if(! mDevice.isSetupSuccessful()) {\r
+ assertTrue(false);\r
+ return;\r
+ }\r
+\r
+\r
+ BleConnection conn = (BleConnection) mDevice.getConnection();\r
+ if (conn == null) {\r
+ assertTrue(false);\r
+ return;\r
+ }\r
+\r
+ String mac = conn.getMacaddress();\r
+ if (mac == null || mac.isEmpty()) {\r
+ assertTrue(false);\r
+ return;\r
+ }\r
+\r
+ String uuid = conn.getmServiceUUID();\r
+ if (uuid == null || uuid.isEmpty()) {\r
+ assertTrue(false);\r
+ return;\r
+ }\r
+\r
+ if (!uuid.equals(UUID)) {\r
+ assertTrue(false);\r
+ return;\r
+ }\r
+\r
+ Log.i("EasySetupTest", "MAC " + mac);\r
+ Log.i("EasySetupTest", "UUID " + uuid);\r
+\r
+ // Device configured successfully\r
+ assertTrue(true);\r
+\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ assertTrue(false);\r
+ }\r
+\r
+ }\r
+\r
+\r
}
\ No newline at end of file
import android.net.wifi.WifiConfiguration;\r
import android.test.AndroidTestCase;\r
\r
+import org.iotivity.service.easysetup.impl.BLEOnBoardingConfig;\r
+import org.iotivity.service.easysetup.impl.EnrolleeDeviceBLEOnBoarding;\r
import org.iotivity.service.easysetup.impl.EnrolleeDeviceFactory;\r
import org.iotivity.service.easysetup.impl.EnrolleeDeviceWiFiOnboarding;\r
import org.iotivity.service.easysetup.impl.WiFiOnBoardingConfig;\r
}\r
\r
\r
- public void testNewEnrolleeDeviceWiFiOnboarding() {\r
+ public void testNewEnrolleeDevice_with_WiFiOnboarding() {\r
\r
/* Create On boarding configuration */\r
WiFiOnBoardingConfig mWiFiOnBoardingConfig = new WiFiOnBoardingConfig();\r
\r
}\r
\r
+ public void testNewEnrolleeDevice_with_BleOnboarding() {\r
+\r
+ /* Create On boarding configuration */\r
+\r
+ BLEOnBoardingConfig bleOnBoardingConfig = new BLEOnBoardingConfig();\r
+ bleOnBoardingConfig.setUuid("ade3d529-c784-4f63-a987-eb69f70ee816");\r
+\r
+ /* Create provisioning configuration */\r
+ WiFiProvConfig mWiFiProvConfig = new WiFiProvConfig("hub2.4G", "11112222");\r
+\r
+ /* Create enrolling device */\r
+ EnrolleeDevice device = mFactory.newEnrolleeDevice(bleOnBoardingConfig, mWiFiProvConfig);\r
+\r
+ /* Check if the the device is created */\r
+ assertTrue(device != null);\r
+\r
+ /* Check if the the correct device is created as per the given configuration*/\r
+ assertTrue((device instanceof EnrolleeDeviceBLEOnBoarding));\r
+\r
+ }\r
+\r
+\r
\r
}\r