Skip to content

CI • 73 •

CI • 73 • #73

GitHub Actions / Test Report succeeded Nov 14, 2024 in 1s

114 passed, 0 failed and 0 skipped

Tests passed successfully

Report Passed Failed Skipped Time
test/Cabazure.Client.IntegrationTests/TestResults/test-results.trx 53✅ 4s
test/Cabazure.Client.Runtime.Tests/TestResults/test-results.trx 32✅ 4s
test/Cabazure.Client.Tests/TestResults/test-results.trx 29✅ 7s

✅ test/Cabazure.Client.IntegrationTests/TestResults/test-results.trx

53 tests were completed in 4s with 53 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Cabazure.Client.IntegrationTests.ConfigureClientTests 4✅ 79ms
Cabazure.Client.IntegrationTests.DeleteEndpointTests 11✅ 62ms
Cabazure.Client.IntegrationTests.GetEndpointTests 13✅ 75ms
Cabazure.Client.IntegrationTests.ListEndpointTests 12✅ 134ms
Cabazure.Client.IntegrationTests.PostEndpointTests 13✅ 147ms

✅ Cabazure.Client.IntegrationTests.ConfigureClientTests

✅ Should_Register_ClientSerializer(services: [···], jsonOptions: Action`1 { Method = Void Invoke(System.Text.Json.JsonSerializerOptions), Target = Substitute.Action<JsonSerializerOptions>|02469b8a }, builder: Action`1 { Method = Void Invoke(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder), Target = Substitute.Action<IHttpClientBuilder>|0107ec74 })
✅ Should_Register_HttpClient(services: [···], jsonOptions: Action`1 { Method = Void Invoke(System.Text.Json.JsonSerializerOptions), Target = Substitute.Action<JsonSerializerOptions>|004c9861 }, builder: Action`1 { Method = Void Invoke(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder), Target = Substitute.Action<IHttpClientBuilder>|00a51251 })
✅ Should_Register_JsonOptions(services: [···], jsonOptions: Action`1 { Method = Void Invoke(System.Text.Json.JsonSerializerOptions), Target = Substitute.Action<JsonSerializerOptions>|038a249c }, builder: Action`1 { Method = Void Invoke(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder), Target = Substitute.Action<IHttpClientBuilder>|003bde12 })
✅ Should_Register_MessageRequestFactory(services: [···], jsonOptions: Action`1 { Method = Void Invoke(System.Text.Json.JsonSerializerOptions), Target = Substitute.Action<JsonSerializerOptions>|00f102b7 }, builder: Action`1 { Method = Void Invoke(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder), Target = Substitute.Action<IHttpClientBuilder>|00f5bb91 })

✅ Cabazure.Client.IntegrationTests.DeleteEndpointTests

✅ Should_Add_PathParameter(builder: Substitute.IMessageRequestBuilder|02b0ee59, sut: DeleteEndpoint { }, id: "id1269f059-493b-409a-a51e-f3295245ab97", cancellationToken: System.Threading.CancellationToken)
✅ Should_Configure_SuccessResponse(builder: Substitute.IMessageResponseBuilder|0395cb39, sut: DeleteEndpoint { }, item: "itemb0622fc6-7e6a-460a-b86b-1cc4fc73186e", cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_Builder_From_Response(requestFactory: Substitute.IMessageRequestFactory|0190f0e8, response: StatusCode: 100, ReasonPhrase: 'ReasonPhraseca7b98ce-24c6-4cc8-aaf6-2b83db52db1e', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, sut: DeleteEndpoint { }, id: "ideea477e2-7036-4dcd-b417-a07a7f75df89", cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_HttpClient(factory: Substitute.IHttpClientFactory|029a091c, sut: DeleteEndpoint { }, id: "ide3de081e-9f37-4cdf-9e6f-61499775a003", cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_Request(requestFactory: Substitute.IMessageRequestFactory|016b72a1, sut: DeleteEndpoint { }, id: "idbf3aac7c-309e-4b5a-a5dd-26454d3ce26c", cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_Result(builder: Substitute.IMessageResponseBuilder|03dd9f12, sut: DeleteEndpoint { }, item: "iteme44c18ce-fd77-4e1f-993c-cfe3448105db", cancellationToken: System.Threading.CancellationToken)
✅ Should_Get_Registered_By_AddCabazureClient(services: [···], jsonOptions: Action`1 { Method = Void Invoke(System.Text.Json.JsonSerializerOptions), Target = Substitute.Action<JsonSerializerOptions>|03abe612 }, builder: Action`1 { Method = Void Invoke(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder), Target = Substitute.Action<IHttpClientBuilder>|03e70983 })
✅ Should_Implement_Interface(sut: DeleteEndpoint { }, id: "id1a4f1151-8856-4a21-ab51-ac7109ace4a6", options: ClientRequestOptions { CorrelationId = "CorrelationIdeaf0c1eb-289b-4291-84d9-5f1d5a5684f0", Timeout = 00:00:00.0000138 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Return_Result(builder: Substitute.IMessageResponseBuilder|02af7716, sut: DeleteEndpoint { }, response: EndpointResponse { IsSuccess = False, StatusCode = SwitchingProtocols, Content = Content5b5f9469-3114-4a7c-a779-9d016b743975, ContentObject = System.Object, Headers = System.Collections.ObjectModel.ReadOnlyDictionary`2[System.String,System.Collections.Generic.IEnumerable`1[System.String]], IsOk = False, IsNotFound = False, IsTimeout = False, IsBadRequest = False }, item: "item651e3c12-5df0-4f19-b804-334bb281873a", cancellationToken: System.Threading.CancellationToken)
✅ Should_Send_Request(client: Substitute.HttpClient|037bbe83, request: Method: method1ff47a70-ab57-454b-b642-f3baa9469ff4, RequestUri: 'http://a61fa235-2649-4ad1-b5b2-84703b3b6664/', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, sut: DeleteEndpoint { }, id: "ida960a372-67d0-4bd7-9240-1b34d4648862", cancellationToken: System.Threading.CancellationToken)
✅ Should_Use_Correct_HttpMethod(builder: Substitute.IMessageRequestBuilder|000e0f50, sut: DeleteEndpoint { }, id: "idcfd365c0-edaa-48be-8b3e-d116950bce27", cancellationToken: System.Threading.CancellationToken)

✅ Cabazure.Client.IntegrationTests.GetEndpointTests

✅ Should_Add_ClientRequestOptions_To_Builder(builder: Substitute.IMessageRequestBuilder|004cb19c, sut: GetEndpoint { }, id: "id18ee917a-1638-4128-9f28-ea96c4afe2cb", options: ClientRequestOptions { CorrelationId = "CorrelationId9f25a561-e7c7-44b1-8a48-444740578a03", Timeout = 00:00:00.0000084 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Add_PathParameter(builder: Substitute.IMessageRequestBuilder|01f81fd5, sut: GetEndpoint { }, id: "id23f1c1ab-213f-47ad-a6b4-af227b693524", options: ClientRequestOptions { CorrelationId = "CorrelationId821fb279-88fe-43ee-94ed-65c25f9f7b44", Timeout = 00:00:00.0000010 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Configure_SuccessResponse(builder: Substitute.IMessageResponseBuilder|013ef554, sut: GetEndpoint { }, item: "item05a73d2f-89f7-41dd-9a68-e95d2ea5f1b5", options: ClientRequestOptions { CorrelationId = "CorrelationId7b371b7f-161a-4dcb-b442-bc2b459f8bf8", Timeout = 00:00:00.0000019 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_Builder_From_Response(requestFactory: Substitute.IMessageRequestFactory|02bd516f, response: StatusCode: 100, ReasonPhrase: 'ReasonPhraseb1343124-5317-4e16-bbd5-e47c6a5652ff', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, sut: GetEndpoint { }, id: "id34981b3e-13da-4adf-96f3-80fab6071fc6", options: ClientRequestOptions { CorrelationId = "CorrelationId4b12f3cf-2f8c-46c7-b5e5-ec4184417e4b", Timeout = 00:00:00.0000136 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_HttpClient(factory: Substitute.IHttpClientFactory|0198229d, sut: GetEndpoint { }, id: "id3ea0c017-92b3-4cc5-babf-94aef39c31c4", options: ClientRequestOptions { CorrelationId = "CorrelationId9979182c-5cbb-420b-a1c3-892f88b32c57", Timeout = 00:00:00.0000226 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_Request(requestFactory: Substitute.IMessageRequestFactory|0106f32c, sut: GetEndpoint { }, id: "id72159311-e2a6-49ba-ba5f-0a7ccb037c50", options: ClientRequestOptions { CorrelationId = "CorrelationId2f3af6bd-95ab-4e43-bcf5-55fd977d2a7a", Timeout = 00:00:00.0000142 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_Result(builder: Substitute.IMessageResponseBuilder|02df8b11, sut: GetEndpoint { }, item: "itemc1c6d03a-f06b-47c0-aec8-50747eb96971", options: ClientRequestOptions { CorrelationId = "CorrelationId0fd9107a-6b44-4e29-8a2a-898bfb56ec6d", Timeout = 00:00:00.0000011 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Get_Registered_By_AddCabazureClient(services: [···], jsonOptions: Action`1 { Method = Void Invoke(System.Text.Json.JsonSerializerOptions), Target = Substitute.Action<JsonSerializerOptions>|03e09493 }, builder: Action`1 { Method = Void Invoke(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder), Target = Substitute.Action<IHttpClientBuilder>|03880ba3 })
✅ Should_Implement_Interface(sut: GetEndpoint { }, id: "ide782cb8f-c2c5-45dc-bfb9-fa7da29cfc9c", options: ClientRequestOptions { CorrelationId = "CorrelationId2f444c3c-7808-4448-89cb-d58411fc0123", Timeout = 00:00:00.0000104 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Return_Result(builder: Substitute.IMessageResponseBuilder|02407bd4, sut: GetEndpoint { }, response: EndpointResponse { IsSuccess = True, StatusCode = Processing, Content = Content0a2733f1-7125-4df5-80c3-70528775b687, ContentObject = System.Object, Headers = System.Collections.ObjectModel.ReadOnlyDictionary`2[System.String,System.Collections.Generic.IEnumerable`1[System.String]], IsOk = False, IsNotFound = False, IsTimeout = False, IsBadRequest = False, OkContent = OkContentdcec97c5-948b-42eb-9058-7160ed8fc2e7 }, item: "itemb9f33f01-30ad-46a7-90c7-fe083a5ad738", options: ClientRequestOptions { CorrelationId = "CorrelationId4bb8728b-763d-4710-ad99-f391d95c5e0c", Timeout = 00:00:00.0000216 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Send_Request(client: Substitute.HttpClient|025bc987, request: Method: method7bc6ebbe-427a-4272-82c6-b5dece6fbc4a, RequestUri: 'http://c6e01435-e7c0-4e28-95f5-b448a82d0c65/', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, sut: GetEndpoint { }, id: "id76b547df-1a91-46bb-94ca-451ec5e04488", options: ClientRequestOptions { CorrelationId = "CorrelationId49648bb1-8389-47b2-8723-ecd6001b8ee1", Timeout = 00:00:00.0000113 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Set_Timeout_On_HttpClient(client: Substitute.HttpClient|0201548b, sut: GetEndpoint { }, item: "item4bb8f6f9-a042-45e7-be16-5725955c20a1", options: ClientRequestOptions { CorrelationId = "CorrelationIdd1727d84-3d75-451b-bce3-f68eb59b87be", Timeout = 00:00:00.0000223 }, timeout: 00:00:00.0000078, cancellationToken: System.Threading.CancellationToken)
✅ Should_Use_Correct_HttpMethod(builder: Substitute.IMessageRequestBuilder|0361604f, sut: GetEndpoint { }, id: "idd58885da-a516-4845-b337-a6147170f3f9", options: ClientRequestOptions { CorrelationId = "CorrelationId35562ef1-dea6-424a-b551-3a5daedde8cf", Timeout = 00:00:00.0000075 }, cancellationToken: System.Threading.CancellationToken)

✅ Cabazure.Client.IntegrationTests.ListEndpointTests

✅ Should_Add_PagedRequestOptions_To_Builder(builder: Substitute.IMessageRequestBuilder|01af8d3f, sut: ListEndpoint { }, search: "searchdcab4776-0964-459a-93cd-5602cf16e469", options: PagedRequestOptions { ContinuationToken = "ContinuationToken51a58691-2a19-4025-b3c9-5bf231452"···, CorrelationId = "CorrelationId5be2e00c-a46e-4d78-8eee-873cd38f20cf", MaxItemCount = 174, Timeout = 00:00:00.0000043 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Add_QueryParameter(builder: Substitute.IMessageRequestBuilder|03f6020b, sut: ListEndpoint { }, search: "search1f9e10ff-0f91-4b0e-8e51-7c756c2c41ed", options: PagedRequestOptions { ContinuationToken = "ContinuationTokenf4526071-52e0-4e7f-bd61-9e570e898"···, CorrelationId = "CorrelationIda3a9c8ac-de16-4268-8069-3ca23d4b4129", MaxItemCount = 195, Timeout = 00:00:00.0000085 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Configure_SuccessResponse(builder: Substitute.IMessageResponseBuilder|03c5b84d, sut: ListEndpoint { }, item: "itemeab16ead-8578-4896-9fa8-3515074e7d56", options: PagedRequestOptions { ContinuationToken = "ContinuationToken47b81b85-9ef4-4728-964f-0314c49fc"···, CorrelationId = "CorrelationId8e5c41fd-6d67-427d-b288-a6ac93786f2d", MaxItemCount = 11, Timeout = 00:00:00.0000151 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_Builder_From_Response(requestFactory: Substitute.IMessageRequestFactory|0216642e, response: StatusCode: 100, ReasonPhrase: 'ReasonPhrase4f2c7db0-900c-49cf-a1af-95becdae0892', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, sut: ListEndpoint { }, id: "id5dd3e367-8d12-4a47-9e7d-1aa00bcd005d", options: PagedRequestOptions { ContinuationToken = "ContinuationTokene21402d5-29fa-438e-9f80-21aa3b285"···, CorrelationId = "CorrelationId2855976a-10e5-4a89-8934-11c8ec1869f7", MaxItemCount = 116, Timeout = 00:00:00.0000094 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_HttpClient(factory: Substitute.IHttpClientFactory|01ca0b84, sut: ListEndpoint { }, id: "id666239bc-16ca-452c-8d79-91cfc3298391", options: PagedRequestOptions { ContinuationToken = "ContinuationToken3bf00748-7744-4ae0-93c1-ec9a5522d"···, CorrelationId = "CorrelationIdecefe929-edcc-4d4a-a505-44614b2493ed", MaxItemCount = 177, Timeout = 00:00:00.0000126 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_Request(requestFactory: Substitute.IMessageRequestFactory|0157b717, sut: ListEndpoint { }, id: "idee9c0084-f688-465f-bf68-48068bdb8cf7", options: PagedRequestOptions { ContinuationToken = "ContinuationTokenecc1a9ac-59c0-42ce-a74e-9e851380a"···, CorrelationId = "CorrelationId9aed6ce6-052f-4868-ad97-510684a89011", MaxItemCount = 214, Timeout = 00:00:00.0000235 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_Result(builder: Substitute.IMessageResponseBuilder|00714c06, sut: ListEndpoint { }, item: "item90bca1ae-c099-4455-bcb6-a8641a1fcd51", options: PagedRequestOptions { ContinuationToken = "ContinuationToken4ac9d7ef-d015-411b-9b7b-a5d30c445"···, CorrelationId = "CorrelationId1d3ed922-86c0-4892-bc4a-0dc08e9b438c", MaxItemCount = 140, Timeout = 00:00:00.0000005 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Get_Registered_By_AddCabazureClient(services: [···], jsonOptions: Action`1 { Method = Void Invoke(System.Text.Json.JsonSerializerOptions), Target = Substitute.Action<JsonSerializerOptions>|02492cd5 }, builder: Action`1 { Method = Void Invoke(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder), Target = Substitute.Action<IHttpClientBuilder>|000194e5 })
✅ Should_Implement_Interface(sut: ListEndpoint { }, id: "id5f958b56-e82f-4f8c-b5ff-fd96604915ef", options: ClientRequestOptions { CorrelationId = "CorrelationId1b6bf248-49bb-448f-b01d-885043384fb0", Timeout = 00:00:00.0000200 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Return_Result(builder: Substitute.IMessageResponseBuilder|006acd4e, sut: ListEndpoint { }, response: PagedResponse { IsSuccess = True, StatusCode = Processing, Content = Content72d6ff21-4885-46a4-9b19-eec999c34415, ContentObject = System.Object, Headers = System.Collections.ObjectModel.ReadOnlyDictionary`2[System.String,System.Collections.Generic.IEnumerable`1[System.String]], IsOk = False, IsNotFound = False, IsTimeout = False, IsBadRequest = False, OkContent = System.String[], ContinuationToken = ContinuationToken0e2bcfdb-9eb5-41f5-b771-f0ca7407d7ea }, item: "item064cc17c-ba19-422d-bcf1-eea9c63ee23a", options: PagedRequestOptions { ContinuationToken = "ContinuationToken7cb4efb3-13c4-4c1c-9a39-d063aa21a"···, CorrelationId = "CorrelationId18eb2e91-1745-47e0-8f1e-886f9ce6c30f", MaxItemCount = 66, Timeout = 00:00:00.0000050 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Send_Request(client: Substitute.HttpClient|03ac3449, request: Method: method3554f7b7-36c6-4088-8678-ada05fe6127e, RequestUri: 'http://ced140d8-d9de-47b4-8963-abb23179505c/', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, sut: ListEndpoint { }, id: "id8e485e51-add5-42a2-b7ec-8e307d475815", options: PagedRequestOptions { ContinuationToken = "ContinuationToken5efa12f0-bcdb-4d64-9ec6-74c8d18b4"···, CorrelationId = "CorrelationIdc84cb180-f212-43b0-b0bf-6e7c65502e76", MaxItemCount = 254, Timeout = 00:00:00.0000024 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Set_Timeout_On_HttpClient(factory: Substitute.IHttpClientFactory|01658a78, client: Substitute.HttpClient|006f811f, sut: ListEndpoint { }, item: "item8e63deda-ab99-4799-b880-a0ab8be448f7", options: PagedRequestOptions { ContinuationToken = "ContinuationTokenf68d524e-f7b6-47d3-a549-2c5bbc8eb"···, CorrelationId = "CorrelationIda131dfeb-7232-4fd4-97fe-80da607a4f9a", MaxItemCount = 168, Timeout = 00:00:00.0000117 }, timeout: 00:00:00.0000124, cancellationToken: System.Threading.CancellationToken)

✅ Cabazure.Client.IntegrationTests.PostEndpointTests

✅ Should_Add_Body(builder: Substitute.IMessageRequestBuilder|01cf80a4, sut: PostEndpoint { }, item: "item9acab36f-6ff3-4fec-8873-47d83d7e0bfb", options: ClientRequestOptions { CorrelationId = "CorrelationId680b722e-5c40-46d6-b5a5-54b2fbbc94bc", Timeout = 00:00:00.0000030 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Add_ClientRequestOptions_To_Builder(builder: Substitute.IMessageRequestBuilder|0166e899, sut: PostEndpoint { }, item: "item108b3090-25be-4729-97d4-9ce4012e389e", options: ClientRequestOptions { CorrelationId = "CorrelationId7648fe4a-f157-4b94-a574-9c09ad731d44", Timeout = 00:00:00.0000155 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Configure_SuccessResponse(builder: Substitute.IMessageResponseBuilder|0016d08f, sut: PostEndpoint { }, item: "item9baeae35-577a-4ab1-ba8a-7cafa60f5a4b", options: ClientRequestOptions { CorrelationId = "CorrelationId258c081a-688a-4a9e-8b38-76a4f196dd79", Timeout = 00:00:00.0000159 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_Builder_From_Response(requestFactory: Substitute.IMessageRequestFactory|03a7670a, response: StatusCode: 100, ReasonPhrase: 'ReasonPhraseb884dd06-bd20-4644-8774-a869d54361e2', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, sut: PostEndpoint { }, id: "idf546bf52-fe0e-46b9-a253-4097600c4b70", options: ClientRequestOptions { CorrelationId = "CorrelationId4c044c8c-a270-454b-971e-4e46febb0344", Timeout = 00:00:00.0000223 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_HttpClient(factory: Substitute.IHttpClientFactory|02ffc19f, sut: PostEndpoint { }, id: "id4459890e-a6de-42c7-9c10-a90341e7d8b0", options: ClientRequestOptions { CorrelationId = "CorrelationId63122ead-0dd0-4ffa-abec-68af5e17f5e8", Timeout = 00:00:00.0000183 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_Request(requestFactory: Substitute.IMessageRequestFactory|02f60293, sut: PostEndpoint { }, id: "idbdbedbca-f9be-4134-9505-b206e58b6288", options: ClientRequestOptions { CorrelationId = "CorrelationIddb77eda9-8f3b-4e5e-a1dc-533a741ead21", Timeout = 00:00:00.0000028 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Create_Result(builder: Substitute.IMessageResponseBuilder|01d44967, sut: PostEndpoint { }, item: "item9de9256e-193d-4cef-bf82-80ef9e75e60d", options: ClientRequestOptions { CorrelationId = "CorrelationId8a05a339-2244-48c8-ae85-ad6a400a7f1f", Timeout = 00:00:00.0000151 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Get_Registered_By_AddCabazureClient(services: [···], jsonOptions: Action`1 { Method = Void Invoke(System.Text.Json.JsonSerializerOptions), Target = Substitute.Action<JsonSerializerOptions>|023b9a4e }, builder: Action`1 { Method = Void Invoke(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder), Target = Substitute.Action<IHttpClientBuilder>|038bb6a3 })
✅ Should_Implement_Interface(sut: PostEndpoint { }, id: "id11470ce5-e3e2-487f-90b3-1da231ac90d4", options: ClientRequestOptions { CorrelationId = "CorrelationIdae21080f-0bdd-4244-afc8-871d41558946", Timeout = 00:00:00.0000032 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Return_Result(builder: Substitute.IMessageResponseBuilder|01372102, sut: PostEndpoint { }, response: EndpointResponse { IsSuccess = True, StatusCode = Processing, Content = Content6592c874-3bb6-4550-87e7-1f2b983868c5, ContentObject = System.Object, Headers = System.Collections.ObjectModel.ReadOnlyDictionary`2[System.String,System.Collections.Generic.IEnumerable`1[System.String]], IsOk = False, IsNotFound = False, IsTimeout = False, IsBadRequest = False, OkContent = OkContentb733c819-5650-4f25-88df-06f9b86b0518 }, item: "itemd974b30d-455b-469e-b3af-ce7a27203c75", options: ClientRequestOptions { CorrelationId = "CorrelationId3a04b891-0f72-4a0e-bdf7-c6f933f0e028", Timeout = 00:00:00.0000024 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Send_Request(client: Substitute.HttpClient|0383adac, request: Method: methodcbec9d11-d980-4a02-a2df-d92938664054, RequestUri: 'http://fe0167b9-961f-4a65-9828-2cb4e78a2e6c/', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, sut: PostEndpoint { }, id: "id43f1e9fd-ecc7-4468-9f0e-31b059af195c", options: ClientRequestOptions { CorrelationId = "CorrelationIdeb2ca536-86cd-49cd-8f54-c5bca08744de", Timeout = 00:00:00.0000171 }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Set_Timeout_On_HttpClient(factory: Substitute.IHttpClientFactory|02a4f693, client: Substitute.HttpClient|006b7dae, sut: PostEndpoint { }, item: "item47fa2a4a-dc06-4be6-a1cc-06d2dce912a6", options: ClientRequestOptions { CorrelationId = "CorrelationId35b3ca13-920e-4e11-af55-2491777be69a", Timeout = 00:00:00.0000090 }, timeout: 00:00:00.0000007, cancellationToken: System.Threading.CancellationToken)
✅ Should_Use_Correct_HttpMethod(builder: Substitute.IMessageRequestBuilder|01666993, sut: PostEndpoint { }, id: "id969072a2-4db9-4afc-b00b-0bee55967aed", options: ClientRequestOptions { CorrelationId = "CorrelationIde7d31f01-4423-4957-91a7-4721b26dc935", Timeout = 00:00:00.0000093 }, cancellationToken: System.Threading.CancellationToken)

✅ test/Cabazure.Client.Runtime.Tests/TestResults/test-results.trx

32 tests were completed in 4s with 32 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Cabazure.Client.Runtime.Tests.Authentication.AzureAuthenticationHandlerTests 1✅ 85ms
Cabazure.Client.Runtime.Tests.Authentication.BearerTokenProviderTests 4✅ 60ms
Cabazure.Client.Runtime.Tests.Authentication.DateTimeProviderTests 1✅ 1ms
Cabazure.Client.Runtime.Tests.Builder.ClientSerializerTests 4✅ 90ms
Cabazure.Client.Runtime.Tests.Builder.HttpClientBuilderExtensionsTests 3✅ 282ms
Cabazure.Client.Runtime.Tests.Builder.MessageRequestBuilderTest 11✅ 117ms
Cabazure.Client.Runtime.Tests.Builder.MessageRequestFactoryTests 3✅ 1ms
Cabazure.Client.Runtime.Tests.Builder.MessageResponseBuilderTests 5✅ 226ms

✅ Cabazure.Client.Runtime.Tests.Authentication.AzureAuthenticationHandlerTests

✅ Should_Get_Token_On_Send(tokenProvider: Substitute.IBearerTokenProvider|03b94ae2, sut: AzureAuthenticationHandler { InnerHandler = Substitute.HttpMessageHandler|03d65a95 }, handler: Substitute.HttpMessageHandler|001fd498, authenticationHeader: schemef5998782-bbca-4e5d-bb8c-d363d1a73ff1, request: Method: method37277ea1-b916-4bf4-a3c3-248f36b38d04, RequestUri: 'http://0cc4521c-322f-4d48-ad34-ab403e0acdaf/', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, response: StatusCode: 100, ReasonPhrase: 'ReasonPhrase6223dfd2-ff46-4953-84b3-bf02f011c04e', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, cancellationToken: System.Threading.CancellationToken)

✅ Cabazure.Client.Runtime.Tests.Authentication.BearerTokenProviderTests

✅ Should_Renew_Expired_Token(credential: Substitute.TokenCredential|0284bbec, dateTimeProvider: Substitute.IDateTimeProvider|03d99665, context: Azure.Core.TokenRequestContext, sut: BearerTokenProvider { }, timestamp: 2026-10-10T05:59:35.6358846+00:00, cancellationToken: System.Threading.CancellationToken)
✅ Should_Return_Token_From_TokenCredential(credential: Substitute.TokenCredential|03086ca1, dateTimeProvider: Substitute.IDateTimeProvider|0166fa07, context: Azure.Core.TokenRequestContext, sut: BearerTokenProvider { }, timestamp: 2023-09-18T13:40:56.1093663+00:00, accessToken: Azure.Core.AccessToken, cancellationToken: System.Threading.CancellationToken)
✅ Should_Use_Bearer_AuthorizationToken(credential: Substitute.TokenCredential|017a48c4, dateTimeProvider: Substitute.IDateTimeProvider|03debff1, context: Azure.Core.TokenRequestContext, sut: BearerTokenProvider { }, timestamp: 2026-02-15T13:58:56.3634997+00:00, cancellationToken: System.Threading.CancellationToken)
✅ Should_Use_Cached_Token_From_TokenCredential(credential: Substitute.TokenCredential|010be2d5, dateTimeProvider: Substitute.IDateTimeProvider|0063aebd, context: Azure.Core.TokenRequestContext, sut: BearerTokenProvider { }, timestamp: 2026-08-31T22:08:38.6899810+00:00, cancellationToken: System.Threading.CancellationToken)

✅ Cabazure.Client.Runtime.Tests.Authentication.DateTimeProviderTests

✅ GetDateTime_Returns_DateTimeOffset_UtcNow(sut: DateTimeProvider { })

✅ Cabazure.Client.Runtime.Tests.Builder.ClientSerializerTests

✅ Deserialize_Gets_Named_SerializerOptions(optionsMonitor: Substitute.IOptionsMonitor<JsonSerializerOptions>|00419dc9, sut: ClientSerializer { }, clientName: "clientName05de2186-25c5-413a-894c-6570f2add267", value: TestObject { Name = Nameb71c0e79-e16d-4a98-a36f-f73ff2b5849c, Age = 92 })
✅ Deserialize_Returns_Deserialized_Value(optionsMonitor: Substitute.IOptionsMonitor<JsonSerializerOptions>|01e42633, sut: ClientSerializer { }, clientName: "clientName4c3fa22c-fadb-4629-8a42-3ca71d590039", value: TestObject { Name = Name2d802924-88f1-45a3-aff3-2b12e737716a, Age = 196 })
✅ Serialize_Gets_Named_SerializerOptions(optionsMonitor: Substitute.IOptionsMonitor<JsonSerializerOptions>|00c522cb, sut: ClientSerializer { }, clientName: "clientName5d35b732-5037-4bad-a463-ebbea3fc2eb5", value: TestObject { Name = Namee9722556-2dac-4908-86a1-1a2eca74b909, Age = 2 })
✅ Serialize_Returns_Serialized_Value(optionsMonitor: Substitute.IOptionsMonitor<JsonSerializerOptions>|03f6a0a1, sut: ClientSerializer { }, clientName: "clientName402f3367-154f-47e7-b511-81a5d50e4987", value: TestObject { Name = Namec6ce599b-ebf8-4e61-9a4b-533171b257fb, Age = 131 })

✅ Cabazure.Client.Runtime.Tests.Builder.HttpClientBuilderExtensionsTests

✅ AddAuthentication_With_Scope_Should_Configure_AzureAuthenticationHandler(services: [···], builder: Substitute.IHttpClientBuilder|01cd2b05, name: "name7e6ff42a-2157-4b81-84ee-e96dcf84b587", scope: "scope8e51d649-5c6d-40c8-8eb5-f7d9cf589d89", credential: Substitute.TokenCredential|004c9861)
✅ AddAuthentication_With_TokenContext_Should_Configure_AzureAuthenticationHandler(services: [···], builder: Substitute.IHttpClientBuilder|0314d57c, name: "name9d687a6c-cdac-48f1-9318-891e4e604fbd", context: Azure.Core.TokenRequestContext, credential: Substitute.TokenCredential|009d8a98)
✅ SetBaseAddress_Should_Set_BaseAddress_On_HttpClient(services: [···], builder: Substitute.IHttpClientBuilder|02765b07, name: "name3d1a2f07-7008-4df6-8e72-bae5357e1207", baseAddress: http://0a7c0343-19b0-4937-b969-3c5873f21017/)

✅ Cabazure.Client.Runtime.Tests.Builder.MessageRequestBuilderTest

✅ Should_Ignore_Header_When_Null_Or_Empty_Or_Whitespace(sut: MessageRequestBuilder { }, headerName: "headerNamea4d72f56-7d8b-4930-a82f-9bac682f776d")
✅ Should_Include_BodyAsync(template: "template0947243f-4d5c-4b0b-ae94-71f254b8a86c", serializer: Substitute.IClientSerializer|01a163e6, clientName: "clientName8166e020-f8a8-4fba-8be8-7c269577bc6f", content: "content3075aa36-47fb-4e64-9459-af44ffb76222")
✅ Should_Include_Continuation_Header(sut: MessageRequestBuilder { }, options: PagedRequestOptions { ContinuationToken = "ContinuationTokenb46453c6-1331-4817-aae0-5149e0fe8"···, CorrelationId = "CorrelationId1b737466-aab9-486c-8873-e9301d9239ee", MaxItemCount = 145, Timeout = 00:00:00.0000074 })
✅ Should_Include_CorrelationId_Header(sut: MessageRequestBuilder { }, options: ClientRequestOptions { CorrelationId = "CorrelationId282b3794-6cfc-4ee1-80de-b26f6711ad59", Timeout = 00:00:00.0000184 })
✅ Should_Include_Header(sut: MessageRequestBuilder { }, headerName: "headerName15df6a74-6172-4719-bd7d-5f081deeaf71", headerValue: "headerValue2a9601cd-4987-4baa-b7ce-cfb325f43c2a")
✅ Should_Include_MacItemCount_Header(sut: MessageRequestBuilder { }, options: PagedRequestOptions { ContinuationToken = "ContinuationToken89d61a1d-f652-4257-8423-59322266a"···, CorrelationId = "CorrelationId88f4cf8c-b16d-4c81-833e-98429859ea9c", MaxItemCount = 133, Timeout = 00:00:00.0000140 })
✅ Should_Replace_Path_Parameters(template: "/api/chargepoints/{chargepointId}/connectors/{conn"···, parameterValue: "parameterValue8bd55dbb-5a80-40f3-a37b-f59c2f6c13fe", serializer: Substitute.IClientSerializer|03f6c062, clientName: "clientName0cfc110c-9be4-4569-8a9b-489cb1ae9655")
✅ Should_Replace_Query_Parameters(template: "/api/chargepoints/1232/reset", parameterValue: "parameterValue87e488b6-6876-478f-a52b-43ec066d3f1b", serializer: Substitute.IClientSerializer|01cbd75f, clientName: "clientNameaa554428-6294-48d0-b3f0-acf15134a4d6")
✅ Should_Use_ApplicationJson_As_MediaType(sut: MessageRequestBuilder { })
✅ Should_Use_HttpMethod(method: method492ab73e-a518-4d13-a88a-cb543d00b84f, sut: MessageRequestBuilder { })
✅ Should_Use_HttpVersion_20(method: methodb842d142-33dc-4cb9-8963-35c3b7f71930, sut: MessageRequestBuilder { })

✅ Cabazure.Client.Runtime.Tests.Builder.MessageRequestFactoryTests

✅ Should_Provide_MessageRequestBuilder_FromTemplate(template: "template532cf75a-fd64-48b7-ae9e-6d3af8dddc4c", clientName: "clientNamecb3b5921-2ccc-491f-946c-8a052ee6538a", sut: MessageRequestFactory { })
✅ Should_Provide_MessageResponseBuilder_From_Null_Response(clientName: "clientNamea8fd411f-efc0-4000-a448-4d53aba1f47a", sut: MessageRequestFactory { })
✅ Should_Provide_MessageResponseBuilder_FromResponse(response: StatusCode: 100, ReasonPhrase: 'ReasonPhrasecdae9b9d-a0dd-4142-95c5-997936f69151', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, clientName: "clientName818f3438-e85b-43a2-b62f-1524bdf47d74", sut: MessageRequestFactory { })

✅ Cabazure.Client.Runtime.Tests.Builder.MessageResponseBuilderTests

✅ IsSuccess_Should_Respect_Configured_ErrorResponse(response: StatusCode: 100, ReasonPhrase: 'ReasonPhrase88267a04-ac09-4c61-8b01-fb2ce6c203da', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, sut: MessageResponseBuilder { }, cancellationToken: System.Threading.CancellationToken)
✅ IsSuccess_Should_Respect_Configured_SuccessResponse(response: StatusCode: 100, ReasonPhrase: 'ReasonPhrased16067f9-9627-4f4d-a89c-ee44b5f5da93', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, sut: MessageResponseBuilder { }, cancellationToken: System.Threading.CancellationToken)
✅ Should_Deserialize_Configured_ErrorResponseCode(response: StatusCode: 100, ReasonPhrase: 'ReasonPhrase2bbba0d6-e1fc-4940-b1eb-309d5e41f194', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, serializer: Substitute.IClientSerializer|002477e8, sut: MessageResponseBuilder { }, expected: 2023-03-17T00:50:35.4751137+00:00, cancellationToken: System.Threading.CancellationToken)
✅ Should_Deserialize_Configured_SuccessResponseCode(response: StatusCode: 100, ReasonPhrase: 'ReasonPhrase32df8695-2bd6-483e-a2d3-725b05eb2e8c', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, serializer: Substitute.IClientSerializer|03775e83, sut: MessageResponseBuilder { }, expected: 2026-06-09T05:33:15.3596447+00:00, cancellationToken: System.Threading.CancellationToken)
✅ Should_Return_Response_Headers(response: StatusCode: 100, ReasonPhrase: 'ReasonPhrasecfc7d5ec-9d36-4c75-bc28-9dc1e9dec4ad', Version: 0.0, Content: Castle.Proxies.HttpContentProxy, Headers:
{
}, sut: MessageResponseBuilder { }, cancellationToken: System.Threading.CancellationToken)

✅ test/Cabazure.Client.Tests/TestResults/test-results.trx

29 tests were completed in 7s with 29 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Cabazure.Client.Tests.ClientEndpointGeneratorTests 20✅ 4s
Cabazure.Client.Tests.ClientInitializationGeneratorTests 1✅ 2s
Cabazure.Client.Tests.GeneratorDiagnosticsTests 8✅ 2s

✅ Cabazure.Client.Tests.ClientEndpointGeneratorTests

✅ CanGenerate_CancellationToken_Parameter
✅ CanGenerate_ClientName_From_Constant
✅ CanGenerate_ClientName_From_NameOf
✅ CanGenerate_ClientRequestOptions_Parameter
✅ CanGenerate_DeleteEndpoint
✅ CanGenerate_FileScopedNamespace
✅ CanGenerate_GetEndpoint
✅ CanGenerate_HeaderParameter
✅ CanGenerate_NamedPathParameter
✅ CanGenerate_NamedQueryParameter
✅ CanGenerate_Namespace
✅ CanGenerate_NestedType
✅ CanGenerate_PagedRequestOptions_Parameter
✅ CanGenerate_Pagination_Endpoint
✅ CanGenerate_PathParameter
✅ CanGenerate_PostEndpoint
✅ CanGenerate_PutEndpoint
✅ CanGenerate_QueryParameter
✅ CanGenerate_QueryParameter_DateTimeOffset
✅ CanGenerate_Usings

✅ Cabazure.Client.Tests.ClientInitializationGeneratorTests

✅ CanGenerate_Initialization

✅ Cabazure.Client.Tests.GeneratorDiagnosticsTests

✅ ReportDiagnostics_When_ClientNameIsEmpty
✅ ReportDiagnostics_When_ClientNameIsEmpty_UsingAConstant
✅ ReportDiagnostics_When_EndpointHasNoMethods
✅ ReportDiagnostics_When_MissingEndpointRoute
✅ ReportDiagnostics_When_PathParameterNotInRouteTemplate
✅ ReportDiagnostics_When_RouteTemplateHasUnmappedPathParameter
✅ ReportDiagnostics_When_UnsupportedEndpointParameterType
✅ ReportDiagnostics_When_UnsupportedEndpointReturnType