Browse Source

Allow multiple null ports (it means autogenerate) (#381)

davidfowl/aspnet-urls
David Fowler 7 years ago
committed by GitHub
parent
commit
f41b942183
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/Microsoft.Tye.Core/ConfigModel/ConfigApplication.cs
  2. 17
      test/UnitTests/TyeDeserializationValidationTests.cs

2
src/Microsoft.Tye.Core/ConfigModel/ConfigApplication.cs

@ -106,7 +106,7 @@ namespace Microsoft.Tye.ConfigModel
throw new TyeYamlException(CoreStrings.FormatMultipleBindingWithSameName("service")); throw new TyeYamlException(CoreStrings.FormatMultipleBindingWithSameName("service"));
} }
if (service.Bindings.Count(o => o.Port == binding.Port) > 1) if (service.Bindings.Count(o => o.Port != null && o.Port == binding.Port) > 1)
{ {
throw new TyeYamlException(CoreStrings.FormatMultipleBindingWithSamePort("service")); throw new TyeYamlException(CoreStrings.FormatMultipleBindingWithSamePort("service"));
} }

17
test/UnitTests/TyeDeserializationValidationTests.cs

@ -171,6 +171,23 @@ services:
Assert.Contains(CoreStrings.FormatMultipleBindingWithSamePort("service"), exception.Message); Assert.Contains(CoreStrings.FormatMultipleBindingWithSamePort("service"), exception.Message);
} }
[Fact]
public void ServicesMustHaveUniqueNonNullPorts()
{
var input = @"
services:
- name: app
bindings:
- protocol: http
name: a
- protocol: https
name: b";
using var parser = new YamlParser(input);
var app = parser.ParseConfigApplication();
app.Validate();
}
[Theory] [Theory]
[InlineData("image", "executable")] [InlineData("image", "executable")]

Loading…
Cancel
Save