Mercury-IM/persistence-room/src/androidTest/java/org/mercury_im/messenger/persistence/room/AbstractDatabaseTest.java

52 lines
2.2 KiB
Java

package org.mercury_im.messenger.persistence.room;
import android.content.Context;
import androidx.room.Room;
import androidx.test.core.app.ApplicationProvider;
import org.junit.After;
import org.junit.Before;
import org.jxmpp.jid.EntityBareJid;
import org.jxmpp.jid.impl.JidCreate;
import org.mercury_im.messenger.persistence.room.repository.IAccountRepository;
import org.mercury_im.messenger.persistence.room.repository.IAvatarRepository;
import org.mercury_im.messenger.persistence.room.repository.IChatRepository;
import org.mercury_im.messenger.persistence.room.repository.IEntityCapsRepository;
import org.mercury_im.messenger.persistence.room.repository.IMessageRepository;
import org.mercury_im.messenger.persistence.room.repository.IRosterRepository;
public abstract class AbstractDatabaseTest {
protected AppDatabase db;
protected IAccountRepository accountRepository;
protected IRosterRepository rosterRepository;
protected IMessageRepository messageRepository;
protected IChatRepository chatRepository;
protected IEntityCapsRepository capsRepository;
protected IAvatarRepository avatarRepository;
protected final EntityBareJid TEST_JID_JULIET = JidCreate.entityBareFromOrThrowUnchecked("juliet@capulet.lit");
protected final EntityBareJid TEST_JID_ROMEO = JidCreate.entityBareFromOrThrowUnchecked("romeo@montague.lit");
protected final EntityBareJid TEST_JID_MERCUTIO = JidCreate.entityBareFromOrThrowUnchecked("mercutio@montague.lit");
@Before
public void createDb() {
Context context = ApplicationProvider.getApplicationContext();
db = Room.inMemoryDatabaseBuilder(context, AppDatabase.class).build();
accountRepository = new IAccountRepository(db.accountDao());
rosterRepository = new IRosterRepository(
db.entityDao(), db.contactDao(), db.rosterInformationDao());
messageRepository = new IMessageRepository(db.messageDao());
chatRepository = new IChatRepository(db.chatDao(), rosterRepository);
capsRepository = new IEntityCapsRepository(db.entityCapsDao());
avatarRepository = new IAvatarRepository(db.avatarDao());
}
@After
public void closeDb() {
db.close();
}
}