public async Task GetAllShouldGetAllServersFromGivenGuild()
        {
            Server[] servers = new Server[]
            {
                new Server(0, 11u, "127.0.0.1", 123, "test"),
                new Server(0, 11u, "24.1.2.1", 123, "test2"),
                new Server(0, 11u, "17.1.0.1", 22, "test3"),
                new Server(0, 11u, "12.0.2.1", 33, "wara4"),
                new Server(0, 11u, "12.0.2.1", 11, "wara"),
            };
            IServerRepository repo = new ServerRepository(GetMysql());

            foreach (var s in servers)
            {
                await repo.AddServer(s.GuildId, s.ServerIp, s.ServerPort, s.ServerName);
            }

            await repo.AddServer(12u, "10.0.0.1", 123, "different guild");

            await repo.AddServer(13u, "10.0.0.1", 123, "different guild");


            var response = await repo.GetAll(11u);

            foreach (var s in servers)
            {
                Assert.NotNull(response.Single(x => x.ServerIp == s.ServerIp && x.ServerName == s.ServerName && x.ServerPort == s.ServerPort));
            }
        }
        public async Task Insert_ShouldBeAbleToInsertSameServersToDifferentGuilds()
        {
            IServerRepository repo = new ServerRepository(GetMysql());

            // this should not trigger any exception - smoke test
            await repo.AddServer(12u, "10.0.0.1", 123, "same");

            await repo.AddServer(13u, "10.0.0.1", 123, "same");
        }
        public async Task GetServers_ShouldBeAbletToGetMultipleServersForSingleIpPortAddress()
        {
            IServerRepository repo = new ServerRepository(GetMysql());

            List <Server> added = new List <Server>();

            added.Add(await repo.AddServer(12u, "10.0.0.1", 123, "same"));
            added.Add(await repo.AddServer(13u, "10.0.0.1", 123, "same"));

            var resp = await repo.GetServers("10.0.0.1", 123);

            foreach (var s in added)
            {
                resp.Single(x => x.Id == s.Id);
            }
        }
Exemplo n.º 4
0
        public async Task GetAll_ShouldGetServersFromSpecificGuild()
        {
            ISubscribedServerRepository repo       = new SubscribedServerRepository(GetMysql());
            IServerRepository           serverRepo = new ServerRepository(GetMysql());

            async Task <SubscribedServer> AddServer(SubscribedServer s)
            {
                var server = await serverRepo.AddServer(s.Server.GuildId, s.Server.ServerIp, s.Server.ServerPort, s.Server.ServerName);

                return(await repo.Add(server, s.Port, s.ChannelId));
            }

            var ss = new SubscribedServer[]
            {
                new SubscribedServer(
                    new Server(0, 11u, "10.0.0.1", 123, "GetAll_ShouldGetServersFromSpecificGuild"),
                    DateTimeOffset.Now, 100, null, 150
                    ),
                new SubscribedServer(
                    new Server(1, 11u, "10.0.5.1", 123, "GetAll_ShouldGetServersFromSpecificGuild2"),
                    DateTimeOffset.Now, 100, null, 150
                    ),
            };

            var others = new SubscribedServer[]
            {
                new SubscribedServer(
                    new Server(0, 15u, "10.0.0.1", 123, "GetAll_ShouldGetServersFromSpecificGuild"),
                    DateTimeOffset.Now, 100, null, 150
                    ),
                new SubscribedServer(
                    new Server(1, 18u, "10.0.5.1", 123, "GetAll_ShouldGetServersFromSpecificGuild2"),
                    DateTimeOffset.Now, 100, null, 150
                    ),
            };

            var toCheck = new List <SubscribedServer>();

            foreach (var s in ss)
            {
                toCheck.Add(await AddServer(s));
            }
            foreach (var s in others)
            {
                await AddServer(s);
            }


            var servers = await repo.GetAll(11u);

            foreach (var s in toCheck)
            {
                Assert.NotNull(servers.Single(x => x.ChannelId == s.ChannelId && x.Server.Id == s.Server.Id && x.Server.ServerIp == s.Server.ServerIp));
            }
        }
        public async Task UpdatePassword_ShouldChangePassword()
        {
            IServerRepository repo = new ServerRepository(GetMysql());
            var server             = await repo.AddServer(11u, "192.168.0.1", 123, "testServerName");

            await repo.UpdatePassword(server.Id, "pwd");

            server = await repo.GetServer(11u, server.ServerName);

            Assert.Equal("pwd", server.ServerPassword);
        }
        public async Task Exists_ShouldReturnTrue_WhenChatServerExist()
        {
            var serverRepository = new ServerRepository(GetMysql());
            var chatRepository   = new ChatChannelServerRepository(GetMysql());

            var server = await serverRepository.AddServer(11u, "127.0.0.1", 123, "test");

            await chatRepository.Insert(server, 133u);

            Assert.True(await chatRepository.Exists(server.Id, 133u));
        }
        public async Task GetServer_ShouldBeAbleToGetServerById()
        {
            IServerRepository repo = new ServerRepository(GetMysql());
            Server            s    = await repo.AddServer(11u, "192.168.0.1", 123, "testServerName");

            var server = await repo.GetServer(s.Id);

            Assert.Equal("192.168.0.1", server.ServerIp);
            Assert.Equal(123, server.ServerPort);
            Assert.Equal(11u, server.GuildId);
            Assert.Equal("testServerName", server.ServerName);
        }
        public async Task InsertTest_ShouldBeAbleToGetItAfterThat()
        {
            IServerRepository repo = new ServerRepository(GetMysql());
            await repo.AddServer(11u, "192.168.0.1", 123, "testServerName");

            var server = await repo.GetServer(11u, "192.168.0.1", 123);

            Assert.Equal("192.168.0.1", server.ServerIp);
            Assert.Equal(11u, server.GuildId);
            Assert.Equal(123, server.ServerPort);
            Assert.Equal("testServerName", server.ServerName);
        }
        public async Task Remove_ShouldRemoveServer()
        {
            var serverRepository = new ServerRepository(GetMysql());
            var chatRepository   = new ChatChannelServerRepository(GetMysql());

            var server = await serverRepository.AddServer(11u, "127.0.0.1", 123, "test");

            await chatRepository.Insert(server, 133u);

            await chatRepository.Remove(server.Id, 133u);

            Assert.False(await chatRepository.Exists(server.Id, 133u));
        }
        public async Task AfterInsert_ShouldBeAbleToGetData()
        {
            var serverRepository = new ServerRepository(GetMysql());
            var chatRepository   = new ChatChannelServerRepository(GetMysql());

            var server = await serverRepository.AddServer(11u, "127.0.0.1", 123, "test");

            await chatRepository.Insert(server, 133u);

            var response = await chatRepository.Get(server.Id, 133u);

            Assert.Equal("127.0.0.1", response.Server.ServerIp);
            Assert.Equal(123, response.Server.ServerPort);
            Assert.Equal("test", response.Server.ServerName);
            Assert.Equal(133u, response.ChannelId);
        }
        public async Task GetAll_ShouldReturnAllServers()
        {
            var serverRepository = new ServerRepository(GetMysql());
            var chatRepository   = new ChatChannelServerRepository(GetMysql());

            var toCreate = new ChatChannelServer[]
            {
                new ChatChannelServer()
                {
                    ChannelId = 123u,
                    Server    = new Server(0, 11u, "127.0.0.1", 123, "test")
                },
                new ChatChannelServer()
                {
                    ChannelId = 122u,
                    Server    = new Server(0, 17u, "127.0.0.1", 113, "abc")
                },
                new ChatChannelServer()
                {
                    ChannelId = 124u,
                    Server    = new Server(0, 14u, "128.0.0.1", 143, "asdad")
                },
            };

            foreach (var c in toCreate)
            {
                var server = await serverRepository.AddServer(c.Server.GuildId, c.Server.ServerIp, c.Server.ServerPort, c.Server.ServerName);

                var chatServer = await chatRepository.Insert(server, c.ChannelId);
            }

            var all = await chatRepository.GetAll();

            foreach (var a in all)
            {
                Assert.NotNull(toCreate.Single(x => x.ChannelId == a.ChannelId && x.Server.ServerIp == a.Server.ServerIp && x.Server.ServerPort == a.Server.ServerPort && x.Server.ServerName == a.Server.ServerName));
            }
        }