static public void TestInit(TestContext context)
        {
            Random random = new Random();
            var    result = client.LoadBalancer.Create(new POCO.Requests.LoadBalancer.CreateLoadBalancerRequest()
            {
                Name                = "LBTest" + random.Next(100, 999),
                Description         = "LBdesc",
                HealthCheckInterval = 1,
                Persistence         = true,
                PersistenceTime     = 30,
                HealthCheckTest     = HealthCheckTestTypes.NONE,
                Method              = LoadBalancerMethod.ROUND_ROBIN,
                Rules               = new System.Collections.Generic.List <POCO.Requests.LoadBalancer.LoadBalancerRuleRequest>()
                {
                    { new POCO.Requests.LoadBalancer.LoadBalancerRuleRequest()
                      {
                          PortBalancer = 80,
                          Protocol     = LBRuleProtocol.TCP,
                          Source       = "0.0.0.0",
                          PortServer   = 80
                      } }
                }
            });

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Id);
            var createdLoadBalancer = client.LoadBalancer.Show(result.Id);

            Assert.IsNotNull(createdLoadBalancer.Id);
            loadBalancer = createdLoadBalancer;
        }
        internal void Display(LoadBalancerResponse response)
        {
            Exit = () =>
            {
                _environment.OpenUrl(Root.AppData.DownloadAppUrl);
                Root.Exit();
            };

            Root.NavigateTo(this);
        }
        static public void TestInit(TestContext context)
        {
            Random random = new Random();
            var    result = client.LoadBalancer.Create(new POCO.Requests.LoadBalancer.CreateLoadBalancerRequest()
            {
                Name                = "LBTest" + random.Next(100, 999),
                Description         = "LBdesc",
                HealthCheckInterval = 1,
                Persistence         = true,
                PersistenceTime     = 30,
                HealthCheckTest     = HealthCheckTestTypes.NONE,
                Method              = LoadBalancerMethod.ROUND_ROBIN,
                Rules               = new System.Collections.Generic.List <POCO.Requests.LoadBalancer.LoadBalancerRuleRequest>()
                {
                    { new POCO.Requests.LoadBalancer.LoadBalancerRuleRequest()
                      {
                          PortBalancer = 80,
                          Protocol     = LBRuleProtocol.TCP,
                          Source       = "0.0.0.0",
                          PortServer   = 80
                      } }
                }
            });

            Config.waitLoadBalancerReady(result.Id);
            loadBalancer = result;

            string ruleSource = "0.0.0.0";
            //add new rule
            var randomPort = random.Next(1111, 9999);
            var request    = new POCO.Requests.LoadBalancer.AddLoadBalancerRuleRequest()
            {
                Rules = new System.Collections.Generic.List <POCO.Requests.LoadBalancer.RuleRequest>()
                {
                    { new OneAndOne.POCO.Requests.LoadBalancer.RuleRequest()
                      {
                          PortBalancer = randomPort,
                          PortServer   = randomPort,
                          Protocol     = LBRuleProtocol.TCP,
                          Source       = ruleSource
                      } }
                }
            };

            var newRule = client.LoadBalancer.CreateLoadBalancerRule(request, loadBalancer.Id);

            Assert.IsNotNull(newRule);
            Assert.IsNotNull(newRule.Id);
            Config.waitLoadBalancerReady(loadBalancer.Id);
            //check the rule is Added
            var updatedLoadBalancer = client.LoadBalancer.Show(loadBalancer.Id);

            Assert.IsTrue(updatedLoadBalancer.Rules.Any(ru => ru.PortServer == randomPort && ru.PortBalancer == randomPort && ru.Source == ruleSource));
        }
        static public void TestInit(TestContext context)
        {
            Random random = new Random();

            server = Config.CreateTestServer("loadbalancer servers test");

            Config.waitServerReady(server.Id);
            server = client.Servers.Show(server.Id);
            //create loadbalancer
            var result = client.LoadBalancer.Create(new POCO.Requests.LoadBalancer.CreateLoadBalancerRequest()
            {
                Name                = "LBTest" + random.Next(100, 999),
                Description         = "LBdesc",
                HealthCheckInterval = 1,
                Persistence         = true,
                PersistenceTime     = 30,
                HealthCheckTest     = HealthCheckTestTypes.NONE,
                Method              = LoadBalancerMethod.ROUND_ROBIN,
                Rules               = new System.Collections.Generic.List <POCO.Requests.LoadBalancer.LoadBalancerRuleRequest>()
                {
                    { new POCO.Requests.LoadBalancer.LoadBalancerRuleRequest()
                      {
                          PortBalancer = 80,
                          Protocol     = LBRuleProtocol.TCP,
                          Source       = "0.0.0.0",
                          PortServer   = 80
                      } }
                }
            });

            loadBalancer = result;
            //add server ip to load balancer
            var iptoAdd = new List <string>();

            iptoAdd.Add(server.Ips[0].Id);
            var lbIps = client.LoadBalancer.CreateLoadBalancerServerIPs(new POCO.Requests.LoadBalancer.AssignLoadBalancerServerIpsRequest()
            {
                ServerIps = iptoAdd
            }, loadBalancer.Id);

            Assert.IsNotNull(lbIps);
            Assert.IsNotNull(lbIps.Id);
            Config.waitLoadBalancerReady(loadBalancer.Id);
            var updatedLoadBalancer = client.LoadBalancer.Show(loadBalancer.Id);

            //check the ip is added
            Assert.IsNotNull(updatedLoadBalancer);
            Assert.IsTrue(updatedLoadBalancer.ServerIps.Any(ip => ip.Id == server.Ips[0].Id));
        }
Esempio n. 5
0
        public void CreateLoadBalancer()
        {
            Random random = new Random();

            loadBalancer = client.LoadBalancer.Create(new POCO.Requests.LoadBalancer.CreateLoadBalancerRequest
            {
                Name                = "LBTest",
                Description         = "LBdesc",
                HealthCheckInterval = 1,
                Persistence         = true,
                PersistenceTime     = 30,
                HealthCheckTest     = HealthCheckTestTypes.TCP,
                Method              = LoadBalancerMethod.ROUND_ROBIN,
                Rules               = new System.Collections.Generic.List <POCO.Requests.LoadBalancer.LoadBalancerRuleRequest>()
                {
                    { new POCO.Requests.LoadBalancer.LoadBalancerRuleRequest()
                      {
                          PortBalancer = 80,
                          Protocol     = LBRuleProtocol.TCP,
                          Source       = "0.0.0.0",
                          PortServer   = 80
                      } }
                }
            });
            Config.waitLoadBalancerReady(loadBalancer.Id);
            var serverWithIps = client.Servers.Show(server.Id);
            var currentIp     = serverWithIps.Ips[random.Next(0, serverWithIps.Ips.Count - 1)];

            var result = client.ServerIps.CreateLoadBalancer(serverWithIps.Id, currentIp.Id, loadBalancer.Id);

            Config.waitServerReady(server.Id);
            var updatedLoadBalancer = client.LoadBalancer.GetLoadBalancerServerIps(loadBalancer.Id);

            Assert.IsNotNull(result);
            //check if loadbalancer does have the server IP
            Assert.IsTrue(updatedLoadBalancer.Any(ip => ip.Id == currentIp.Id));
        }