public void ParseComplexFilter() { var filters = "tag:purpose=production;tag:department=engineering;tag:critical=no;tag:numbers=one,two,three"; var result = Ec2TagBasedServiceDiscovery.ParseFiltersString(filters); result.Count.Should().Be(4); result[0].Name.Should().Be("tag:purpose"); result[0].Values.Should().BeEquivalentTo(new List <string> { "production" }); result[1].Name.Should().Be("tag:department"); result[1].Values.Should().BeEquivalentTo(new List <string> { "engineering" }); result[2].Name.Should().Be("tag:critical"); result[2].Values.Should().BeEquivalentTo(new List <string> { "no" }); result[3].Name.Should().Be("tag:numbers"); result[3].Values.Should().BeEquivalentTo(new List <string> { "one", "two", "three" }); }
public void ParseSimpleFilter() { var filters = "tag:purpose=demo"; var result = Ec2TagBasedServiceDiscovery.ParseFiltersString(filters); result.Count.Should().Be(1); result[0].Name.Should().Be("tag:purpose"); result[0].Values.Count.Should().Be(1); result[0].Values[0].Should().Be("demo"); }
public async Task DiscoveryShouldBeAbleToLookupAwsEc2Instances() { Skip.If(_fixture.IsWindows, "LocalStack docker image only available for Linux OS"); var discovery = new Ec2TagBasedServiceDiscovery((ExtendedActorSystem)Sys); var lookup = new Lookup("fake-api"); var resolved = await discovery.Lookup(lookup, TimeSpan.FromSeconds(5)); resolved.Addresses.Count.Should().Be(4); resolved.Addresses.Select(a => a.Address.ToString()).Should().BeEquivalentTo(_fixture.IpAddresses); }
public void ParseEmptyString() { var result = Ec2TagBasedServiceDiscovery.ParseFiltersString(""); result.Count.Should().Be(0); }