Skip to content

Commit 8c57048

Browse files
committed
Add idempotent for the client header in tests
1 parent 3b59433 commit 8c57048

4 files changed

Lines changed: 45 additions & 6 deletions

File tree

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using Microsoft.AspNetCore.TestHost;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Net.Http;
5+
using System.Text;
6+
7+
namespace FunctionalTests.Extensions
8+
{
9+
static class HttpClientExtensions
10+
{
11+
public static HttpClient CreateIdempotentClient(this TestServer server)
12+
{
13+
var client = server.CreateClient();
14+
client.DefaultRequestHeaders.Add("x-requestid", Guid.NewGuid().ToString());
15+
return client;
16+
}
17+
}
18+
}

test/Services/FunctionalTests/Services/Ordering/OrderingScenarios.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands;
1+
using FunctionalTests.Extensions;
2+
using Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands;
23
using Microsoft.eShopOnContainers.WebMVC.ViewModels;
34
using Newtonsoft.Json;
45
using System;
@@ -19,7 +20,7 @@ public async Task Create_order_and_return_the_order_by_id()
1920
{
2021
using (var server = CreateServer())
2122
{
22-
var client = server.CreateClient();
23+
var client = server.CreateIdempotentClient();
2324

2425
// GIVEN an order is created
2526
await client.PostAsync(Post.AddNewOrder, new StringContent(BuildOrder(), UTF8Encoding.UTF8, "application/json"));
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using Microsoft.AspNetCore.TestHost;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Net.Http;
5+
using System.Text;
6+
7+
namespace IntegrationTests.Services.Extensions
8+
{
9+
static class HttpClientExtensions
10+
{
11+
public static HttpClient CreateIdempotentClient(this TestServer server)
12+
{
13+
var client = server.CreateClient();
14+
client.DefaultRequestHeaders.Add("x-requestid", Guid.NewGuid().ToString());
15+
return client;
16+
}
17+
}
18+
}

test/Services/IntegrationTests/Services/Ordering/OrderingScenarios.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
namespace IntegrationTests.Services.Ordering
22
{
3+
using IntegrationTests.Services.Extensions;
4+
using Microsoft.AspNetCore.TestHost;
35
using Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands;
46
using Newtonsoft.Json;
57
using System;
@@ -28,9 +30,9 @@ public async Task Get_get_all_stored_orders_and_response_ok_status_code()
2830
public async Task AddNewOrder_add_new_order_and_response_ok_status_code()
2931
{
3032
using (var server = CreateServer())
31-
{
33+
{
3234
var content = new StringContent(BuildOrder(), UTF8Encoding.UTF8, "application/json");
33-
var response = await server.CreateClient()
35+
var response = await server.CreateIdempotentClient()
3436
.PostAsync(Post.AddNewOrder, content);
3537

3638
response.EnsureSuccessStatusCode();
@@ -44,7 +46,7 @@ public async Task AddNewOrder_response_bad_request_if_card_expiration_is_invalid
4446
{
4547
var content = new StringContent(BuildOrderWithInvalidExperationTime(), UTF8Encoding.UTF8, "application/json");
4648

47-
var response = await server.CreateClient()
49+
var response = await server.CreateIdempotentClient()
4850
.PostAsync(Post.AddNewOrder, content);
4951

5052
Assert.True(response.StatusCode == System.Net.HttpStatusCode.BadRequest);
@@ -102,5 +104,5 @@ string BuildOrderWithInvalidExperationTime()
102104

103105
return JsonConvert.SerializeObject(order);
104106
}
105-
}
107+
}
106108
}

0 commit comments

Comments
 (0)