Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package inf226.inchat;
import org.junit.jupiter.api.Test;
import inf226.storage.*;
import inf226.util.*;
import java.util.UUID;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
public class InchatTest{
@Test
void chatSetup() throws Maybe.NothingException,SQLException {
UUID testID = UUID.randomUUID();
System.err.println("Running test:" + testID);
final String path = "test" + testID + ".db";
final String dburl = "jdbc:sqlite:" + path;
final Connection connection = DriverManager.getConnection(dburl);
connection.createStatement().executeUpdate("PRAGMA foreign_keys = ON");
UserStorage userStore
= new UserStorage(connection);
EventStorage eventStore
= new EventStorage(connection);
ChannelStorage channelStore
= new ChannelStorage(connection,eventStore);
AccountStorage accountStore
= new AccountStorage(connection,userStore,channelStore);
SessionStorage sessionStore
= new SessionStorage(connection,accountStore);
InChat inchat = new InChat(userStore,channelStore,accountStore,sessionStore);
Stored<Session> aliceSession = inchat.register("Alice","badpassword").get();
inchat.register("Bob","worse").get();
Stored<Session> bobSession = inchat.login("Bob","worse").get();
Stored<Channel> channel = inchat.createChannel(aliceSession.value.account,"Awesome").get();
inchat.postMessage(aliceSession.value.account,channel, "Test message.").get();
inchat.joinChannel(bobSession.value.account,channel.identity).get();
}
}