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" });
        }
Exemple #4
0
        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" });
        }
Exemple #5
0
        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();
        }
Exemple #6
0
        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" });
        }