public void GetSecurityGroupMap_Ok() { var instances = new List <Instance>(); for (int sgCount = 0; sgCount < 3; sgCount++) { var instance = new Instance { InstanceId = string.Format("i-{0}", sgCount) }; for (int i = 0; i < sgCount; i++) { instance.SecurityGroups.Add(new GroupIdentifier { GroupId = string.Format("sg-{0}", i) }); } instances.Add(instance); } Ec2Mock.Setup(x => x.DescribeSecurityGroups(It.IsAny <DescribeSecurityGroupsRequest>())) .Returns((DescribeSecurityGroupsRequest request) => new DescribeSecurityGroupsResponse { SecurityGroups = request.GroupIds.Select(x => new SecurityGroup { GroupId = x }).ToList() }); Dictionary <string, List <SecurityGroup> > map = SecurityGroupService.GetSecurityGroupMap(instances); for (int sgCount = 0; sgCount < 3; sgCount++) { map[string.Format("i-{0}", sgCount)].Count.Should().Be(sgCount); } }
public void GetSecurityGroups_GroupIds_Ok() { Ec2Mock.Setup(x => x.DescribeSecurityGroups(It.IsAny <DescribeSecurityGroupsRequest>())) .Returns((DescribeSecurityGroupsRequest request) => new DescribeSecurityGroupsResponse { SecurityGroups = request.GroupIds.Select(x => new SecurityGroup { GroupId = x }).ToList() }); List <SecurityGroup> result = SecurityGroupService.GetSecurityGroups(new[] { "a", "b" }); result.OrderBy(x => x.GroupId).Select(x => x.GroupId).Should().Equal(new[] { "a", "b" }); }
public void GetSecurityGroups_GroupIds_Ordering() { // Switch up the order. Results should always be the same as the order given. Ec2Mock.Setup(x => x.DescribeSecurityGroups(It.IsAny <DescribeSecurityGroupsRequest>())) .Returns((DescribeSecurityGroupsRequest request) => new DescribeSecurityGroupsResponse { SecurityGroups = request.GroupIds.Select(x => new SecurityGroup { GroupId = x }).Reverse().ToList() }); List <SecurityGroup> result = SecurityGroupService.GetSecurityGroups(new[] { "a", "b", "c" }); result.Select(x => x.GroupId).Should().Equal(new[] { "a", "b", "c" }); }
public void GetImages_Ok() { Ec2Mock.Setup(x => x.DescribeImages(It.Is((DescribeImagesRequest req) => string.Join("", req.ImageIds) == "ab"))) .Returns((DescribeImagesRequest req) => new DescribeImagesResponse { Images = req.ImageIds.Select(x => new Image { ImageId = x, Name = x }).ToList() }); List <Image> result = ImageService.GetImages(new[] { "a", "b" }); result.Count.Should().Be(2); result.Select(x => x.Name).Should().Equal(new[] { "a", "b" }); }
public void GetAllImagesByTagName_Ok() { const string filterName = "tag-key"; var images = new List <Image>(); var response = new DescribeImagesResponse { Images = images }; Ec2Mock.Setup(x => x.DescribeImages(It.Is <DescribeImagesRequest>(req => req.Filters.Single().Name == filterName && req.Filters.Single().Values.Contains(Conventions.BaseImageTag)))) .Returns(response); List <Image> result = ImageService.GetImagesByTagName(Conventions.BaseImageTag); ReferenceEquals(images, result).Should().BeTrue(); }
public void GetImageMap_Ok() { IEnumerable <Instance> instances = new[] { 1, 2 }.Select(id => new Instance { InstanceId = string.Format("i-{0}", id), ImageId = string.Format("ami-{0}", id) }); Ec2Mock.Setup(x => x.DescribeImages(It.IsAny <DescribeImagesRequest>())) .Returns((DescribeImagesRequest req) => new DescribeImagesResponse { Images = req.ImageIds.Select(x => new Image { ImageId = x, Name = x + "-name" }).ToList() }); Dictionary <string, Image> map = ImageService.GetImageMap(instances); map["i-1"].Name.Should().Be("ami-1-name"); map["i-2"].Name.Should().Be("ami-2-name"); }
public void GetSecurityGroups_GroupIdentifier_Ok() { var groupIdentifiers = new List <GroupIdentifier> { new GroupIdentifier { GroupId = "a" }, new GroupIdentifier { GroupId = "b" }, }; Ec2Mock.Setup(x => x.DescribeSecurityGroups(It.IsAny <DescribeSecurityGroupsRequest>())) .Returns((DescribeSecurityGroupsRequest request) => new DescribeSecurityGroupsResponse { SecurityGroups = request.GroupIds.Select(x => new SecurityGroup { GroupId = x }).Reverse().ToList() }); List <SecurityGroup> result = SecurityGroupService.GetSecurityGroups(groupIdentifiers); result.Select(x => x.GroupId).Should().Equal(new[] { "a", "b" }); }