Skip to content
This repository was archived by the owner on Jul 12, 2023. It is now read-only.

Commit 94acc73

Browse files
authored
Merge pull request #25 from messerli-informatik-ag/allow-validation-for-parameterless-routes
Allow validation for parameterless routes
2 parents 03f62a4 + 3de657f commit 94acc73

File tree

4 files changed

+10
-12
lines changed

4 files changed

+10
-12
lines changed

Routing.Test/RoutingTest.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -359,13 +359,10 @@ public void CallsFallbackWhenRoutingInvalidRouteParam(string param)
359359
}
360360

361361
[Fact]
362-
public void ThrowsWhenValidatingRouteWithNoParameters()
362+
public void AllowValidatingRouteWithNoParameters()
363363
{
364364
var routeRegistry = CreateRouteRegistry();
365-
var exception = Assert.Throws<ArgumentException>(() =>
366-
routeRegistry.Register(new Endpoint(HttpMethod.Get, RegisteredRoute), FailOnRequest, FailOnValidation));
367-
368-
Assert.Null(exception.InnerException);
365+
routeRegistry.Register(new Endpoint(HttpMethod.Get, RegisteredRoute), FailOnRequest, EmptyValidation);
369366
}
370367

371368
[Fact]
@@ -498,6 +495,10 @@ private static Unit FailOnRequest(Unit request, IDictionary<string, string> rout
498495
throw new InvalidOperationException("Request handler was unexpectedly called");
499496
}
500497

498+
private static void EmptyValidation(IEnumerable<string> parameters)
499+
{
500+
}
501+
501502
private static void FailOnValidation(IEnumerable<string> parameters)
502503
{
503504
throw new InvalidOperationException("Parameter validation has failed");

Routing/Routing.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<GenerateDocumentationFile>true</GenerateDocumentationFile>
99
<AssemblyName>Messerli.Routing</AssemblyName>
1010
<RootNamespace>Messerli.Routing</RootNamespace>
11-
<Version>0.3.1</Version>
11+
<Version>0.3.2</Version>
1212
<RepositoryUrl>https://github.com/messerli-informatik-ag/routing</RepositoryUrl>
1313
<RepositoryType>git</RepositoryType>
1414
<PackageId>Messerli.Routing</PackageId>

Routing/SegmentRegistryFacadeImplementation/RouteRegistrar.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,6 @@ private static void RunParameterKeyValidation(ValidateParameterKeys validatePara
8181
.Select(parameter => parameter.Key)
8282
.ToList();
8383

84-
if (!parameters.Any())
85-
{
86-
throw new ArgumentException(
87-
"Passing a parameter validation callback to the registration of a route with no parameters is useless.");
88-
}
89-
9084
try
9185
{
9286
validateParameterKeys(parameters);

Routing/changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@
1313

1414
## 0.3.1
1515
- Update to Funcky 2.0.0.
16+
17+
## 0.3.2
18+
- Allow validation for parameterless routes

0 commit comments

Comments
 (0)