52 lines
2.2 KiB
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();
|
|
}
|
|
}
|