97 lines
3.2 KiB
Java
97 lines
3.2 KiB
Java
package org.mercury_im.messenger.data.repository;
|
|
|
|
import org.junit.Test;
|
|
import org.mercury_im.messenger.data.di.DaggerRepositoryTestComponent;
|
|
import org.mercury_im.messenger.data.di.RepositoryTestComponent;
|
|
import org.mercury_im.messenger.entity.Account;
|
|
import org.mercury_im.messenger.entity.IAccount;
|
|
import org.mercury_im.messenger.entity.PasswordAuthentication;
|
|
import org.mercury_im.messenger.entity.chat.DirectChat;
|
|
import org.mercury_im.messenger.entity.chat.IDirectChat;
|
|
import org.mercury_im.messenger.entity.contact.IPeer;
|
|
import org.mercury_im.messenger.entity.contact.Peer;
|
|
import org.mercury_im.messenger.entity.message.IMessage;
|
|
import org.mercury_im.messenger.entity.message.IPayloadContainer;
|
|
import org.mercury_im.messenger.entity.message.Message;
|
|
import org.mercury_im.messenger.entity.message.PayloadContainer;
|
|
import org.mercury_im.messenger.entity.message.content.TextPayload;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.Collections;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
import javax.inject.Inject;
|
|
|
|
import io.requery.Persistable;
|
|
import io.requery.reactivex.ReactiveEntityStore;
|
|
|
|
import static junit.framework.TestCase.assertEquals;
|
|
|
|
public class AccountRepositoryTest {
|
|
|
|
@Inject
|
|
ReactiveEntityStore<Persistable> dataStore;
|
|
|
|
@Inject
|
|
XmppAccountRepository accountRepository;
|
|
|
|
@Inject
|
|
XmppDirectChatRepository directChatRepository;
|
|
|
|
@Inject
|
|
XmppPeerRepository contactRepository;
|
|
|
|
@Inject
|
|
XmppMessageRepository messageRepository;
|
|
|
|
@Inject
|
|
public AccountRepositoryTest() {
|
|
RepositoryTestComponent testComponent = DaggerRepositoryTestComponent.builder()
|
|
.build();
|
|
testComponent.inject(this);
|
|
}
|
|
|
|
@Test
|
|
public void test() {
|
|
Account account = new IAccount();
|
|
account.setAddress("test@test.test");
|
|
account.setEnabled(true);
|
|
account.setAuthentication(new PasswordAuthentication("swordfish"));
|
|
|
|
Peer peer = new IPeer();
|
|
peer.setName("Test Peer");
|
|
peer.setAddress("peer@peer.peer");
|
|
peer.setAccount(account);
|
|
|
|
DirectChat directChat = new IDirectChat();
|
|
directChat.setPeer(peer);
|
|
directChat.setAccount(account);
|
|
|
|
//Account accountModel = accountRepository.insertAccount(account).blockingGet();
|
|
//assertEquals(1, accountModel.getId());
|
|
|
|
DirectChat chatModel = directChatRepository.insertDirectChat(directChat)
|
|
.blockingGet();
|
|
assertEquals(1, chatModel.getId());
|
|
|
|
Message message = new IMessage();
|
|
message.setSender("test@test.test");
|
|
message.setRecipient("peer@peer.peer");
|
|
message.setTimestamp(new Date());
|
|
PayloadContainer container = new IPayloadContainer();
|
|
TextPayload body = new TextPayload();
|
|
body.setBody("Hallo");
|
|
container.setMessageContents(Collections.singletonList(body));
|
|
List<PayloadContainer> payloadContainers = new ArrayList<>();
|
|
payloadContainers.add(container);
|
|
message.setMessagePayloads(payloadContainers);
|
|
|
|
Message _message = messageRepository.insertMessage(directChat, message)
|
|
.blockingGet();
|
|
|
|
dataStore.close();
|
|
}
|
|
}
|