Skip to content

Commit

Permalink
New sdk integration done
Browse files Browse the repository at this point in the history
New unit test added in Smooth check box section, Message retry part, and node find section
  • Loading branch information
W3-Tariqul committed Sep 19, 2019
1 parent 7f14733 commit 7ba988a
Show file tree
Hide file tree
Showing 5 changed files with 240 additions and 108 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package com.w3engineers.unicef.telemesh.data.helper;

import android.arch.persistence.room.Room;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import android.text.TextUtils;

import com.google.gson.Gson;
import com.w3engineers.ext.strom.util.helper.data.local.SharedPref;
import com.w3engineers.ext.viper.application.data.remote.model.BaseMeshData;
import com.w3engineers.ext.viper.application.data.remote.model.MeshAcknowledgement;
import com.w3engineers.ext.viper.application.data.remote.model.MeshPeer;
Expand Down Expand Up @@ -54,13 +56,15 @@ public class RightMeshDataSourceTest {
private long transferKey = 2381;

private AppDatabase appDatabase;
private Context mContext;
private Source source;

@Before
public void setUp() {

randomEntityGenerator = new RandomEntityGenerator();

appDatabase = Room.inMemoryDatabaseBuilder(InstrumentationRegistry.getContext(),
mContext = InstrumentationRegistry.getContext();
appDatabase = Room.inMemoryDatabaseBuilder(mContext,
AppDatabase.class).allowMainThreadQueries().build();

// userDataSource = UserDataSource.getInstance(appDatabase.userDao());
Expand All @@ -69,7 +73,7 @@ public void setUp() {
userDataSource = UserDataSource.getInstance();
messageSourceData = MessageSourceData.getInstance();

Source source = new Source(appDatabase);
source = new Source(appDatabase);

rmDataHelper = RmDataHelper.getInstance();
rmDataHelper.initSource(source);
Expand All @@ -94,16 +98,11 @@ public void testOnPeerAdd_checkUserFullName_setValidUser() {

SUT.onPeer(baseMeshData);

addDelay();
addDelay();
addDelay();
addDelay();
addDelay(2000);

UserEntity retrieveUser = userDataSource.getSingleUserById(baseMeshData.mMeshPeer.getPeerId());
addDelay();
addDelay();
addDelay();
addDelay();
addDelay(2000);

String retrieveFullName = retrieveUser == null ? null : retrieveUser.getFullName();
if (retrieveFullName == null) {
assertNull(retrieveFullName);
Expand All @@ -118,25 +117,6 @@ public void testOnPeerAdd_checkUserFullName_setValidUser() {
assertEquals(realUserName, retrieveFullName);
}

/*@Test
public void testOnPeerGone_getNonNull_setExistingUser() throws Exception {
UserEntity userEntity = randomEntityGenerator.createUserEntity();
BaseMeshData baseMeshData = randomEntityGenerator.createBaseMeshData(userEntity);
SUT.onPeer(baseMeshData);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
MeshPeer meshPeer = baseMeshData.mMeshPeer;
SUT.onPeerGone(meshPeer);
UserEntity retrieveUser = userDataSource.getSingleUserById(baseMeshData.mMeshPeer.getPeerId());
assertNotNull(retrieveUser);
}*/

@Test
public void testOnPeerGone_getOnlineStatus_setExistingUser() {
Expand Down Expand Up @@ -181,7 +161,7 @@ public void onlyNodeAddedTest() {
}

@Test
public void nodeAvailableTest(){
public void nodeAvailableTest() {
addDelay();

// create a user first
Expand All @@ -193,7 +173,7 @@ public void nodeAvailableTest(){
userDataSource.insertOrUpdateData(userEntity);
addDelay(1000);

SUT.isNodeAvailable(userEntity.getMeshId(),Constants.UserStatus.BLE_ONLINE);
SUT.isNodeAvailable(userEntity.getMeshId(), Constants.UserStatus.BLE_ONLINE);

addDelay(4000);

Expand All @@ -204,6 +184,13 @@ public void nodeAvailableTest(){
assertEquals(updatedUserEntity.getOnlineStatus(), Constants.UserStatus.BLE_ONLINE);

addDelay();

// ownId test
SharedPref.getSharedPref(mContext).write(Constants.preferenceKey.MY_USER_ID, meshId);
String myUserId = SUT.getOwnUserId();
assertEquals(myUserId, meshId);

addDelay();
}

private void addDelay() {
Expand All @@ -222,31 +209,6 @@ private void addDelay(long time) {
}
}

/*@Test
public void testOnData_checkNull_forValidMessage() throws Exception {
UserEntity userEntity = randomEntityGenerator.createUserEntityWithId();
userDataSource.insertOrUpdateData(userEntity);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
ChatEntity chatEntity = randomEntityGenerator.createChatEntity(userEntity.getMeshId());
SUT.onData(randomEntityGenerator.createMeshData(userEntity.getMeshId(), chatEntity));
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
ChatEntity retrieveChatEntity = messageSourceData.getMessageEntityById(chatEntity.getMessageId());
assertNotNull(retrieveChatEntity);
}*/

@Test
public void testOnData_checkMessageProperties_forValidMessage() {
Expand Down Expand Up @@ -317,4 +279,37 @@ public void testOnAcknowledgement() {
assertThat(retrieveChatEntity.getStatus(), greaterThanOrEqualTo(Constants.MessageStatus.STATUS_SENDING));
}

@Test
public void prepareDataObserver() {
addDelay();

UserEntity userEntity = randomEntityGenerator.createUserEntityWithId();
userDataSource.insertOrUpdateData(userEntity);

addDelay();

ChatEntity failEntity = randomEntityGenerator.createChatEntity(userEntity.getMeshId());
failEntity.setIncoming(false);
messageSourceData.insertOrUpdateData(failEntity);
source.reSendMessage(failEntity);
addDelay(1000);

ChatEntity chatEntity = randomEntityGenerator.createChatEntity(userEntity.getMeshId());
chatEntity.setIncoming(false);
messageSourceData.insertOrUpdateData(chatEntity);

addDelay(1000);

RmDataHelper.getInstance().prepareDataObserver();

addDelay(3000);

ChatEntity retrieveChatEntity = messageSourceData.getMessageEntityById(chatEntity.getMessageId());
addDelay();

assertFalse(retrieveChatEntity.isIncoming());

}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
package com.w3engineers.unicef.util.lib.circle_checkbox;

import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Parcel;
import android.os.Parcelable;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;

import static org.junit.Assert.*;

/*
* ============================================================================
* Copyright (C) 2019 W3 Engineers Ltd - All Rights Reserved.
* Unauthorized copying of this file, via any medium is strictly prohibited
* Proprietary and confidential
* ============================================================================
*/

@RunWith(AndroidJUnit4.class)
public class SmoothCheckBoxTest {
private Context mContext;
private static final String KEY_INSTANCE_STATE = "InstanceState";

@Before
public void setUp() {
mContext = InstrumentationRegistry.getContext();
}

@Test
public void stateSaveTest() {

addDelay();

SmoothCheckBox entity = new SmoothCheckBox(mContext);

entity.setChecked(true);

Parcelable parcelable = entity.onSaveInstanceState();

entity.onRestoreInstanceState(parcelable);

Bundle bundle = (Bundle) parcelable;

assertTrue(bundle.getBoolean(KEY_INSTANCE_STATE));

addDelay();
}

@Test
public void uncheckEventOfBoxTest(){
addDelay();

new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
@Override
public void run() {
SmoothCheckBox entity = new SmoothCheckBox(mContext);

entity.setChecked(false,true);

assertFalse(entity.isChecked());

addDelay();
addDelay();
addDelay();
}
},1);

}

private void addDelay() {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public void onMessage(@NonNull WebSocket webSocket, @NonNull String text) {

@Override
public void onMessage(@NonNull WebSocket webSocket, @NonNull okio.ByteString bytes) {
Timber.tag("MIMO_SAHA:").v("Message: %s", bytes);
//Timber.tag("MIMO_SAHA:").v("Message: %s", bytes);
}
@Override
public void onClosing(@NonNull WebSocket webSocket, int code, @Nullable String reason) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import com.w3engineers.ext.strom.util.helper.data.local.SharedPref;
import com.w3engineers.ext.viper.application.data.BaseServiceLocator;
import com.w3engineers.ext.viper.application.ui.base.rm.RmBaseActivity;
import com.w3engineers.mesh.util.DiagramUtil;
import com.w3engineers.unicef.telemesh.R;
import com.w3engineers.unicef.telemesh.data.analytics.AnalyticsDataHelper;
import com.w3engineers.unicef.telemesh.data.analytics.model.MessageCountModel;
Expand Down Expand Up @@ -132,6 +133,7 @@ protected void startUI() {
list.add(entity);
AnalyticsDataHelper.getInstance().sendAppShareCountAnalytics(list);
}, 10000);*/
DiagramUtil.on(this).start();
}

private MainActivityViewModel getViewModel() {
Expand Down

0 comments on commit 7ba988a

Please sign in to comment.