Ejemplo n.º 1
0
        public void TestSetAndDeleteNetworkSecurityRule()
        {
            using (var undoContext = UndoContext.Current)
            {
                undoContext.Start();
                using (NetworkTestBase _testFixture = new NetworkTestBase())
                {
                    // setup
                    string securityGroupName     = _testFixture.GenerateRandomNetworkSecurityGroupName();
                    string securityGroupLabel    = _testFixture.GenerateRandomName();
                    string securityGroupLocation = _testFixture.DefaultLocation;
                    string ruleName                 = _testFixture.GenerateRandomName();
                    string action                   = "Allow";
                    string sourceAddressPrefix      = "*";
                    string sourcePortRange          = "*";
                    string destinationAddressPrefix = "*";
                    string destinationPortRange     = "*";
                    int    priority                 = 500;
                    string protocol                 = "TCP";
                    string type = "Inbound";

                    // action
                    _testFixture.CreateNetworkSecurityGroup(securityGroupName, securityGroupLabel, securityGroupLocation);
                    _testFixture.SetRuleToSecurityGroup(
                        securityGroupName,
                        ruleName,
                        action,
                        sourceAddressPrefix,
                        sourcePortRange,
                        destinationAddressPrefix,
                        destinationPortRange,
                        priority,
                        protocol,
                        type);

                    // assert
                    NetworkSecurityGroupGetResponse response = _testFixture.NetworkClient.NetworkSecurityGroups.Get(securityGroupName, "full");
                    Assert.Equal(securityGroupName, response.Name);
                    Assert.Equal(securityGroupLabel, response.Label);
                    Assert.Equal(securityGroupLocation, response.Location);
                    Assert.NotEmpty(response.Rules.Where(r => string.Equals(r.Name, ruleName)));

                    NetworkSecurityRule rule = response.Rules.First();
                    Assert.Equal(ruleName, rule.Name);
                    Assert.Equal(sourceAddressPrefix, rule.SourceAddressPrefix);
                    Assert.Equal(sourcePortRange, rule.SourcePortRange);
                    Assert.Equal(destinationAddressPrefix, rule.DestinationAddressPrefix);
                    Assert.Equal(destinationPortRange, rule.DestinationPortRange);
                    Assert.Equal(priority, rule.Priority);
                    Assert.Equal(protocol, rule.Protocol);
                    Assert.Equal(action, rule.Action);
                    Assert.Equal(type, rule.Type);

                    // action
                    _testFixture.NetworkClient.NetworkSecurityGroups.DeleteRule(securityGroupName, ruleName);
                    NetworkSecurityGroupGetResponse afterDeleteGetRuleresponse = _testFixture.NetworkClient.NetworkSecurityGroups.Get(securityGroupName, "full");
                    Assert.Empty(afterDeleteGetRuleresponse.Rules.Where(r => string.Equals(r.Name, ruleName)));
                }
            }
        }
        public void TestSetAndDeleteNetworkSecurityRule()
        {
            using (var undoContext = UndoContext.Current)
            {
                undoContext.Start();
                using (NetworkTestBase _testFixture = new NetworkTestBase())
                {
                    // setup
                    string securityGroupName = _testFixture.GenerateRandomNetworkSecurityGroupName();
                    string securityGroupLabel = _testFixture.GenerateRandomName();
                    string securityGroupLocation = _testFixture.DefaultLocation;
                    string ruleName = _testFixture.GenerateRandomName();
                    string action = "Allow";
                    string sourceAddressPrefix = "*";
                    string sourcePortRange = "*";
                    string destinationAddressPrefix = "*";
                    string destinationPortRange = "*";
                    int priority = 500;
                    string protocol = "TCP";
                    string type = "Inbound";

                    // action
                    _testFixture.CreateNetworkSecurityGroup(securityGroupName, securityGroupLabel, securityGroupLocation);
                    _testFixture.SetRuleToSecurityGroup(
                        securityGroupName,
                        ruleName,
                        action,
                        sourceAddressPrefix,
                        sourcePortRange,
                        destinationAddressPrefix,
                        destinationPortRange,
                        priority,
                        protocol,
                        type);

                    // assert
                    NetworkSecurityGroupGetResponse response = _testFixture.NetworkClient.NetworkSecurityGroups.Get(securityGroupName, "full");
                    Assert.Equal(securityGroupName, response.Name);
                    Assert.Equal(securityGroupLabel, response.Label);
                    Assert.Equal(securityGroupLocation, response.Location);
                    Assert.NotEmpty(response.Rules.Where(r => string.Equals(r.Name, ruleName)));

                    NetworkSecurityRule rule = response.Rules.First();
                    Assert.Equal(ruleName, rule.Name);
                    Assert.Equal(sourceAddressPrefix, rule.SourceAddressPrefix);
                    Assert.Equal(sourcePortRange, rule.SourcePortRange);
                    Assert.Equal(destinationAddressPrefix, rule.DestinationAddressPrefix);
                    Assert.Equal(destinationPortRange, rule.DestinationPortRange);
                    Assert.Equal(priority, rule.Priority);
                    Assert.Equal(protocol, rule.Protocol);
                    Assert.Equal(action, rule.Action);
                    Assert.Equal(type, rule.Type);

                    // action
                    _testFixture.NetworkClient.NetworkSecurityGroups.DeleteRule(securityGroupName, ruleName);
                    NetworkSecurityGroupGetResponse afterDeleteGetRuleresponse = _testFixture.NetworkClient.NetworkSecurityGroups.Get(securityGroupName, "full");
                    Assert.Empty(afterDeleteGetRuleresponse.Rules.Where(r => string.Equals(r.Name, ruleName)));
                }
            }
        }