예제 #1
0
        public async Task SecurityGroupTest()
        {
            var definition = _testData.BuildSecurityGroup();

            Trace.WriteLine($"Creating security group named: {definition.Name}");
            var securityGroup = await _testData.CreateSecurityGroup(definition);

            Trace.WriteLine("Verifying security group matches requested definition...");
            Assert.NotNull(securityGroup);
            Assert.Equal(definition.Name, securityGroup.Name);
            Assert.Equal(definition.Description, securityGroup.Description);

            Trace.WriteLine("Creatinga server associated with the security group...");
            var serverDefinition = _testData.BuildServer();

            serverDefinition.SecurityGroups.Add(new SecurityGroupReference());
            Trace.WriteLine("Updating the security group...");
            string updatedName = securityGroup.Name + "UPDATED";

            securityGroup.Name = updatedName;
            await securityGroup.UpdateAsync();

            Assert.Equal(updatedName, securityGroup.Name);

            Trace.WriteLine("Verifying the updated security group matches...");
            securityGroup = await _compute.GetSecurityGroupAsync(securityGroup.Id);

            Assert.NotNull(securityGroup);
            Assert.Equal(updatedName, securityGroup.Name);
            Assert.Equal(definition.Description, securityGroup.Description);

            Trace.WriteLine("Deleting the security group...");
            await securityGroup.DeleteAsync();

            await Assert.ThrowsAsync <FlurlHttpException>(() => _compute.GetSecurityGroupAsync(securityGroup.Id));
        }