Ejemplo n.º 1
0
        public void ConstructSingleLeafConnectionsTest()
        {
            var data = new DataStorage();

            data.servers = new List <Server>(new Server[]
            {
                new Server {
                    server_id = "id0", server_name = "name0"
                },
                new Server {
                    server_id = "id1", server_name = "name1"
                },
                new Server {
                    server_id = "id2", server_name = "name2"
                }
            });

            data.ipToServerId.Add("123", "id0");
            data.ipToServerId.Add("234", "id1");
            data.ipToServerId.Add("345", "id2");

            var leafs = new List <Leaf>(new Leaf[] {
                new Leaf {
                    server_id = "id0",
                    leafs     = new List <LeafNode>(new LeafNode[] {
                        new LeafNode {
                            ip      = "234",
                            account = "bruh"
                        },
                        new LeafNode {
                            ip      = "234",
                            account = "oline"
                        },
                        new LeafNode {
                            ip      = "345",
                            account = "lmao"
                        }
                    })
                }
            });

            data.leafs = leafs;

            var dp = new DrawablesProcessor(data, "thisTextDoesNotMatter");

            dp.ConstructSingleLeafConnections();

            Assert.Equal(2, data.leafLinks.Count());
        }
Ejemplo n.º 2
0
        public void AddConnectionsTest()
        {
            var data = new DataStorage();

            data.servers = new List <Server>(new Server[]
            {
                new Server {
                    server_id = "id0", server_name = "name0"
                },
                new Server {
                    server_id = "id1", server_name = "name1"
                },
                new Server {
                    server_id = "id2", server_name = "name2"
                }
            });

            data.connections.Add(new Connection
            {
                server_id       = "id0",
                num_connections = 2,
                connections     = new ConcurrentBag <ConnectionEntry>(new ConnectionEntry[]
                {
                    new ConnectionEntry()
                    {
                        cid = 0, ip = "0", port = 0
                    },
                    new ConnectionEntry()
                    {
                        cid = 1, ip = "1", port = 1
                    }
                })
            });

            var dp = new DrawablesProcessor(data, "");

            dp.ProcessServers();
            var shouldHave2 = data.processedServers.Where(s => s.server_id == "id0").Select(s => s).FirstOrDefault();

            Assert.Equal(2, shouldHave2.clients.Count);
        }
Ejemplo n.º 3
0
        public void AddServersTest()
        {
            var data = new DataStorage();

            data.servers = new List <Server>(new Server[]
            {
                new Server {
                    server_id = "id0", server_name = "name0"
                },
                new Server {
                    server_id = "id1", server_name = "name1"
                },
                new Server {
                    server_id = "id2", server_name = "name2"
                }
            });
            var dp = new DrawablesProcessor(data, "");

            dp.ProcessServers();
            Assert.Equal(3, data.processedServers.Count);
            Assert.Equal(3, data.foundServers.Count);
        }
Ejemplo n.º 4
0
        public void ProcessLinksTest()
        {
            var data = new DataStorage();

            data.servers = new List <Server>(new Server[]
            {
                new Server {
                    server_id = "id0", server_name = "name0"
                },
                new Server {
                    server_id = "id1", server_name = "name1"
                },
                new Server {
                    server_id = "id2", server_name = "name2"
                }
            });

            foreach (var server in data.servers)
            {
                data.idToServer.TryAdd(server.server_id, server);
            }

            data.routes = new ConcurrentBag <Route>(new Route[] {
                new Route {
                    server_id = "id0",
                    routes    = new ConcurrentBag <RouteNode>(new RouteNode[] {
                        new RouteNode {
                            remote_id = "id1",
                            ip        = "1234"
                        },
                        new RouteNode {
                            remote_id = "bruh",
                            ip        = "2345"
                        }
                    })
                },
                new Route {
                    server_id = "id1",
                    routes    = new ConcurrentBag <RouteNode>(new RouteNode[] {
                        new RouteNode {
                            remote_id = "id0",
                            ip        = "3456"
                        }
                    })
                }
            });
            var dp = new DrawablesProcessor(data);

            Assert.Equal(4, data.processedServers.Count);
            foreach (var server in data.processedServers)
            {
                if (server.server_id == "bruh")
                {
                    Assert.True(server.ntv_error);
                }
                else
                {
                    Assert.False(server.ntv_error);
                }
            }
            Assert.Equal("id1", data.links[0].source);
            Assert.Equal("id0", data.links[0].target);
            Assert.False(data.links[0].ntv_error);

            Assert.Equal("id0", data.links[1].source);
            Assert.Equal("bruh", data.links[1].target);
            Assert.True(data.links[1].ntv_error);

            Assert.Equal("id0", data.links[2].source);
            Assert.Equal("id1", data.links[2].target);
            Assert.False(data.links[2].ntv_error);
        }
Ejemplo n.º 5
0
        public void ProcessClustersTest()
        {
            var data     = new DataStorage();
            var gateway0 = new Gateway {
                server_id         = "id0",
                name              = "name0",
                inbound_gateways  = new Dictionary <string, List <Gateway.GatewayNodeWrapper> >(),
                outbound_gateways = new Dictionary <string, Gateway.GatewayNodeWrapper>()
            };

            gateway0.inbound_gateways.Add("cluster0", new List <Gateway.GatewayNodeWrapper>());
            gateway0.inbound_gateways["cluster0"].Add(
                new Gateway.GatewayNodeWrapper {
                connection = new Gateway.GatewayNode {
                    name = "abcd"
                }
            }
                );

            data.gateways.Add(gateway0);

            var gateway1 = new Gateway {
                server_id         = "id1",
                name              = "name1",
                inbound_gateways  = new Dictionary <string, List <Gateway.GatewayNodeWrapper> >(),
                outbound_gateways = new Dictionary <string, Gateway.GatewayNodeWrapper>()
            };

            gateway1.outbound_gateways.Add(
                "cluster1",
                new Gateway.GatewayNodeWrapper {
                connection = new Gateway.GatewayNode {
                    name = "efgh"
                }
            }
                );
            gateway1.inbound_gateways.Add("cluster1", new List <Gateway.GatewayNodeWrapper>());
            gateway1.inbound_gateways["cluster1"].Add(
                new Gateway.GatewayNodeWrapper {
                connection = new Gateway.GatewayNode {
                    name = "qwer"
                }
            }
                );

            data.gateways.Add(gateway1);

            var gateway2 = new Gateway {
                server_id         = "id2",
                name              = "name2",
                inbound_gateways  = new Dictionary <string, List <Gateway.GatewayNodeWrapper> >(),
                outbound_gateways = new Dictionary <string, Gateway.GatewayNodeWrapper>()
            };

            gateway1.outbound_gateways.Add(
                "cluster2",
                new Gateway.GatewayNodeWrapper {
                connection = new Gateway.GatewayNode {
                    name = "ijkl"
                }
            }
                );

            data.gateways.Add(gateway2);

            data.foundServers.Add("ijkl");

            var dp = new DrawablesProcessor(data, "");

            dp.ProcessServers();
            dp.ProcessClusters();
            dp.ProcessLinks();
            dp.ProcessLeafs();
            Assert.Equal(3, data.clusterConnectionErrors.Count);
            Assert.Equal(2, data.errorClusters.Count);
        }