Пример #1
0
        public void UpdateFirewallPolicy()
        {
            int prevCount = 0;
            var newRules  = new System.Collections.Generic.List <POCO.Requests.FirewallPolicies.CreateFirewallPocliyRule>();

            newRules.Add(new POCO.Requests.FirewallPolicies.CreateFirewallPocliyRule()
            {
                PortTo   = 80,
                PortFrom = 80,
                Protocol = RuleProtocol.TCP,
                Source   = "0.0.0.0"
            });
            firewallPolicy = client.FirewallPolicies.Create(new POCO.Requests.FirewallPolicies.CreateFirewallPolicyRequest
            {
                Description = ".netTestFirewall" + random.Next(10, 30),
                Name        = ".netFW" + random.Next(10, 30),
                Rules       = newRules
            });
            Config.waitFirewallPolicyReady(firewallPolicy.Id);
            var curIP = server.Ips.FirstOrDefault();

            foreach (var ip in server.Ips)
            {
                //check the policy does not exist
                if (ip.FirewallPolicy != null && ip.FirewallPolicy.Any(po => po.Id == firewallPolicy.Id))
                {
                    continue;
                }
                else
                {
                    curIP = ip;
                    break;
                }
            }
            if (curIP.FirewallPolicy != null)
            {
                prevCount = curIP.FirewallPolicy.Count;
            }
            var result = client.ServerIps.UpdateFirewallPolicy(server.Id, curIP.Id, firewallPolicy.Id);

            Assert.IsNotNull(result);
            Config.waitServerReady(server.Id);
            //give the server time to update
            var resultserver = client.Servers.Show(result.Id);
            var resultIP     = result.Ips.FirstOrDefault(ip => ip.Id == curIP.Id);

            Assert.IsTrue(resultIP.FirewallPolicy.Any(fp => fp.Id == firewallPolicy.Id));

            Config.waitServerReady(server.Id);

            GetFirewallPolicyTest();
            DeleteFirewallPolicy();
        }
Пример #2
0
        static public void TestInit(TestContext context)
        {
            Random random = new Random();

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

            Config.waitServerReady(server.Id);
            server = client.Servers.Show(server.Id);
            //create fw policy
            var newRules = new System.Collections.Generic.List <POCO.Requests.FirewallPolicies.CreateFirewallPocliyRule>();

            newRules.Add(new POCO.Requests.FirewallPolicies.CreateFirewallPocliyRule()
            {
                PortTo   = 80,
                PortFrom = 80,
                Protocol = RuleProtocol.TCP,
                Source   = "0.0.0.0"
            });
            var result = client.FirewallPolicies.Create(new POCO.Requests.FirewallPolicies.CreateFirewallPolicyRequest()
            {
                Description = ".netTestFirewall" + random.Next(10, 30),
                Name        = ".netFW" + random.Next(10, 30),
                Rules       = newRules
            });

            Config.waitFirewallPolicyReady(result.Id);
            firewall = result;
            //add server ip to a firewall policy
            var iptoAdd = new List <string>();

            iptoAdd.Add(server.Ips[0].Id);
            var serverIp = client.FirewallPolicies.CreateFirewallPolicyServerIPs(new POCO.Requests.FirewallPolicies.AssignFirewallServerIPRequest()
            {
                ServerIps = iptoAdd
            }, firewall.Id);

            Assert.IsNotNull(serverIp);
            Assert.IsNotNull(serverIp.Id);
            var updatedpolicy = client.FirewallPolicies.Show(serverIp.Id);

            Assert.IsTrue(updatedpolicy.ServerIps.Any(ip => ip.Id == server.Ips[0].Id));
        }