64 lines
2.4 KiB
Java
64 lines
2.4 KiB
Java
package org.mercury_im.messenger.persistence.room;
|
|
|
|
import android.content.Context;
|
|
import android.util.Log;
|
|
|
|
import androidx.test.core.app.ApplicationProvider;
|
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
|
|
|
import org.junit.Test;
|
|
import org.junit.runner.RunWith;
|
|
import org.jxmpp.jid.impl.JidCreate;
|
|
import org.mercury_im.messenger.persistence.model.AccountModel;
|
|
import org.mercury_im.messenger.persistence.room.model.RoomAccountModel;
|
|
import org.mercury_im.messenger.persistence.room.repository.IAccountRepository;
|
|
import org.mercury_im.messenger.persistence.room.repository.IContactAttributesRepository;
|
|
import org.mercury_im.messenger.persistence.room.repository.IMessageRepository;
|
|
|
|
import java.util.List;
|
|
|
|
import io.reactivex.Observable;
|
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
import io.reactivex.functions.Predicate;
|
|
import io.reactivex.observers.DefaultObserver;
|
|
import io.reactivex.schedulers.Schedulers;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
|
|
/**
|
|
* Instrumented test, which will execute on an Android device.
|
|
*
|
|
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
|
*/
|
|
@RunWith(AndroidJUnit4.class)
|
|
public class ExampleInstrumentedTest {
|
|
|
|
@Test
|
|
public void useAppContext() {
|
|
// Context of the app under test
|
|
|
|
Context context = ApplicationProvider.getApplicationContext();
|
|
|
|
AppDatabase appDatabase = AppDatabase.getDatabase(context);
|
|
IAccountRepository accountRepository = new IAccountRepository(appDatabase.accountDao());
|
|
IContactAttributesRepository rosterRepository = new IContactAttributesRepository(appDatabase.rosterEntryDao());
|
|
IMessageRepository messageRepository = new IMessageRepository(appDatabase.messageDao());
|
|
|
|
Observable<List<RoomAccountModel>> accounts = accountRepository.getAllAccounts();
|
|
|
|
final RoomAccountModel a1 = new RoomAccountModel();
|
|
a1.setJid(JidCreate.entityBareFromOrThrowUnchecked("alice@wonderland.lit"));
|
|
a1.setPassword("5w0rdf1sh");
|
|
a1.setEnabled(false);
|
|
accountRepository.insertAccount(a1);
|
|
|
|
accounts.test()
|
|
.assertValue(new Predicate<List<RoomAccountModel>>() {
|
|
@Override
|
|
public boolean test(List<RoomAccountModel> roomAccountModels) throws Exception {
|
|
return roomAccountModels.size() == 1;
|
|
}
|
|
});
|
|
}
|
|
}
|