@@ -2043,7 +2043,6 @@ public static IEnumerable<object[]> JsonContextActions
2043
2043
2044
2044
[ JsonSerializable ( typeof ( Todo ) ) ]
2045
2045
[ JsonSerializable ( typeof ( TodoChild ) ) ]
2046
- [ JsonSerializable ( typeof ( IAsyncEnumerable < JsonTodo > ) ) ]
2047
2046
private partial class TestJsonContext : JsonSerializerContext
2048
2047
{ }
2049
2048
@@ -2075,64 +2074,6 @@ public async Task RequestDelegateWritesAsJsonResponseBody_WithJsonSerializerCont
2075
2074
Assert . Equal ( "Write even more tests!" , deserializedResponseBody ! . Name ) ;
2076
2075
}
2077
2076
2078
- [ Theory ]
2079
- [ InlineData ( true ) ]
2080
- [ InlineData ( false ) ]
2081
- public async Task RequestDelegateWritesAsJsonResponseBody_UnspeakableType ( bool useJsonContext )
2082
- {
2083
- var httpContext = CreateHttpContext ( ) ;
2084
- httpContext . RequestServices = new ServiceCollection ( )
2085
- . AddSingleton ( LoggerFactory )
2086
- . ConfigureHttpJsonOptions ( o => o . SerializerOptions . TypeInfoResolver = useJsonContext ? TestJsonContext . Default : o . SerializerOptions . TypeInfoResolver )
2087
- . BuildServiceProvider ( ) ;
2088
-
2089
- var responseBodyStream = new MemoryStream ( ) ;
2090
- httpContext . Response . Body = responseBodyStream ;
2091
-
2092
- Delegate @delegate = IAsyncEnumerable < JsonTodo > ( ) => GetTodosAsync ( ) ;
2093
-
2094
- var rdfOptions = new RequestDelegateFactoryOptions ( ) { ServiceProvider = httpContext . RequestServices } ;
2095
- var factoryResult = RequestDelegateFactory . Create ( @delegate , rdfOptions ) ;
2096
- var requestDelegate = factoryResult . RequestDelegate ;
2097
-
2098
- await requestDelegate ( httpContext ) ;
2099
-
2100
- var body = JsonSerializer . Deserialize < JsonTodo [ ] > ( responseBodyStream . ToArray ( ) , new JsonSerializerOptions
2101
- {
2102
- PropertyNameCaseInsensitive = true
2103
- } ) ;
2104
-
2105
- Assert . NotNull ( body ) ;
2106
- Assert . Equal ( 3 , body . Length ) ;
2107
-
2108
- var one = Assert . IsType < JsonTodo > ( body [ 0 ] ) ;
2109
- Assert . Equal ( 1 , one . Id ) ;
2110
- Assert . True ( one . IsComplete ) ;
2111
- Assert . Equal ( "One" , one . Name ) ;
2112
-
2113
- var two = Assert . IsType < JsonTodo > ( body [ 1 ] ) ;
2114
- Assert . Equal ( 2 , two . Id ) ;
2115
- Assert . False ( two . IsComplete ) ;
2116
- Assert . Equal ( "Two" , two . Name ) ;
2117
-
2118
- var three = Assert . IsType < JsonTodoChild > ( body [ 2 ] ) ;
2119
- Assert . Equal ( 3 , three . Id ) ;
2120
- Assert . True ( three . IsComplete ) ;
2121
- Assert . Equal ( "Three" , three . Name ) ;
2122
- Assert . Equal ( "ThreeChild" , three . Child ) ;
2123
- }
2124
-
2125
- private static async IAsyncEnumerable < JsonTodo > GetTodosAsync ( )
2126
- {
2127
- yield return new JsonTodo ( ) { Id = 1 , IsComplete = true , Name = "One" } ;
2128
-
2129
- // ensure this is async
2130
- await Task . Yield ( ) ;
2131
-
2132
- yield return new JsonTodo ( ) { Id = 2 , IsComplete = false , Name = "Two" } ;
2133
- yield return new JsonTodoChild ( ) { Id = 3 , IsComplete = true , Name = "Three" , Child = "ThreeChild" } ;
2134
- }
2135
-
2136
2077
[ Fact ]
2137
2078
public void CreateDelegateThrows_WhenGetJsonTypeInfoFail ( )
2138
2079
{
0 commit comments