Skip to content

Commit 6adacc6

Browse files
committed
Fix up tests and targetFactory invocation
1 parent 8ca131e commit 6adacc6

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

src/Http/Http.Extensions/src/RequestDelegateFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ public static RequestDelegateResult Create(MethodInfo methodInfo, Func<HttpConte
164164
}
165165

166166
var targetExpression = Expression.Convert(TargetExpr, methodInfo.DeclaringType);
167-
var targetableRequestDelegate = CreateTargetableRequestDelegate(methodInfo, targetExpression, factoryContext, context => targetFactory);
167+
var targetableRequestDelegate = CreateTargetableRequestDelegate(methodInfo, targetExpression, factoryContext, context => targetFactory(context));
168168

169169
return new RequestDelegateResult(httpContext => targetableRequestDelegate(targetFactory(httpContext), httpContext), factoryContext.Metadata);
170170
}
@@ -259,7 +259,7 @@ private static RouteHandlerFilterDelegate CreateFilterPipeline(MethodInfo method
259259
// ? Task.CompletedTask
260260
// : {
261261
// target = targetFactory(httpContext);
262-
// // handler is ((Type)target).MethodName(parameters);
262+
// handler is ((Type)target).MethodName(parameters);
263263
// handler((string)context.Parameters[0], (int)context.Parameters[1]);
264264
// }
265265
var filteredInvocation = Expression.Lambda<RouteHandlerFilterDelegate>(

src/Http/Http.Extensions/test/RequestDelegateFactoryTests.cs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4268,7 +4268,6 @@ public async Task RequestDelegateFactory_InvokesFilters_OnDelegateWithTarget()
42684268
{
42694269
(routeHandlerContext, next) => async (context) =>
42704270
{
4271-
Console.WriteLine(context.Parameters[0]);
42724271
return await next(context);
42734272
}
42744273
}
@@ -4286,7 +4285,7 @@ string GetString(string name)
42864285
}
42874286

42884287
[Fact]
4289-
public async Task RequestDelegateFactory_InvokesFilters_OnMethodInfoWithTargetFactory()
4288+
public async Task RequestDelegateFactory_InvokesFilters_OnMethodInfoWithNullTargetFactory()
42904289
{
42914290
// Arrange
42924291
var methodInfo = typeof(RequestDelegateFactoryTests).GetMethod(
@@ -4304,17 +4303,17 @@ public async Task RequestDelegateFactory_InvokesFilters_OnMethodInfoWithTargetFa
43044303
{
43054304
RouteHandlerFilterFactories = new List<Func<RouteHandlerContext, RouteHandlerFilterDelegate, RouteHandlerFilterDelegate>>()
43064305
{
4307-
(routeHandlerContext, next) => (context) =>
4306+
(routeHandlerContext, next) => async (context) =>
43084307
{
4309-
return ValueTask.FromResult<object?>(Results.Created("/foo", "Great!"));
4308+
return await next(context);
43104309
}
43114310
}
43124311
});
43134312
var requestDelegate = factoryResult.RequestDelegate;
43144313
await requestDelegate(httpContext);
43154314

43164315
// Assert
4317-
Assert.Equal(201, httpContext.Response.StatusCode);
4316+
Assert.Equal(200, httpContext.Response.StatusCode);
43184317
}
43194318

43204319
[Fact]
@@ -4337,23 +4336,23 @@ public async Task RequestDelegateFactory_InvokesFilters_OnMethodInfoWithProvided
43374336
{
43384337
invoked = true;
43394338
context.Items["invoked"] = true;
4340-
return methodInfo!.DeclaringType!;
4339+
return Activator.CreateInstance(methodInfo!.DeclaringType!);
43414340
};
43424341
var factoryResult = RequestDelegateFactory.Create(methodInfo!, targetFactory, new RequestDelegateFactoryOptions()
43434342
{
43444343
RouteHandlerFilterFactories = new List<Func<RouteHandlerContext, RouteHandlerFilterDelegate, RouteHandlerFilterDelegate>>()
43454344
{
4346-
(routeHandlerContext, next) => (context) =>
4345+
(routeHandlerContext, next) => async (context) =>
43474346
{
4348-
return ValueTask.FromResult<object?>(Results.Created("/foo", "Great!"));
4347+
return await next(context);
43494348
}
43504349
}
43514350
});
43524351
var requestDelegate = factoryResult.RequestDelegate;
43534352
await requestDelegate(httpContext);
43544353

43554354
// Assert
4356-
Assert.Equal(201, httpContext.Response.StatusCode);
4355+
Assert.Equal(200, httpContext.Response.StatusCode);
43574356
Assert.True(invoked);
43584357
var invokedInContext = Assert.IsType<bool>(httpContext.Items["invoked"]);
43594358
Assert.True(invokedInContext);

0 commit comments

Comments
 (0)