Browse Source

Updated Load Tests

Added middleware to bypass authorization in load testing
pull/380/head
Ramón Tomás 7 years ago
parent
commit
c51c101f90
41 changed files with 575 additions and 1555 deletions
  1. +2
    -1
      .env
  2. +6
    -0
      docker-compose.override.yml
  3. +1
    -52
      eShopOnContainers-ServicesAndWebApps.sln
  4. +1
    -0
      src/BuildingBlocks/Resilience/Resilience.Http/Resilience.Http.csproj
  5. +22
    -3
      src/BuildingBlocks/Resilience/Resilience.Http/ResilientHttpClient.cs
  6. +21
    -2
      src/BuildingBlocks/Resilience/Resilience.Http/StandardHttpClient.cs
  7. +79
    -0
      src/Services/Basket/Basket.API/Infrastructure/Middlewares/ByPassAuthMiddleware.cs
  8. +9
    -6
      src/Services/Basket/Basket.API/Startup.cs
  9. +3
    -6
      src/Services/Catalog/Catalog.API/Startup.cs
  10. +3
    -6
      src/Services/Identity/Identity.API/Startup.cs
  11. +78
    -0
      src/Services/Location/Locations.API/Infrastructure/Middlewares/ByPassAuthMiddleware.cs
  12. +9
    -6
      src/Services/Location/Locations.API/Startup.cs
  13. +78
    -0
      src/Services/Marketing/Marketing.API/Infrastructure/Middlewares/ByPassAuthMiddleware.cs
  14. +9
    -6
      src/Services/Marketing/Marketing.API/Startup.cs
  15. +78
    -0
      src/Services/Ordering/Ordering.API/Infrastructure/Middlewares/ByPassAuthMiddleware.cs
  16. +9
    -6
      src/Services/Ordering/Ordering.API/Startup.cs
  17. +3
    -6
      src/Services/Payment/Payment.API/Startup.cs
  18. +80
    -0
      src/Web/WebMVC/Infrastructure/Middlewares/ByPassAuthMiddleware.cs
  19. +6
    -3
      src/Web/WebMVC/Infrastructure/ResilientHttpClientFactory.cs
  20. +11
    -7
      src/Web/WebMVC/Startup.cs
  21. +3
    -6
      src/Web/WebSPA/Startup.cs
  22. +3
    -6
      src/Web/WebStatus/Startup.cs
  23. +1
    -73
      test/Services/LoadTest/Basket.API/AddBasket.webtest
  24. +1
    -73
      test/Services/LoadTest/Basket.API/Checkout.webtest
  25. +1
    -73
      test/Services/LoadTest/Basket.API/DeleteBasket.webtest
  26. +1
    -73
      test/Services/LoadTest/Basket.API/GetBasket.webtest
  27. +1
    -73
      test/Services/LoadTest/Location.API/CreateOrUpdateUserLocation.webtest
  28. +1
    -73
      test/Services/LoadTest/Location.API/GetAllLocations.webtest
  29. +1
    -73
      test/Services/LoadTest/Location.API/GetLocation.webtest
  30. +1
    -73
      test/Services/LoadTest/Location.API/GetUserLocation.webtest
  31. +1
    -73
      test/Services/LoadTest/Marketing.API/GetAllCampaigns.webtest
  32. +1
    -73
      test/Services/LoadTest/Marketing.API/GetCampaign.webtest
  33. +1
    -73
      test/Services/LoadTest/Marketing.API/GetUserCampaigns.webtest
  34. +1
    -74
      test/Services/LoadTest/Ordering.API/CancelOrder.webtest
  35. +1
    -73
      test/Services/LoadTest/Ordering.API/GetAllOrders.webtest
  36. +1
    -73
      test/Services/LoadTest/Ordering.API/GetCardTypes.webtest
  37. +1
    -73
      test/Services/LoadTest/Ordering.API/GetOrder.webtest
  38. +1
    -73
      test/Services/LoadTest/Ordering.API/ShipOrder.webtest
  39. +11
    -83
      test/Services/LoadTest/WebMVC/AddProducts.webtest
  40. +3
    -80
      test/Services/LoadTest/WebMVC/CatalogFilter.webtest
  41. +31
    -101
      test/Services/LoadTest/WebMVC/CreateNewOrder.webtest

+ 2
- 1
.env View File

@ -23,4 +23,5 @@ ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP=10.121.122.92
#ESHOP_AZURE_STORAGE_MARKETING_KEY=<YourAzureStorageMarketingKey> #ESHOP_AZURE_STORAGE_MARKETING_KEY=<YourAzureStorageMarketingKey>
#ESHOP_SERVICE_BUS_USERNAME=<ServiceBusUserName-OnlyUsedIfUsingRabbitMQUnderwindows> #ESHOP_SERVICE_BUS_USERNAME=<ServiceBusUserName-OnlyUsedIfUsingRabbitMQUnderwindows>
#ESHOP_SERVICE_BUS_PASSWORD=<ServiceBusUserPassword-OnlyUsedIfUsingRabbitMQUnderwindows> #ESHOP_SERVICE_BUS_PASSWORD=<ServiceBusUserPassword-OnlyUsedIfUsingRabbitMQUnderwindows>
#INSTRUMENTATION_KEY=
#INSTRUMENTATION_KEY=
#USE_LOADTEST=<True/False>

+ 6
- 0
docker-compose.override.yml View File

@ -21,6 +21,8 @@ services:
- AzureServiceBusEnabled=False - AzureServiceBusEnabled=False
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY} - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE} - OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
ports: ports:
- "5103:80" - "5103:80"
@ -77,6 +79,7 @@ services:
- GracePeriodTime=1 - GracePeriodTime=1
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY} - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE} - OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
ports: ports:
- "5102:80" - "5102:80"
@ -100,6 +103,7 @@ services:
- AzureStorageEnabled=False - AzureStorageEnabled=False
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY} - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE} - OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
ports: ports:
- "5110:80" - "5110:80"
@ -144,6 +148,7 @@ services:
- UseCustomizationData=True - UseCustomizationData=True
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY} - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE} - OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
ports: ports:
- "5100:80" - "5100:80"
@ -192,6 +197,7 @@ services:
- AzureServiceBusEnabled=False - AzureServiceBusEnabled=False
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY} - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE} - OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
ports: ports:
- "5109:80" - "5109:80"


+ 1
- 52
eShopOnContainers-ServicesAndWebApps.sln View File

@ -1,7 +1,7 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15 # Visual Studio 15
VisualStudioVersion = 15.0.26730.15
VisualStudioVersion = 15.0.27004.2002
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{E53339B2-1760-4266-BCC7-CA923CBCF16C}") = "docker-compose", "docker-compose.dcproj", "{FEA0C318-FFED-4D39-8781-265718CA43DD}" Project("{E53339B2-1760-4266-BCC7-CA923CBCF16C}") = "docker-compose", "docker-compose.dcproj", "{FEA0C318-FFED-4D39-8781-265718CA43DD}"
EndProject EndProject
@ -79,8 +79,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Health
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.HealthChecks.SqlServer", "src\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks.SqlServer\Microsoft.Extensions.HealthChecks.SqlServer.csproj", "{4BD76717-3102-4969-8C2C-BAAA3F0263B6}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.HealthChecks.SqlServer", "src\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks.SqlServer\Microsoft.Extensions.HealthChecks.SqlServer.csproj", "{4BD76717-3102-4969-8C2C-BAAA3F0263B6}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EventBus.Tests", "src\BuildingBlocks\EventBus\EventBus.Tests\EventBus.Tests.csproj", "{4A980AC4-7205-46BF-8CCB-09E44D700FD4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Location", "Location", "{41139F64-4046-4F16-96B7-D941D96FA9C6}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Location", "Location", "{41139F64-4046-4F16-96B7-D941D96FA9C6}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Locations.API", "src\Services\Location\Locations.API\Locations.API.csproj", "{E7581357-FC34-474C-B8F5-307EE3CE05EF}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Locations.API", "src\Services\Location\Locations.API\Locations.API.csproj", "{E7581357-FC34-474C-B8F5-307EE3CE05EF}"
@ -1029,54 +1027,6 @@ Global
{4BD76717-3102-4969-8C2C-BAAA3F0263B6}.Release|x64.Build.0 = Release|Any CPU {4BD76717-3102-4969-8C2C-BAAA3F0263B6}.Release|x64.Build.0 = Release|Any CPU
{4BD76717-3102-4969-8C2C-BAAA3F0263B6}.Release|x86.ActiveCfg = Release|Any CPU {4BD76717-3102-4969-8C2C-BAAA3F0263B6}.Release|x86.ActiveCfg = Release|Any CPU
{4BD76717-3102-4969-8C2C-BAAA3F0263B6}.Release|x86.Build.0 = Release|Any CPU {4BD76717-3102-4969-8C2C-BAAA3F0263B6}.Release|x86.Build.0 = Release|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.AppStore|Any CPU.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.AppStore|ARM.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.AppStore|ARM.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.AppStore|iPhone.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.AppStore|x64.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.AppStore|x64.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.AppStore|x86.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.AppStore|x86.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Debug|ARM.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Debug|ARM.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Debug|iPhone.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Debug|x64.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Debug|x64.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Debug|x86.ActiveCfg = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Debug|x86.Build.0 = Debug|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Release|Any CPU.Build.0 = Release|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Release|ARM.ActiveCfg = Release|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Release|ARM.Build.0 = Release|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Release|iPhone.ActiveCfg = Release|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Release|iPhone.Build.0 = Release|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Release|x64.ActiveCfg = Release|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Release|x64.Build.0 = Release|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Release|x86.ActiveCfg = Release|Any CPU
{4A980AC4-7205-46BF-8CCB-09E44D700FD4}.Release|x86.Build.0 = Release|Any CPU
{E7581357-FC34-474C-B8F5-307EE3CE05EF}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU {E7581357-FC34-474C-B8F5-307EE3CE05EF}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
{E7581357-FC34-474C-B8F5-307EE3CE05EF}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU {E7581357-FC34-474C-B8F5-307EE3CE05EF}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
{E7581357-FC34-474C-B8F5-307EE3CE05EF}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU {E7581357-FC34-474C-B8F5-307EE3CE05EF}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
@ -1450,7 +1400,6 @@ Global
{1A01AF82-6FCB-464C-B39C-F127AEBD315D} = {022E145D-1593-47EE-9608-8E323D3C63F5} {1A01AF82-6FCB-464C-B39C-F127AEBD315D} = {022E145D-1593-47EE-9608-8E323D3C63F5}
{22A0F9C1-2D4A-4107-95B7-8459E6688BC5} = {A81ECBC2-6B00-4DCD-8388-469174033379} {22A0F9C1-2D4A-4107-95B7-8459E6688BC5} = {A81ECBC2-6B00-4DCD-8388-469174033379}
{4BD76717-3102-4969-8C2C-BAAA3F0263B6} = {A81ECBC2-6B00-4DCD-8388-469174033379} {4BD76717-3102-4969-8C2C-BAAA3F0263B6} = {A81ECBC2-6B00-4DCD-8388-469174033379}
{4A980AC4-7205-46BF-8CCB-09E44D700FD4} = {807BB76E-B2BB-47A2-A57B-3D1B20FF5E7F}
{41139F64-4046-4F16-96B7-D941D96FA9C6} = {91CF7717-08AB-4E65-B10E-0B426F01E2E8} {41139F64-4046-4F16-96B7-D941D96FA9C6} = {91CF7717-08AB-4E65-B10E-0B426F01E2E8}
{E7581357-FC34-474C-B8F5-307EE3CE05EF} = {41139F64-4046-4F16-96B7-D941D96FA9C6} {E7581357-FC34-474C-B8F5-307EE3CE05EF} = {41139F64-4046-4F16-96B7-D941D96FA9C6}
{88B22DBB-AA8F-4290-A454-2C109352C345} = {DB0EFB20-B024-4E5E-A75C-52143C131D25} {88B22DBB-AA8F-4290-A454-2C109352C345} = {DB0EFB20-B024-4E5E-A75C-52143C131D25}


+ 1
- 0
src/BuildingBlocks/Resilience/Resilience.Http/Resilience.Http.csproj View File

@ -6,6 +6,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" /> <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
<PackageReference Include="Polly" Version="5.3.1" /> <PackageReference Include="Polly" Version="5.3.1" />


+ 22
- 3
src/BuildingBlocks/Resilience/Resilience.Http/ResilientHttpClient.cs View File

@ -10,6 +10,7 @@ using System.Net;
using System.Net.Http; using System.Net.Http;
using System.Net.Http.Headers; using System.Net.Http.Headers;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http
{ {
@ -24,13 +25,15 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http
private readonly ILogger<ResilientHttpClient> _logger; private readonly ILogger<ResilientHttpClient> _logger;
private readonly Func<string, IEnumerable<Policy>> _policyCreator; private readonly Func<string, IEnumerable<Policy>> _policyCreator;
private ConcurrentDictionary<string, PolicyWrap> _policyWrappers; private ConcurrentDictionary<string, PolicyWrap> _policyWrappers;
private readonly IHttpContextAccessor _httpContextAccessor;
public ResilientHttpClient(Func<string, IEnumerable<Policy>> policyCreator, ILogger<ResilientHttpClient> logger)
public ResilientHttpClient(Func<string, IEnumerable<Policy>> policyCreator, ILogger<ResilientHttpClient> logger, IHttpContextAccessor httpContextAccessor)
{ {
_client = new HttpClient(); _client = new HttpClient();
_logger = logger; _logger = logger;
_policyCreator = policyCreator; _policyCreator = policyCreator;
_policyWrappers = new ConcurrentDictionary<string, PolicyWrap>(); _policyWrappers = new ConcurrentDictionary<string, PolicyWrap>();
_httpContextAccessor = httpContextAccessor;
} }
@ -52,10 +55,12 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http
{ {
var requestMessage = new HttpRequestMessage(HttpMethod.Delete, uri); var requestMessage = new HttpRequestMessage(HttpMethod.Delete, uri);
SetAuthorizationHeader(requestMessage);
if (authorizationToken != null) if (authorizationToken != null)
{ {
requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken); requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken);
}
}
if (requestId != null) if (requestId != null)
{ {
@ -65,6 +70,7 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http
return await _client.SendAsync(requestMessage); return await _client.SendAsync(requestMessage);
}); });
} }
public Task<string> GetStringAsync(string uri, string authorizationToken = null, string authorizationMethod = "Bearer") public Task<string> GetStringAsync(string uri, string authorizationToken = null, string authorizationMethod = "Bearer")
{ {
@ -74,6 +80,8 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http
{ {
var requestMessage = new HttpRequestMessage(HttpMethod.Get, uri); var requestMessage = new HttpRequestMessage(HttpMethod.Get, uri);
SetAuthorizationHeader(requestMessage);
if (authorizationToken != null) if (authorizationToken != null)
{ {
requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken); requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken);
@ -108,6 +116,8 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http
{ {
var requestMessage = new HttpRequestMessage(method, uri); var requestMessage = new HttpRequestMessage(method, uri);
SetAuthorizationHeader(requestMessage);
requestMessage.Content = new StringContent(JsonConvert.SerializeObject(item), System.Text.Encoding.UTF8, "application/json"); requestMessage.Content = new StringContent(JsonConvert.SerializeObject(item), System.Text.Encoding.UTF8, "application/json");
if (authorizationToken != null) if (authorizationToken != null)
@ -162,6 +172,15 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http
var origin = $"{url.Scheme}://{url.DnsSafeHost}:{url.Port}"; var origin = $"{url.Scheme}://{url.DnsSafeHost}:{url.Port}";
return origin; return origin;
}
}
private void SetAuthorizationHeader(HttpRequestMessage requestMessage)
{
var authorizationHeader = _httpContextAccessor.HttpContext.Request.Headers["Authorization"];
if (!string.IsNullOrEmpty(authorizationHeader))
{
requestMessage.Headers.Add("Authorization", new List<string>() { authorizationHeader });
}
}
} }
} }

+ 21
- 2
src/BuildingBlocks/Resilience/Resilience.Http/StandardHttpClient.cs View File

@ -1,6 +1,8 @@
using Microsoft.Extensions.Logging;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json; using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic;
using System.Net; using System.Net;
using System.Net.Http; using System.Net.Http;
using System.Net.Http.Headers; using System.Net.Http.Headers;
@ -12,17 +14,21 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http
{ {
private HttpClient _client; private HttpClient _client;
private ILogger<StandardHttpClient> _logger; private ILogger<StandardHttpClient> _logger;
private readonly IHttpContextAccessor _httpContextAccessor;
public StandardHttpClient(ILogger<StandardHttpClient> logger)
public StandardHttpClient(ILogger<StandardHttpClient> logger, IHttpContextAccessor httpContextAccessor)
{ {
_client = new HttpClient(); _client = new HttpClient();
_logger = logger; _logger = logger;
_httpContextAccessor = httpContextAccessor;
} }
public async Task<string> GetStringAsync(string uri, string authorizationToken = null, string authorizationMethod = "Bearer") public async Task<string> GetStringAsync(string uri, string authorizationToken = null, string authorizationMethod = "Bearer")
{ {
var requestMessage = new HttpRequestMessage(HttpMethod.Get, uri); var requestMessage = new HttpRequestMessage(HttpMethod.Get, uri);
SetAuthorizationHeader(requestMessage);
if (authorizationToken != null) if (authorizationToken != null)
{ {
requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken); requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken);
@ -45,6 +51,8 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http
var requestMessage = new HttpRequestMessage(method, uri); var requestMessage = new HttpRequestMessage(method, uri);
SetAuthorizationHeader(requestMessage);
requestMessage.Content = new StringContent(JsonConvert.SerializeObject(item), System.Text.Encoding.UTF8, "application/json"); requestMessage.Content = new StringContent(JsonConvert.SerializeObject(item), System.Text.Encoding.UTF8, "application/json");
if (authorizationToken != null) if (authorizationToken != null)
@ -84,6 +92,8 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http
{ {
var requestMessage = new HttpRequestMessage(HttpMethod.Delete, uri); var requestMessage = new HttpRequestMessage(HttpMethod.Delete, uri);
SetAuthorizationHeader(requestMessage);
if (authorizationToken != null) if (authorizationToken != null)
{ {
requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken); requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken);
@ -96,6 +106,15 @@ namespace Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http
return await _client.SendAsync(requestMessage); return await _client.SendAsync(requestMessage);
} }
private void SetAuthorizationHeader(HttpRequestMessage requestMessage)
{
var authorizationHeader = _httpContextAccessor.HttpContext.Request.Headers["Authorization"];
if (!string.IsNullOrEmpty(authorizationHeader))
{
requestMessage.Headers.Add("Authorization", new List<string>() { authorizationHeader });
}
}
} }
} }

+ 79
- 0
src/Services/Basket/Basket.API/Infrastructure/Middlewares/ByPassAuthMiddleware.cs View File

@ -0,0 +1,79 @@
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Primitives;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
namespace Basket.API.Infrastructure.Middlewares
{
class ByPassAuthMiddleware
{
private readonly RequestDelegate _next;
private string _currentUserId;
public ByPassAuthMiddleware(RequestDelegate next)
{
_next = next;
_currentUserId = null;
}
public async Task Invoke(HttpContext context)
{
var path = context.Request.Path;
if (path == "/noauth")
{
var userid = context.Request.Query["userid"];
if (!string.IsNullOrEmpty(userid))
{
_currentUserId = userid;
}
context.Response.StatusCode = 200;
context.Response.ContentType = "text/string";
await context.Response.WriteAsync($"User set to {_currentUserId}");
}
else if (path == "/noauth/reset")
{
_currentUserId = null;
context.Response.StatusCode = 200;
context.Response.ContentType = "text/string";
await context.Response.WriteAsync($"User set to none. Token required for protected endpoints.");
}
else
{
var currentUserId = _currentUserId;
var authHeader = context.Request.Headers["Authorization"];
if (authHeader != StringValues.Empty)
{
var header = authHeader.FirstOrDefault();
if (!string.IsNullOrEmpty(header) && header.StartsWith("Email ") && header.Length > "Email ".Length)
{
currentUserId = header.Substring("Email ".Length);
}
}
if (!string.IsNullOrEmpty(currentUserId))
{
var user = new ClaimsIdentity(new[] {
new Claim("emails", currentUserId),
new Claim("name", "Test user"),
new Claim("nonce", Guid.NewGuid().ToString()),
new Claim("ttp://schemas.microsoft.com/identity/claims/identityprovider", "ByPassAuthMiddleware"),
new Claim("nonce", Guid.NewGuid().ToString()),
new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname","User"),
new Claim("sub", "1234"),
new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname","Microsoft")}
, "ByPassAuth");
context.User = new ClaimsPrincipal(user);
}
await _next.Invoke(context);
}
}
}
}

+ 9
- 6
src/Services/Basket/Basket.API/Startup.cs View File

@ -1,6 +1,7 @@
using Autofac; using Autofac;
using Autofac.Extensions.DependencyInjection; using Autofac.Extensions.DependencyInjection;
using Basket.API.Infrastructure.Filters; using Basket.API.Infrastructure.Filters;
using Basket.API.Infrastructure.Middlewares;
using Basket.API.IntegrationEvents.EventHandling; using Basket.API.IntegrationEvents.EventHandling;
using Basket.API.IntegrationEvents.Events; using Basket.API.IntegrationEvents.Events;
using Microsoft.ApplicationInsights.Extensibility; using Microsoft.ApplicationInsights.Extensibility;
@ -210,16 +211,13 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API
{ {
services.AddApplicationInsightsTelemetry(Configuration); services.AddApplicationInsightsTelemetry(Configuration);
var orchestratorType = Configuration.GetValue<string>("OrchestratorType"); var orchestratorType = Configuration.GetValue<string>("OrchestratorType");
if (string.IsNullOrEmpty(orchestratorType))
{
return;
}
if (orchestratorType.ToUpper().Equals("K8S"))
if (orchestratorType?.ToUpper() == "K8S")
{ {
// Enable K8s telemetry initializer // Enable K8s telemetry initializer
services.EnableKubernetes(); services.EnableKubernetes();
} }
if (orchestratorType.ToUpper().Equals("SF"))
if (orchestratorType?.ToUpper() == "SF")
{ {
// Enable SF telemetry initializer // Enable SF telemetry initializer
services.AddSingleton<ITelemetryInitializer>((serviceProvider) => services.AddSingleton<ITelemetryInitializer>((serviceProvider) =>
@ -249,6 +247,11 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API
protected virtual void ConfigureAuth(IApplicationBuilder app) protected virtual void ConfigureAuth(IApplicationBuilder app)
{ {
if (Configuration.GetValue<bool>("UseLoadTest"))
{
app.UseMiddleware<ByPassAuthMiddleware>();
}
app.UseAuthentication(); app.UseAuthentication();
} }


+ 3
- 6
src/Services/Catalog/Catalog.API/Startup.cs View File

@ -208,16 +208,13 @@
{ {
services.AddApplicationInsightsTelemetry(Configuration); services.AddApplicationInsightsTelemetry(Configuration);
var orchestratorType = Configuration.GetValue<string>("OrchestratorType"); var orchestratorType = Configuration.GetValue<string>("OrchestratorType");
if (string.IsNullOrEmpty(orchestratorType))
{
return;
}
if (orchestratorType.ToUpper().Equals("K8S"))
if (orchestratorType?.ToUpper() == "K8S")
{ {
// Enable K8s telemetry initializer // Enable K8s telemetry initializer
services.EnableKubernetes(); services.EnableKubernetes();
} }
if (orchestratorType.ToUpper().Equals("SF"))
if (orchestratorType?.ToUpper() == "SF")
{ {
// Enable SF telemetry initializer // Enable SF telemetry initializer
services.AddSingleton<ITelemetryInitializer>((serviceProvider) => services.AddSingleton<ITelemetryInitializer>((serviceProvider) =>


+ 3
- 6
src/Services/Identity/Identity.API/Startup.cs View File

@ -164,16 +164,13 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API
{ {
services.AddApplicationInsightsTelemetry(Configuration); services.AddApplicationInsightsTelemetry(Configuration);
var orchestratorType = Configuration.GetValue<string>("OrchestratorType"); var orchestratorType = Configuration.GetValue<string>("OrchestratorType");
if (string.IsNullOrEmpty(orchestratorType))
{
return;
}
if (orchestratorType.ToUpper().Equals("K8S"))
if (orchestratorType?.ToUpper() == "K8S")
{ {
// Enable K8s telemetry initializer // Enable K8s telemetry initializer
services.EnableKubernetes(); services.EnableKubernetes();
} }
if (orchestratorType.ToUpper().Equals("SF"))
if (orchestratorType?.ToUpper() == "SF")
{ {
// Enable SF telemetry initializer // Enable SF telemetry initializer
services.AddSingleton<ITelemetryInitializer>((serviceProvider) => services.AddSingleton<ITelemetryInitializer>((serviceProvider) =>


+ 78
- 0
src/Services/Location/Locations.API/Infrastructure/Middlewares/ByPassAuthMiddleware.cs View File

@ -0,0 +1,78 @@
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Primitives;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
namespace Microsoft.eShopOnContainers.Services.Locations.API.Infrastructure.Middlewares
{
class ByPassAuthMiddleware
{
private readonly RequestDelegate _next;
private string _currentUserId;
public ByPassAuthMiddleware(RequestDelegate next)
{
_next = next;
_currentUserId = null;
}
public async Task Invoke(HttpContext context)
{
var path = context.Request.Path;
if (path == "/noauth")
{
var userid = context.Request.Query["userid"];
if (!string.IsNullOrEmpty(userid))
{
_currentUserId = userid;
}
context.Response.StatusCode = 200;
context.Response.ContentType = "text/string";
await context.Response.WriteAsync($"User set to {_currentUserId}");
}
else if (path == "/noauth/reset")
{
_currentUserId = null;
context.Response.StatusCode = 200;
context.Response.ContentType = "text/string";
await context.Response.WriteAsync($"User set to none. Token required for protected endpoints.");
}
else
{
var currentUserId = _currentUserId;
var authHeader = context.Request.Headers["Authorization"];
if (authHeader != StringValues.Empty)
{
var header = authHeader.FirstOrDefault();
if (!string.IsNullOrEmpty(header) && header.StartsWith("Email ") && header.Length > "Email ".Length)
{
currentUserId = header.Substring("Email ".Length);
}
}
if (!string.IsNullOrEmpty(currentUserId))
{
var user = new ClaimsIdentity(new[] {
new Claim("emails", currentUserId),
new Claim("name", "Test user"),
new Claim("nonce", Guid.NewGuid().ToString()),
new Claim("ttp://schemas.microsoft.com/identity/claims/identityprovider", "ByPassAuthMiddleware"),
new Claim("nonce", Guid.NewGuid().ToString()),
new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname","User"),
new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname","Microsoft")}
, "ByPassAuth");
context.User = new ClaimsPrincipal(user);
}
await _next.Invoke(context);
}
}
}
}

+ 9
- 6
src/Services/Location/Locations.API/Startup.cs View File

@ -13,6 +13,7 @@ using Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ;
using Microsoft.eShopOnContainers.BuildingBlocks.EventBusServiceBus; using Microsoft.eShopOnContainers.BuildingBlocks.EventBusServiceBus;
using Microsoft.eShopOnContainers.Services.Locations.API.Infrastructure; using Microsoft.eShopOnContainers.Services.Locations.API.Infrastructure;
using Microsoft.eShopOnContainers.Services.Locations.API.Infrastructure.Filters; using Microsoft.eShopOnContainers.Services.Locations.API.Infrastructure.Filters;
using Microsoft.eShopOnContainers.Services.Locations.API.Infrastructure.Middlewares;
using Microsoft.eShopOnContainers.Services.Locations.API.Infrastructure.Repositories; using Microsoft.eShopOnContainers.Services.Locations.API.Infrastructure.Repositories;
using Microsoft.eShopOnContainers.Services.Locations.API.Infrastructure.Services; using Microsoft.eShopOnContainers.Services.Locations.API.Infrastructure.Services;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
@ -182,16 +183,13 @@ namespace Microsoft.eShopOnContainers.Services.Locations.API
{ {
services.AddApplicationInsightsTelemetry(Configuration); services.AddApplicationInsightsTelemetry(Configuration);
var orchestratorType = Configuration.GetValue<string>("OrchestratorType"); var orchestratorType = Configuration.GetValue<string>("OrchestratorType");
if (string.IsNullOrEmpty(orchestratorType))
{
return;
}
if (orchestratorType.ToUpper().Equals("K8S"))
if (orchestratorType?.ToUpper() == "K8S")
{ {
// Enable K8s telemetry initializer // Enable K8s telemetry initializer
services.EnableKubernetes(); services.EnableKubernetes();
} }
if (orchestratorType.ToUpper().Equals("SF"))
if (orchestratorType?.ToUpper() == "SF")
{ {
// Enable SF telemetry initializer // Enable SF telemetry initializer
services.AddSingleton<ITelemetryInitializer>((serviceProvider) => services.AddSingleton<ITelemetryInitializer>((serviceProvider) =>
@ -219,6 +217,11 @@ namespace Microsoft.eShopOnContainers.Services.Locations.API
protected virtual void ConfigureAuth(IApplicationBuilder app) protected virtual void ConfigureAuth(IApplicationBuilder app)
{ {
if (Configuration.GetValue<bool>("UseLoadTest"))
{
app.UseMiddleware<ByPassAuthMiddleware>();
}
app.UseAuthentication(); app.UseAuthentication();
} }


+ 78
- 0
src/Services/Marketing/Marketing.API/Infrastructure/Middlewares/ByPassAuthMiddleware.cs View File

@ -0,0 +1,78 @@
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Primitives;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
namespace Microsoft.eShopOnContainers.Services.Marketing.API.Infrastructure.Middlewares
{
class ByPassAuthMiddleware
{
private readonly RequestDelegate _next;
private string _currentUserId;
public ByPassAuthMiddleware(RequestDelegate next)
{
_next = next;
_currentUserId = null;
}
public async Task Invoke(HttpContext context)
{
var path = context.Request.Path;
if (path == "/noauth")
{
var userid = context.Request.Query["userid"];
if (!string.IsNullOrEmpty(userid))
{
_currentUserId = userid;
}
context.Response.StatusCode = 200;
context.Response.ContentType = "text/string";
await context.Response.WriteAsync($"User set to {_currentUserId}");
}
else if (path == "/noauth/reset")
{
_currentUserId = null;
context.Response.StatusCode = 200;
context.Response.ContentType = "text/string";
await context.Response.WriteAsync($"User set to none. Token required for protected endpoints.");
}
else
{
var currentUserId = _currentUserId;
var authHeader = context.Request.Headers["Authorization"];
if (authHeader != StringValues.Empty)
{
var header = authHeader.FirstOrDefault();
if (!string.IsNullOrEmpty(header) && header.StartsWith("Email ") && header.Length > "Email ".Length)
{
currentUserId = header.Substring("Email ".Length);
}
}
if (!string.IsNullOrEmpty(currentUserId))
{
var user = new ClaimsIdentity(new[] {
new Claim("emails", currentUserId),
new Claim("name", "Test user"),
new Claim("nonce", Guid.NewGuid().ToString()),
new Claim("ttp://schemas.microsoft.com/identity/claims/identityprovider", "ByPassAuthMiddleware"),
new Claim("nonce", Guid.NewGuid().ToString()),
new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname","User"),
new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname","Microsoft")}
, "ByPassAuth");
context.User = new ClaimsPrincipal(user);
}
await _next.Invoke(context);
}
}
}
}

+ 9
- 6
src/Services/Marketing/Marketing.API/Startup.cs View File

@ -25,6 +25,7 @@
using Microsoft.ApplicationInsights.ServiceFabric; using Microsoft.ApplicationInsights.ServiceFabric;
using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.EntityFrameworkCore.Diagnostics; using Microsoft.EntityFrameworkCore.Diagnostics;
using Microsoft.eShopOnContainers.Services.Marketing.API.Infrastructure.Middlewares;
using RabbitMQ.Client; using RabbitMQ.Client;
using Swashbuckle.AspNetCore.Swagger; using Swashbuckle.AspNetCore.Swagger;
using System; using System;
@ -213,16 +214,13 @@
{ {
services.AddApplicationInsightsTelemetry(Configuration); services.AddApplicationInsightsTelemetry(Configuration);
var orchestratorType = Configuration.GetValue<string>("OrchestratorType"); var orchestratorType = Configuration.GetValue<string>("OrchestratorType");
if (string.IsNullOrEmpty(orchestratorType))
{
return;
}
if (orchestratorType.ToUpper().Equals("K8S"))
if (orchestratorType?.ToUpper() == "K8S")
{ {
// Enable K8s telemetry initializer // Enable K8s telemetry initializer
services.EnableKubernetes(); services.EnableKubernetes();
} }
if (orchestratorType.ToUpper().Equals("SF"))
if (orchestratorType?.ToUpper() == "SF")
{ {
// Enable SF telemetry initializer // Enable SF telemetry initializer
services.AddSingleton<ITelemetryInitializer>((serviceProvider) => services.AddSingleton<ITelemetryInitializer>((serviceProvider) =>
@ -295,6 +293,11 @@
protected virtual void ConfigureAuth(IApplicationBuilder app) protected virtual void ConfigureAuth(IApplicationBuilder app)
{ {
if (Configuration.GetValue<bool>("UseLoadTest"))
{
app.UseMiddleware<ByPassAuthMiddleware>();
}
app.UseAuthentication(); app.UseAuthentication();
} }
} }


+ 78
- 0
src/Services/Ordering/Ordering.API/Infrastructure/Middlewares/ByPassAuthMiddleware.cs View File

@ -0,0 +1,78 @@
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Primitives;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
namespace Ordering.API.Infrastructure.Middlewares
{
class ByPassAuthMiddleware
{
private readonly RequestDelegate _next;
private string _currentUserId;
public ByPassAuthMiddleware(RequestDelegate next)
{
_next = next;
_currentUserId = null;
}
public async Task Invoke(HttpContext context)
{
var path = context.Request.Path;
if (path == "/noauth")
{
var userid = context.Request.Query["userid"];
if (!string.IsNullOrEmpty(userid))
{
_currentUserId = userid;
}
context.Response.StatusCode = 200;
context.Response.ContentType = "text/string";
await context.Response.WriteAsync($"User set to {_currentUserId}");
}
else if (path == "/noauth/reset")
{
_currentUserId = null;
context.Response.StatusCode = 200;
context.Response.ContentType = "text/string";
await context.Response.WriteAsync($"User set to none. Token required for protected endpoints.");
}
else
{
var currentUserId = _currentUserId;
var authHeader = context.Request.Headers["Authorization"];
if (authHeader != StringValues.Empty)
{
var header = authHeader.FirstOrDefault();
if (!string.IsNullOrEmpty(header) && header.StartsWith("Email ") && header.Length > "Email ".Length)
{
currentUserId = header.Substring("Email ".Length);
}
}
if (!string.IsNullOrEmpty(currentUserId))
{
var user = new ClaimsIdentity(new[] {
new Claim("emails", currentUserId),
new Claim("name", "Test user"),
new Claim("nonce", Guid.NewGuid().ToString()),
new Claim("ttp://schemas.microsoft.com/identity/claims/identityprovider", "ByPassAuthMiddleware"),
new Claim("nonce", Guid.NewGuid().ToString()),
new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname","User"),
new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname","Microsoft")}
, "ByPassAuth");
context.User = new ClaimsPrincipal(user);
}
await _next.Invoke(context);
}
}
}
}

+ 9
- 6
src/Services/Ordering/Ordering.API/Startup.cs View File

@ -7,6 +7,7 @@
using global::Ordering.API.Application.IntegrationEvents.Events; using global::Ordering.API.Application.IntegrationEvents.Events;
using global::Ordering.API.Infrastructure.Filters; using global::Ordering.API.Infrastructure.Filters;
using global::Ordering.API.Infrastructure.HostedServices; using global::Ordering.API.Infrastructure.HostedServices;
using global::Ordering.API.Infrastructure.Middlewares;
using Infrastructure.AutofacModules; using Infrastructure.AutofacModules;
using Infrastructure.Filters; using Infrastructure.Filters;
using Infrastructure.Services; using Infrastructure.Services;
@ -235,16 +236,13 @@
{ {
services.AddApplicationInsightsTelemetry(Configuration); services.AddApplicationInsightsTelemetry(Configuration);
var orchestratorType = Configuration.GetValue<string>("OrchestratorType"); var orchestratorType = Configuration.GetValue<string>("OrchestratorType");
if (string.IsNullOrEmpty(orchestratorType))
{
return;
}
if (orchestratorType.ToUpper().Equals("K8S"))
if (orchestratorType?.ToUpper() == "K8S")
{ {
// Enable K8s telemetry initializer // Enable K8s telemetry initializer
services.EnableKubernetes(); services.EnableKubernetes();
} }
if (orchestratorType.ToUpper().Equals("SF"))
if (orchestratorType?.ToUpper() == "SF")
{ {
// Enable SF telemetry initializer // Enable SF telemetry initializer
services.AddSingleton<ITelemetryInitializer>((serviceProvider) => services.AddSingleton<ITelemetryInitializer>((serviceProvider) =>
@ -286,6 +284,11 @@
protected virtual void ConfigureAuth(IApplicationBuilder app) protected virtual void ConfigureAuth(IApplicationBuilder app)
{ {
if (Configuration.GetValue<bool>("UseLoadTest"))
{
app.UseMiddleware<ByPassAuthMiddleware>();
}
app.UseAuthentication(); app.UseAuthentication();
} }


+ 3
- 6
src/Services/Payment/Payment.API/Startup.cs View File

@ -111,16 +111,13 @@ namespace Payment.API
{ {
services.AddApplicationInsightsTelemetry(Configuration); services.AddApplicationInsightsTelemetry(Configuration);
var orchestratorType = Configuration.GetValue<string>("OrchestratorType"); var orchestratorType = Configuration.GetValue<string>("OrchestratorType");
if (string.IsNullOrEmpty(orchestratorType))
{
return;
}
if (orchestratorType.ToUpper().Equals("K8S"))
if (orchestratorType?.ToUpper() == "K8S")
{ {
// Enable K8s telemetry initializer // Enable K8s telemetry initializer
services.EnableKubernetes(); services.EnableKubernetes();
} }
if (orchestratorType.ToUpper().Equals("SF"))
if (orchestratorType?.ToUpper() == "SF")
{ {
// Enable SF telemetry initializer // Enable SF telemetry initializer
services.AddSingleton<ITelemetryInitializer>((serviceProvider) => services.AddSingleton<ITelemetryInitializer>((serviceProvider) =>


+ 80
- 0
src/Web/WebMVC/Infrastructure/Middlewares/ByPassAuthMiddleware.cs View File

@ -0,0 +1,80 @@
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Primitives;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
namespace WebMVC.Infrastructure.Middlewares
{
class ByPassAuthMiddleware
{
private readonly RequestDelegate _next;
private string _currentUserId;
public ByPassAuthMiddleware(RequestDelegate next)
{
_next = next;
_currentUserId = null;
}
public async Task Invoke(HttpContext context)
{
var path = context.Request.Path;
if (path == "/noauth")
{
var userid = context.Request.Query["userid"];
if (!string.IsNullOrEmpty(userid))
{
_currentUserId = userid;
}
context.Response.StatusCode = 200;
context.Response.ContentType = "text/string";
await context.Response.WriteAsync($"User set to {_currentUserId}");
}
else if (path == "/noauth/reset")
{
_currentUserId = null;
context.Response.StatusCode = 200;
context.Response.ContentType = "text/string";
await context.Response.WriteAsync($"User set to none. Token required for protected endpoints.");
}
else
{
var currentUserId = _currentUserId;
var authHeader = context.Request.Headers["Authorization"];
if (authHeader != StringValues.Empty)
{
var header = authHeader.FirstOrDefault();
if (!string.IsNullOrEmpty(header) && header.StartsWith("Email ") && header.Length > "Email ".Length)
{
currentUserId = header.Substring("Email ".Length);
}
}
if (!string.IsNullOrEmpty(currentUserId))
{
var user = new ClaimsIdentity(new[] {
new Claim("emails", currentUserId),
new Claim("name", "Test user"),
new Claim("nonce", Guid.NewGuid().ToString()),
new Claim("ttp://schemas.microsoft.com/identity/claims/identityprovider", "ByPassAuthMiddleware"),
new Claim("nonce", Guid.NewGuid().ToString()),
new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname","User"),
new Claim("sub", "1234"),
new Claim("card_expiration", "12/20"),
new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname","Microsoft")}
, "ByPassAuth");
context.User = new ClaimsPrincipal(user);
}
await _next.Invoke(context);
}
}
}
}

+ 6
- 3
src/Web/WebMVC/Infrastructure/ResilientHttpClientFactory.cs View File

@ -1,4 +1,5 @@
using Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.eShopOnContainers.BuildingBlocks.Resilience.Http;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Polly; using Polly;
using System; using System;
@ -11,17 +12,19 @@ namespace Microsoft.eShopOnContainers.WebMVC.Infrastructure
private readonly ILogger<ResilientHttpClient> _logger; private readonly ILogger<ResilientHttpClient> _logger;
private readonly int _retryCount; private readonly int _retryCount;
private readonly int _exceptionsAllowedBeforeBreaking; private readonly int _exceptionsAllowedBeforeBreaking;
private readonly IHttpContextAccessor _httpContextAccessor;
public ResilientHttpClientFactory(ILogger<ResilientHttpClient> logger, int exceptionsAllowedBeforeBreaking = 5, int retryCount = 6)
public ResilientHttpClientFactory(ILogger<ResilientHttpClient> logger, IHttpContextAccessor httpContextAccessor, int exceptionsAllowedBeforeBreaking = 5, int retryCount = 6)
{ {
_logger = logger; _logger = logger;
_exceptionsAllowedBeforeBreaking = exceptionsAllowedBeforeBreaking; _exceptionsAllowedBeforeBreaking = exceptionsAllowedBeforeBreaking;
_retryCount = retryCount; _retryCount = retryCount;
_httpContextAccessor = httpContextAccessor;
} }
public ResilientHttpClient CreateResilientHttpClient() public ResilientHttpClient CreateResilientHttpClient()
=> new ResilientHttpClient((origin) => CreatePolicies(), _logger);
=> new ResilientHttpClient((origin) => CreatePolicies(), _logger, _httpContextAccessor);
private Policy[] CreatePolicies() private Policy[] CreatePolicies()
=> new Policy[] => new Policy[]


+ 11
- 7
src/Web/WebMVC/Startup.cs View File

@ -17,6 +17,7 @@ using Microsoft.Extensions.Logging;
using System; using System;
using System.IdentityModel.Tokens.Jwt; using System.IdentityModel.Tokens.Jwt;
using WebMVC.Infrastructure; using WebMVC.Infrastructure;
using WebMVC.Infrastructure.Middlewares;
using WebMVC.Services; using WebMVC.Services;
namespace Microsoft.eShopOnContainers.WebMVC namespace Microsoft.eShopOnContainers.WebMVC
@ -78,6 +79,7 @@ namespace Microsoft.eShopOnContainers.WebMVC
services.AddSingleton<IResilientHttpClientFactory, ResilientHttpClientFactory>(sp => services.AddSingleton<IResilientHttpClientFactory, ResilientHttpClientFactory>(sp =>
{ {
var logger = sp.GetRequiredService<ILogger<ResilientHttpClient>>(); var logger = sp.GetRequiredService<ILogger<ResilientHttpClient>>();
var httpContextAccessor = sp.GetRequiredService<IHttpContextAccessor>();
var retryCount = 6; var retryCount = 6;
if (!string.IsNullOrEmpty(Configuration["HttpClientRetryCount"])) if (!string.IsNullOrEmpty(Configuration["HttpClientRetryCount"]))
@ -91,7 +93,7 @@ namespace Microsoft.eShopOnContainers.WebMVC
exceptionsAllowedBeforeBreaking = int.Parse(Configuration["HttpClientExceptionsAllowedBeforeBreaking"]); exceptionsAllowedBeforeBreaking = int.Parse(Configuration["HttpClientExceptionsAllowedBeforeBreaking"]);
} }
return new ResilientHttpClientFactory(logger, exceptionsAllowedBeforeBreaking, retryCount);
return new ResilientHttpClientFactory(logger, httpContextAccessor, exceptionsAllowedBeforeBreaking, retryCount);
}); });
services.AddSingleton<IHttpClient, ResilientHttpClient>(sp => sp.GetService<IResilientHttpClientFactory>().CreateResilientHttpClient()); services.AddSingleton<IHttpClient, ResilientHttpClient>(sp => sp.GetService<IResilientHttpClientFactory>().CreateResilientHttpClient());
} }
@ -159,6 +161,11 @@ namespace Microsoft.eShopOnContainers.WebMVC
app.UseSession(); app.UseSession();
app.UseStaticFiles(); app.UseStaticFiles();
if (Configuration.GetValue<bool>("UseLoadTest"))
{
app.UseMiddleware<ByPassAuthMiddleware>();
}
app.UseAuthentication(); app.UseAuthentication();
var log = loggerFactory.CreateLogger("identity"); var log = loggerFactory.CreateLogger("identity");
@ -181,16 +188,13 @@ namespace Microsoft.eShopOnContainers.WebMVC
{ {
services.AddApplicationInsightsTelemetry(Configuration); services.AddApplicationInsightsTelemetry(Configuration);
var orchestratorType = Configuration.GetValue<string>("OrchestratorType"); var orchestratorType = Configuration.GetValue<string>("OrchestratorType");
if (string.IsNullOrEmpty(orchestratorType))
{
return;
}
if (orchestratorType.ToUpper().Equals("K8S"))
if (orchestratorType?.ToUpper() == "K8S")
{ {
// Enable K8s telemetry initializer // Enable K8s telemetry initializer
services.EnableKubernetes(); services.EnableKubernetes();
} }
if (orchestratorType.ToUpper().Equals("SF"))
if (orchestratorType?.ToUpper() == "SF")
{ {
// Enable SF telemetry initializer // Enable SF telemetry initializer
services.AddSingleton<ITelemetryInitializer>((serviceProvider) => services.AddSingleton<ITelemetryInitializer>((serviceProvider) =>


+ 3
- 6
src/Web/WebSPA/Startup.cs View File

@ -135,16 +135,13 @@ namespace eShopConContainers.WebSPA
{ {
services.AddApplicationInsightsTelemetry(Configuration); services.AddApplicationInsightsTelemetry(Configuration);
var orchestratorType = Configuration.GetValue<string>("OrchestratorType"); var orchestratorType = Configuration.GetValue<string>("OrchestratorType");
if (string.IsNullOrEmpty(orchestratorType))
{
return;
}
if (orchestratorType.ToUpper().Equals("K8S"))
if (orchestratorType?.ToUpper() == "K8S")
{ {
// Enable K8s telemetry initializer // Enable K8s telemetry initializer
services.EnableKubernetes(); services.EnableKubernetes();
} }
if (orchestratorType.ToUpper().Equals("SF"))
if (orchestratorType?.ToUpper() == "SF")
{ {
// Enable SF telemetry initializer // Enable SF telemetry initializer
services.AddSingleton<ITelemetryInitializer>((serviceProvider) => services.AddSingleton<ITelemetryInitializer>((serviceProvider) =>


+ 3
- 6
src/Web/WebStatus/Startup.cs View File

@ -88,16 +88,13 @@ namespace WebStatus
{ {
services.AddApplicationInsightsTelemetry(Configuration); services.AddApplicationInsightsTelemetry(Configuration);
var orchestratorType = Configuration.GetValue<string>("OrchestratorType"); var orchestratorType = Configuration.GetValue<string>("OrchestratorType");
if (string.IsNullOrEmpty(orchestratorType))
{
return;
}
if (orchestratorType.ToUpper().Equals("K8S"))
if (orchestratorType?.ToUpper() == "K8S")
{ {
// Enable K8s telemetry initializer // Enable K8s telemetry initializer
services.EnableKubernetes(); services.EnableKubernetes();
} }
if (orchestratorType.ToUpper().Equals("SF"))
if (orchestratorType?.ToUpper() == "SF")
{ {
// Enable SF telemetry initializer // Enable SF telemetry initializer
services.AddSingleton<ITelemetryInitializer>((serviceProvider) => services.AddSingleton<ITelemetryInitializer>((serviceProvider) =>


+ 1
- 73
test/Services/LoadTest/Basket.API/AddBasket.webtest View File

@ -1,85 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="AddBasket" Id="b50574ad-a2bf-4ecd-923d-bf007eb02d90" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="demouser@microsoft.com" CredentialPassword="ph1JKNO2Juq7bNVv9gnOBw==" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest1.323a4ea0-5337-4e29-95da-49e5155dfef9.rec.webtestresult" ResultsLocale=""> <WebTest Name="AddBasket" Id="b50574ad-a2bf-4ecd-923d-bf007eb02d90" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="demouser@microsoft.com" CredentialPassword="ph1JKNO2Juq7bNVv9gnOBw==" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest1.323a4ea0-5337-4e29-95da-49e5155dfef9.rec.webtestresult" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.BasketApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/basket" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="POST" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.BasketApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/basket" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}} " />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
<StringHttpBody ContentType="application/json" InsertByteOrderMark="False">ewAiAEIAdQB5AGUAcgBJAGQAIgA6ACIAewB7AEwAbwBjAGEAbABUAGUAcwB0AFMAZQB0AHQAaQBuAGcAcwAuAFUAcwBlAHIALgBpAGQAfQB9ACIAfQA=</StringHttpBody> <StringHttpBody ContentType="application/json" InsertByteOrderMark="False">ewAiAEIAdQB5AGUAcgBJAGQAIgA6ACIAewB7AEwAbwBjAGEAbABUAGUAcwB0AFMAZQB0AHQAaQBuAGcAcwAuAFUAcwBlAHIALgBpAGQAfQB9ACIAfQA=</StringHttpBody>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Basket.API/Checkout.webtest View File

@ -1,86 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="Checkout" Id="34e8acd6-f058-4a8f-a41a-f4d8bdd8e433" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale=""> <WebTest Name="Checkout" Id="34e8acd6-f058-4a8f-a41a-f4d8bdd8e433" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.BasketApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/basket/checkout" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="POST" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.BasketApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/basket/checkout" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}}" />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="x-requestid" Value="{{LocalTestSettings.RequestId.value}}" /> <Header Name="x-requestid" Value="{{LocalTestSettings.RequestId.value}}" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
<StringHttpBody ContentType="application/json" InsertByteOrderMark="False">ewAiAEMAaQB0AHkAIgA6ACIAYwBpAHQAeQAiACwAIgBTAHQAcgBlAGUAdAAiADoAIgBzAHQAcgBlAGUAdAAiACwAIgBTAHQAYQB0AGUAIgA6ACIAcwB0AGEAdABlACIALAAiAEMAbwB1AG4AdAByAHkAIgA6ACIAYwBvAHUAdAByAHkAIgAsACIAWgBpAHAAQwBvAGQAZQAiADoAIgB6AGkAcABjAG8AZABlACIALAAiAEMAYQByAGQATgB1AG0AYgBlAHIAIgA6ACIAQwBhAHIAZABOAHUAbQBiAGUAcgAiACwAIgBDAGEAcgBkAEgAbwBsAGQAZQByAE4AYQBtAGUAIgA6ACIAQwBhAHIAZABIAG8AbABkAGUAcgBOAGEAbQBlACIALAAiAEMAYQByAGQARQB4AHAAaQByAGEAdABpAG8AbgAiADoAIgAyADAAMQA3AC0AMAA2AC0AMwAwAFQAMQAyADoAMgA1ADoAMwAxAC4AOAA3ADQANwAyADIANwBaACIALAAiAEMAYQByAGQAUwBlAGMAdQByAGkAdAB5AE4AdQBtAGIAZQByACIAOgAiADEAMgAzADQAIgAsACIAQwBhAHIAZABUAHkAcABlAEkAZAAiADoAMQAsACIAQgB1AHkAZQByACIAOgAiAEIAdQB5AGUAcgAiACwAIgBSAGUAcQB1AGUAcwB0AEkAZAAiADoAIgBlAGIAOAAwADAAMwA2ADQALQBiADQAZQAxAC0ANAA2AGUAYgAtADkAMgAzADUALQBlADgAYwA0ADcANAA3AGQAYQAyAGQANAAiAH0A</StringHttpBody> <StringHttpBody ContentType="application/json" InsertByteOrderMark="False">ewAiAEMAaQB0AHkAIgA6ACIAYwBpAHQAeQAiACwAIgBTAHQAcgBlAGUAdAAiADoAIgBzAHQAcgBlAGUAdAAiACwAIgBTAHQAYQB0AGUAIgA6ACIAcwB0AGEAdABlACIALAAiAEMAbwB1AG4AdAByAHkAIgA6ACIAYwBvAHUAdAByAHkAIgAsACIAWgBpAHAAQwBvAGQAZQAiADoAIgB6AGkAcABjAG8AZABlACIALAAiAEMAYQByAGQATgB1AG0AYgBlAHIAIgA6ACIAQwBhAHIAZABOAHUAbQBiAGUAcgAiACwAIgBDAGEAcgBkAEgAbwBsAGQAZQByAE4AYQBtAGUAIgA6ACIAQwBhAHIAZABIAG8AbABkAGUAcgBOAGEAbQBlACIALAAiAEMAYQByAGQARQB4AHAAaQByAGEAdABpAG8AbgAiADoAIgAyADAAMQA3AC0AMAA2AC0AMwAwAFQAMQAyADoAMgA1ADoAMwAxAC4AOAA3ADQANwAyADIANwBaACIALAAiAEMAYQByAGQAUwBlAGMAdQByAGkAdAB5AE4AdQBtAGIAZQByACIAOgAiADEAMgAzADQAIgAsACIAQwBhAHIAZABUAHkAcABlAEkAZAAiADoAMQAsACIAQgB1AHkAZQByACIAOgAiAEIAdQB5AGUAcgAiACwAIgBSAGUAcQB1AGUAcwB0AEkAZAAiADoAIgBlAGIAOAAwADAAMwA2ADQALQBiADQAZQAxAC0ANAA2AGUAYgAtADkAMgAzADUALQBlADgAYwA0ADcANAA3AGQAYQAyAGQANAAiAH0A</StringHttpBody>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Basket.API/DeleteBasket.webtest View File

@ -1,84 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="DeleteBasket" Id="96b68cb1-b8d7-45bd-849c-f44dcdc006ed" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="demouser@microsoft.com" CredentialPassword="ph1JKNO2Juq7bNVv9gnOBw==" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest1.323a4ea0-5337-4e29-95da-49e5155dfef9.rec.webtestresult" ResultsLocale=""> <WebTest Name="DeleteBasket" Id="96b68cb1-b8d7-45bd-849c-f44dcdc006ed" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="demouser@microsoft.com" CredentialPassword="ph1JKNO2Juq7bNVv9gnOBw==" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest1.323a4ea0-5337-4e29-95da-49e5155dfef9.rec.webtestresult" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="DELETE" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.BasketApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/basket/{{LocalTestSettings.User.id}}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="DELETE" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.BasketApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/basket/{{LocalTestSettings.User.id}}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}} " />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Basket.API/GetBasket.webtest View File

@ -1,84 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="GetBasket" Id="59f41ad4-349f-4383-8858-0005321e3a68" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="demouser@microsoft.com" CredentialPassword="ph1JKNO2Juq7bNVv9gnOBw==" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest1.323a4ea0-5337-4e29-95da-49e5155dfef9.rec.webtestresult" ResultsLocale=""> <WebTest Name="GetBasket" Id="59f41ad4-349f-4383-8858-0005321e3a68" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="demouser@microsoft.com" CredentialPassword="ph1JKNO2Juq7bNVv9gnOBw==" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest1.323a4ea0-5337-4e29-95da-49e5155dfef9.rec.webtestresult" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.BasketApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/basket/{{LocalTestSettings.User.id}}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.BasketApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/basket/{{LocalTestSettings.User.id}}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}} " />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Location.API/CreateOrUpdateUserLocation.webtest View File

@ -1,85 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="CreateOrUpdateUserLocation" Id="06bd2768-7d01-40bf-8551-722afe4f3ed8" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale=""> <WebTest Name="CreateOrUpdateUserLocation" Id="06bd2768-7d01-40bf-8551-722afe4f3ed8" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.LocationsApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Locations" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="POST" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.LocationsApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Locations" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}}" />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
<StringHttpBody ContentType="application/json" InsertByteOrderMark="False">ewAiAEwAbwBuAGcAaQB0AHUAZABlACIAOgAtADEAMgAxAC4AMAA0ADAAMwA2ACwAIgBMAGEAdABpAHQAdQBkAGUAIgA6ADQAOAAuADAAOQAxADYAMwAxAH0A</StringHttpBody> <StringHttpBody ContentType="application/json" InsertByteOrderMark="False">ewAiAEwAbwBuAGcAaQB0AHUAZABlACIAOgAtADEAMgAxAC4AMAA0ADAAMwA2ACwAIgBMAGEAdABpAHQAdQBkAGUAIgA6ADQAOAAuADAAOQAxADYAMwAxAH0A</StringHttpBody>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Location.API/GetAllLocations.webtest View File

@ -1,84 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="GetAllLocations" Id="71241906-9e8a-4f2b-bdd7-20fa24cc7297" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale=""> <WebTest Name="GetAllLocations" Id="71241906-9e8a-4f2b-bdd7-20fa24cc7297" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.LocationsApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Locations" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.LocationsApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Locations" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}}" />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Location.API/GetLocation.webtest View File

@ -1,84 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="GetLocation" Id="f28f7c62-779b-422f-bde9-a91a0036602a" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale=""> <WebTest Name="GetLocation" Id="f28f7c62-779b-422f-bde9-a91a0036602a" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.LocationsApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Locations/{{LocationId}}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.LocationsApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Locations/{{LocationId}}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}}" />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Location.API/GetUserLocation.webtest View File

@ -1,84 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="GetUserLocation" Id="56a245fe-0a4a-487d-a089-c634a70a486e" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale=""> <WebTest Name="GetUserLocation" Id="56a245fe-0a4a-487d-a089-c634a70a486e" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.LocationsApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Locations/user/{{LocalTestSettings.User.id}}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.LocationsApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Locations/user/{{LocalTestSettings.User.id}}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}}" />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Marketing.API/GetAllCampaigns.webtest View File

@ -1,84 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="GetAllCampaigns" Id="19336ef5-34ae-4bf8-90df-c8d794558f71" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale=""> <WebTest Name="GetAllCampaigns" Id="19336ef5-34ae-4bf8-90df-c8d794558f71" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.MarketingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Campaigns" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.MarketingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Campaigns" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}}" />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Marketing.API/GetCampaign.webtest View File

@ -1,84 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="GetCampaign" Id="aca56982-2a40-4721-8295-625371c14585" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale=""> <WebTest Name="GetCampaign" Id="aca56982-2a40-4721-8295-625371c14585" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.MarketingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Campaigns/{{CampaignId}}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.MarketingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Campaigns/{{CampaignId}}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}}" />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Marketing.API/GetUserCampaigns.webtest View File

@ -1,84 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="GetUserCampaigns" Id="735da61b-a88b-4f23-9d16-c232a540471a" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale=""> <WebTest Name="GetUserCampaigns" Id="735da61b-a88b-4f23-9d16-c232a540471a" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.MarketingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Campaigns/user" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.MarketingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Campaigns/user" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}}" />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 74
test/Services/LoadTest/Ordering.API/CancelOrder.webtest View File

@ -1,86 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="CancelOrder" Id="220cde0b-e5b6-4bf8-8873-bda3eeb17d9b" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="demouser@microsoft.com" CredentialPassword="ph1JKNO2Juq7bNVv9gnOBw==" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest1.323a4ea0-5337-4e29-95da-49e5155dfef9.rec.webtestresult" ResultsLocale=""> <WebTest Name="CancelOrder" Id="220cde0b-e5b6-4bf8-8873-bda3eeb17d9b" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="demouser@microsoft.com" CredentialPassword="ph1JKNO2Juq7bNVv9gnOBw==" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest1.323a4ea0-5337-4e29-95da-49e5155dfef9.rec.webtestresult" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="PUT" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.OrderingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Orders/cancel" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="PUT" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.OrderingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Orders/cancel" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}} " />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="x-requestid" Value="{{LocalTestSettings.RequestId.value}}" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
<StringHttpBody ContentType="application/json" InsertByteOrderMark="False">ewAiAE8AcgBkAGUAcgBOAHUAbQBiAGUAcgAiADoAIAAxAH0A</StringHttpBody> <StringHttpBody ContentType="application/json" InsertByteOrderMark="False">ewAiAE8AcgBkAGUAcgBOAHUAbQBiAGUAcgAiADoAIAAxAH0A</StringHttpBody>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Ordering.API/GetAllOrders.webtest View File

@ -1,84 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="GetAllOrders" Id="bb2ad65f-7035-45c6-ab02-003376d478f4" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale=""> <WebTest Name="GetAllOrders" Id="bb2ad65f-7035-45c6-ab02-003376d478f4" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.OrderingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Orders" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.OrderingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Orders" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}}" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
</Headers> </Headers>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Ordering.API/GetCardTypes.webtest View File

@ -1,84 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="GetCardTypes" Id="5ad800ae-aa9a-4e40-844e-fab746fc966d" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale=""> <WebTest Name="GetCardTypes" Id="5ad800ae-aa9a-4e40-844e-fab746fc966d" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.OrderingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Orders/cardtypes" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.OrderingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Orders/cardtypes" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}}" />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Ordering.API/GetOrder.webtest View File

@ -1,84 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="GetOrder" Id="46e9954f-0fe7-4e85-a5e6-9e77fc76238e" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale=""> <WebTest Name="GetOrder" Id="46e9954f-0fe7-4e85-a5e6-9e77fc76238e" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.OrderingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Orders/{{OrderId}}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="GET" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.OrderingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Orders/{{OrderId}}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}}" />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 1
- 73
test/Services/LoadTest/Ordering.API/ShipOrder.webtest View File

@ -1,86 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="ShipOrder" Id="51ceca55-f02d-49bb-a95a-eaa7bbefd9f7" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="demouser@microsoft.com" CredentialPassword="ph1JKNO2Juq7bNVv9gnOBw==" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest1.323a4ea0-5337-4e29-95da-49e5155dfef9.rec.webtestresult" ResultsLocale=""> <WebTest Name="ShipOrder" Id="51ceca55-f02d-49bb-a95a-eaa7bbefd9f7" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="demouser@microsoft.com" CredentialPassword="ph1JKNO2Juq7bNVv9gnOBw==" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest1.323a4ea0-5337-4e29-95da-49e5155dfef9.rec.webtestresult" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%20token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%20id_token%26scope%3Dopenid%20profile%20orders%20basket%20marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="PUT" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.OrderingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Orders/ship" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="PUT" Guid="d24fe957-0cbb-46d4-8478-974de57e5cba" Version="1.1" Url="{{LocalTestSettings.OrderingApiServer.url}}/api/{{LocalTestSettings.ApiVersion.value}}/Orders/ship" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Authorization" Value="Bearer {{$HIDDEN1.access_token}} " />
<Header Name="Accept" Value="application/json" /> <Header Name="Accept" Value="application/json" />
<Header Name="x-requestid" Value="LocalTestSettings.RequestId.value" /> <Header Name="x-requestid" Value="LocalTestSettings.RequestId.value" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
<StringHttpBody ContentType="application/json" InsertByteOrderMark="False">ewAiAE8AcgBkAGUAcgBOAHUAbQBiAGUAcgAiADoAIAAxAH0A</StringHttpBody> <StringHttpBody ContentType="application/json" InsertByteOrderMark="False">ewAiAE8AcgBkAGUAcgBOAHUAbQBiAGUAcgAiADoAIAAxAH0A</StringHttpBody>
</Request> </Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 11
- 83
test/Services/LoadTest/WebMVC/AddProducts.webtest View File

@ -1,70 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="AddProducts" Id="2c9d53ae-0237-47bd-a5d2-6500ef5d8fcb" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="AddAndDeleteElements.c22cb172-f836-4d82-9781-c4159cf40ace.rec.webtestresult" ResultsLocale=""> <WebTest Name="AddProducts" Id="2c9d53ae-0237-47bd-a5d2-6500ef5d8fcb" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="AddAndDeleteElements.c22cb172-f836-4d82-9781-c4159cf40ace.rec.webtestresult" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%2520id_token%26scope%3Dopenid%2520profile%2520orders%2520basket%2520marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%2520id_token%26scope%3Dopenid%2520profile%2520orders%2520basket%2520marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%2520id_token%26scope%3Dopenid%2520profile%2520orders%2520basket%2520marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%2520id_token%26scope%3Dopenid%2520profile%2520orders%2520basket%2520marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="c1f83fb4-bf3c-47ad-83c2-58213bb9f6ba" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token%20token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636344129030307120.Y2I4YmNlZmItNjUwYS00M2YxLWFhODUtYTdiNDdhNDRkOWYwZTNiZjE0MGUtMTk5MC00NjI5LWEzODMtMDI1Y2NlMGIyMjBm&amp;state=CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="0bca4116acc6c7f6e5f711ff2b8bf544abdd75dcede4a3bd28adf35c1c3dceb5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxNjQyMSwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQ0MTI5MDMwMzA3MTIwLlkySTRZbU5sWm1JdE5qVXdZUzAwTTJZeExXRmhPRFV0WVRkaU5EZGhORFJrT1dZd1pUTmlaakUwTUdVdE1UazVNQzAwTmpJNUxXRXpPRE10TURJMVkyTmxNR0l5TWpCbSIsImlhdCI6MTQ5ODgxNjEyMSwiYXRfaGFzaCI6InhHTUpTMWhnUzZmOFBwbkktUlVqdUEiLCJjX2hhc2giOiJHOHRPSnJYeXJObFpvXzhRTUdVU0NnIiwic2lkIjoiNjM3YTIwNTQwZjMzY2NlOWI1ODY3MjdhNDVhMjI0NDQiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.NTaCoOFusMTAebqweugCwdwP1JgX-PwDWCRTSooV1jHu83hk5-O69AklsyswW9xV4rhr__3zUjlh7yry5YxfbvpR_K44xzeFjsFHinPWdpqEj11N4m5Hd8bDatxiC6g3KQaQGrn4uRlRhZz25apa9vtwcTTmPXsfKb6HdulCzerXyOf7DXg3q769Dgz2KaVkOenXnDLYR5sI-rmRxWHcVBBb7_sPoAE4GHKnVrgqi1vzki6Ttjh6WxgZPVTQrFJAnA9EZDMtT3Hp8HPq2Gj6Z-ifWVUziY2-0iLSA_hYxvgvQW0clRD_341XS5YkfM26q4ZTJG3C6ntqqcTqkdlJSw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="access_token" Value="{{$HIDDEN1.access_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg4MTYxMjEsImV4cCI6MTQ5ODgxOTcyMSwiaXNzIjoibnVsbCIsImF1ZCI6WyJudWxsL3Jlc291cmNlcyIsIm9yZGVycyIsImJhc2tldCIsIm1hcmtldGluZyJdLCJjbGllbnRfaWQiOiJtdmMiLCJzdWIiOiIwMjJjOWVkZC0zODI1LTQ3ZmQtYWUwZi0wZDFhNzI0ZjJmMmYiLCJhdXRoX3RpbWUiOjE0OTg4MTYxMjAsImlkcCI6ImxvY2FsIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtb3VzZXJAbWljcm9zb2Z0LmNvbSIsIm5hbWUiOiJEZW1vVXNlciIsImxhc3RfbmFtZSI6IkRlbW9MYXN0TmFtZSIsImNhcmRfbnVtYmVyIjoiNDAxMjg4ODg4ODg4MTg4MSIsImNhcmRfaG9sZGVyIjoiRGVtb1VzZXIiLCJjYXJkX3NlY3VyaXR5X251bWJlciI6IjUzNSIsImNhcmRfZXhwaXJhdGlvbiI6IjEyLzIwIiwiYWRkcmVzc19jaXR5IjoiUmVkbW9uZCIsImFkZHJlc3NfY291bnRyeSI6IlUuUy4iLCJhZGRyZXNzX3N0YXRlIjoiV0EiLCJhZGRyZXNzX3N0cmVldCI6IjE1NzAzIE5FIDYxc3QgQ3QiLCJhZGRyZXNzX3ppcF9jb2RlIjoiOTgwNTIiLCJlbWFpbCI6ImRlbW91c2VyQG1pY3Jvc29mdC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInBob25lX251bWJlciI6IjEyMzQ1Njc4OTAiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOmZhbHNlLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib3JkZXJzIiwiYmFza2V0IiwibWFya2V0aW5nIl0sImFtciI6WyJwd2QiXX0.PbnwWJdsgeQ6OPBRlzlqYvkjNBUoLM9KlOC0X_82ZJP2s45PdBfMnpFyXBx73kFPyYxnMkkXZ_uCzuXX5POg_Hk_aNukQMaHuI1KKbhAulFPEVFvqSgFOELjh-XJ3lcsTbsLGfd4sW6b91xHAaSrYjkdM5_o-18_biGWFPTWhNfzcHXhN-mpRB4Um5XYvLM_W9qrb6dpcfXSi_Q-pwr_p62Ts4NC38UUurZrtkouJf0YAYlUDLhzN9m-bjjQ1UPoNU3y81aMAcg57_wzCmU28y4LMkYx45c3MSpJHUSskcckgeac9IBhIxHOEdC7-5qVkEsoQuaUaTbHNf0lUdL33g" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="token_type" Value="{{$HIDDEN1.token_type}}" RecordedValue="Bearer" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="expires_in" Value="{{$HIDDEN1.expires_in}}" RecordedValue="3600" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8DtgHndgZhNLjl9P4BCY6yXTjZ6KvBPKjjlJMOezuLmABc0yH8oO4524WPo9gRyTwYU9W_BdKvSeQFarb3Ym-vFBO281Lu0cMRJww2yg9LXp0AJVkBAX24XHvBLlIyp6lNU_zN-qsp9hqR7JxbeIeXZpmsfnKQof-a1vSJPy3SAzwws6lBHINnaFnOB10lJn88ltr4xvDkn8NmNBIlfuHZJWnCIOvP_mmkO4knEYgVNVpMtUShKDWa1h8dSiVpW6ZHkqPrLpW4LNjk_XZPddpz2vfr9WBoQC9_fPwou_wAAGtWUMCGkxcsOYklycMy4uZgnHojcBk6TlrtG6qSkDkJnURK2qyKIfKhZgQsm1oyQu" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="ZxRKRHGaGBxyciYNO7yxXNcHb8MxcvGDfUWuUVaCkNo.5de6fc3970ef99b7b67328e1df0e93ce" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Loop UniqueStringId="ed9b2554-0e3a-4bfe-ac16-eb5616d9b5ad"> <Loop UniqueStringId="ed9b2554-0e3a-4bfe-ac16-eb5616d9b5ad">
<ConditionalRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ForLoopRule, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" DisplayName="For Loop" Description="The rule represents a traditional &quot;for&quot; loop. The context parameter is initialized before the first loop iteration. The loop statements get executed while the content of the context parameter satisfies the comparison with the provided value. The step value is applied at the end of each loop iteration." MaxIterations="3" AdvanceDataCursors="True"> <ConditionalRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ForLoopRule, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" DisplayName="For Loop" Description="The rule represents a traditional &quot;for&quot; loop. The context parameter is initialized before the first loop iteration. The loop statements get executed while the content of the context parameter satisfies the comparison with the provided value. The step value is applied at the end of each loop iteration." MaxIterations="3" AdvanceDataCursors="True">
<RuleParameters> <RuleParameters>
@ -76,33 +12,25 @@
</RuleParameters> </RuleParameters>
</ConditionalRule> </ConditionalRule>
<Items> <Items>
<Request Method="POST" Guid="11886955-a8a4-43c2-bcfa-5c615c403dd5" Version="1.1" Url="/Cart/AddToCart" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Request Method="POST" Guid="11886955-a8a4-43c2-bcfa-5c615c403dd5" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Cart/AddToCart" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Referer" Value="/" /> <Header Name="Referer" Value="/" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
<FormPostHttpBody> <FormPostHttpBody>
<FormPostParameter Name="brand" Value="{{$HIDDEN1.brand}}" RecordedValue="" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="brandId" Value="{{$HIDDEN1.brandId}}" RecordedValue="2" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="type" Value="{{$HIDDEN1.type}}" RecordedValue="" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="typeId" Value="{{$HIDDEN1.typeId}}" RecordedValue="1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="description" Value="{{$HIDDEN1.description}}" RecordedValue=".NET Black &amp; White Mug" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id" Value="{{$HIDDEN1.id}}" RecordedValue="2" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="name" Value="{{$HIDDEN1.name}}" RecordedValue=".NET Black &amp; White Mug" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="pictureUri" Value="{{$HIDDEN1.pictureUri}}" RecordedValue="http://192.168.1.64:5101/api/v1/pic/2" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="price" Value="{{$HIDDEN1.price}}" RecordedValue="8.5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8OCCkEVDCp5PrdqHtEgvt_m6jS02Bhw1jXKDNn9_ENzsO4__kMW2m7ROweLjQalK7D-yTLj6ddRbu7fgKxEcG1wP9a1QPbqCzIb8ynFDoTxUUdZwRNymR8F6loPp67G24lmtP2t4ZXoNhTl7ifSHXdbwsj9Au43IUbospSvHyRVkA3nDM-UdAuD_CUEVzoZsvA" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="brand" Value="Azure" RecordedValue="" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="brandId" Value="2" RecordedValue="2" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="type" Value="Mug" RecordedValue="" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="typeId" Value="1" RecordedValue="1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="description" Value=".NET Black &amp; White Mug" RecordedValue=".NET Black &amp; White Mug" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id" Value="2" RecordedValue="2" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="name" Value=".NET Black &amp; White Mug" RecordedValue=".NET Black &amp; White Mug" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="pictureUri" Value="http://192.168.1.64:5101/api/v1/pic/2" RecordedValue="http://192.168.1.64:5101/api/v1/pic/2" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="price" Value="8.5" RecordedValue="8.5" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody> </FormPostHttpBody>
</Request> </Request>
</Items> </Items>
</Loop> </Loop>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 3
- 80
test/Services/LoadTest/WebMVC/CatalogFilter.webtest View File

@ -1,78 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="CatalogFilter" Id="f1ad4bba-6008-4388-872f-51b76e01e06b" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="CatalogFilter.9ace9b51-b3cf-44f6-be51-6650d40c55da.rec.webtestresult" ResultsLocale=""> <WebTest Name="CatalogFilter" Id="f1ad4bba-6008-4388-872f-51b76e01e06b" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="CatalogFilter.9ace9b51-b3cf-44f6-be51-6650d40c55da.rec.webtestresult" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%2520id_token%26scope%3Dopenid%2520profile%2520orders%2520basket%2520marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%2520id_token%26scope%3Dopenid%2520profile%2520orders%2520basket%2520marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%2520id_token%26scope%3Dopenid%2520profile%2520orders%2520basket%2520marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%2520id_token%26scope%3Dopenid%2520profile%2520orders%2520basket%2520marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="74f12fc6-ad38-444b-89e1-2641b74e75d5" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="f1f14999bc37425d1c0b23988ba9ce3bad0768ab1bc485a6691f90f6405baf8b" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg3MjgxOTgsImV4cCI6MTQ5ODcyODQ5OCwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQzMjQ5ODUzNjQxMjIwLllUVXlORFV3WW1VdE1EVXdOaTAwWXpWaUxXSTRaakl0WkdKaFpETXdObU0xWWpObE1ETmhZalptT0dJdFpUazVZUzAwWkdFekxUZzFZMlV0TURFM1lURmpOV0ZsTmpFdyIsImlhdCI6MTQ5ODcyODE5OCwiY19oYXNoIjoiOFlHS0VoVWExQTBpWm94bE5XS254USIsInNpZCI6ImZlODA0ZmFjZTJkZmUxYzFjOGMyZDNhN2RhZjQxNzY3Iiwic3ViIjoiNjNmZGY4YzktYmNjNS00NjJmLThjOGUtZDMwODM3OGNmNmUxIiwiYXV0aF90aW1lIjoxNDk4NzI4MTk4LCJpZHAiOiJsb2NhbCIsImFtciI6WyJwd2QiXX0.dAE9O5kK5pAULXbZD3y3_FQlpRdk5NOYirRWjlUCWHZPO_cX3hV4wnczmL4OFTPshFTOpYV3V-4QZcaKG2hibxTYBs9NescqqbymZMAm6Wj0UTlfv9BwbxlxDrCLJyAsbPbw78DsP1FWlYhNv6QL5sdSanzjhW-1bsjwGqRSPTFkWdfVQetjK0IL2TkIeeTtOvIR_HR6is2KfY90yBzWThA1p8OnrZCcYwRmp0B7E4QdrkG8sRxe3jKwPRUJVo2tzyqelOQQU1SFQrPERyssdtQXyAHwLvTwsumiMELDNagTaXS57LZD4h38MxDbGub5uqH3ZI_bsgxccVpfT9dNtg" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="PmZd-SAqxZ0h6PKNWeRJUC16-NBFsf3VpywSaWV_gt8.09a9ea23704b3fe7c0fe1f4234a2c92b" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="97315df1-4de2-494f-b818-4ff8befae488" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="POST" Guid="97315df1-4de2-494f-b818-4ff8befae488" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" /> <Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
<ExtractionRules> <ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context."> <ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
@ -98,7 +30,6 @@
<FormPostHttpBody> <FormPostHttpBody>
<FormPostParameter Name="BrandFilterApplied" Value="2" RecordedValue="2" CorrelationBinding="{{FormPostParam3.BrandFilterApplied}}" UrlEncode="True" /> <FormPostParameter Name="BrandFilterApplied" Value="2" RecordedValue="2" CorrelationBinding="{{FormPostParam3.BrandFilterApplied}}" UrlEncode="True" />
<FormPostParameter Name="TypesFilterApplied" Value="All" RecordedValue="All" CorrelationBinding="" UrlEncode="True" /> <FormPostParameter Name="TypesFilterApplied" Value="All" RecordedValue="All" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEs4kUnkvKYDSLw7mwVdPSUQaQDUYWm7aXXO5vPdn73CZzpb19ZYEd9mRAN-cofCVN6NR-c3JV4k9JFx9RVMOfSHNwtdbFWRZv-bq70OiaguO02Brbvh_9b-vgjl685UH2pCc9iXUkgEj5g1NF1NC40PSwpqYcF_yV8XGs-A8BByNw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="x" Value="12" RecordedValue="12" CorrelationBinding="{{FormPostParam4.x}}" UrlEncode="True" /> <FormPostParameter Name="x" Value="12" RecordedValue="12" CorrelationBinding="{{FormPostParam4.x}}" UrlEncode="True" />
<FormPostParameter Name="y" Value="22" RecordedValue="22" CorrelationBinding="" UrlEncode="True" /> <FormPostParameter Name="y" Value="22" RecordedValue="22" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody> </FormPostHttpBody>
@ -107,6 +38,7 @@
<Request Method="POST" Guid="a8d37cd2-b40f-42a3-bf4e-584d97080b39" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="POST" Guid="a8d37cd2-b40f-42a3-bf4e-584d97080b39" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" /> <Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
<ExtractionRules> <ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context."> <ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
@ -132,7 +64,6 @@
<FormPostHttpBody> <FormPostHttpBody>
<FormPostParameter Name="BrandFilterApplied" Value="All" RecordedValue="All" CorrelationBinding="" UrlEncode="True" /> <FormPostParameter Name="BrandFilterApplied" Value="All" RecordedValue="All" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="TypesFilterApplied" Value="2" RecordedValue="2" CorrelationBinding="{{FormPostParam2.TypesFilterApplied}}" UrlEncode="True" /> <FormPostParameter Name="TypesFilterApplied" Value="2" RecordedValue="2" CorrelationBinding="{{FormPostParam2.TypesFilterApplied}}" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsFZ8zYwy2hB8ZM3wQJQcPxiT6x00bnnYjsEEaiJ-Nt47E9U8LcVI7wk_hMlfZlE5DaFXm1AYi86XnHiDy3Rq9DIiaoP7uRT_636rabSUKhDtC1oQycZ3He02g0GEWOGfKaktl1-2_qJy-XKJm2R33LYfwureSP-wopX7Evl54ddw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="x" Value="21" RecordedValue="21" CorrelationBinding="" UrlEncode="True" /> <FormPostParameter Name="x" Value="21" RecordedValue="21" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="y" Value="20" RecordedValue="20" CorrelationBinding="" UrlEncode="True" /> <FormPostParameter Name="y" Value="20" RecordedValue="20" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody> </FormPostHttpBody>
@ -141,24 +72,16 @@
<Request Method="POST" Guid="17071c90-6f13-4ade-81d7-ccb57302169f" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="POST" Guid="17071c90-6f13-4ade-81d7-ccb57302169f" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" /> <Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
<FormPostHttpBody> <FormPostHttpBody>
<FormPostParameter Name="BrandFilterApplied" Value="All" RecordedValue="All" CorrelationBinding="" UrlEncode="True" /> <FormPostParameter Name="BrandFilterApplied" Value="All" RecordedValue="All" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="TypesFilterApplied" Value="All" RecordedValue="All" CorrelationBinding="" UrlEncode="True" /> <FormPostParameter Name="TypesFilterApplied" Value="All" RecordedValue="All" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEvNKCvaz2jXbic8rWVnOYJoEBBqvr1ibh79HdsxuyBWGkkrjxpvZZ9WQPo3OxgtTzRey5xHqRRxfZ8wOiUJIWqCSHgpausDPmWmfDU9gQqkX8iqWWL0IQqQdYa0NjESINNopqOQNUU8Wgpp_Rju1BLELC5GL5yAMpJe2zhVpBylDA" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="x" Value="12" RecordedValue="12" CorrelationBinding="{{FormPostParam1.x}}" UrlEncode="True" /> <FormPostParameter Name="x" Value="12" RecordedValue="12" CorrelationBinding="{{FormPostParam1.x}}" UrlEncode="True" />
<FormPostParameter Name="y" Value="24" RecordedValue="24" CorrelationBinding="" UrlEncode="True" /> <FormPostParameter Name="y" Value="24" RecordedValue="24" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody> </FormPostHttpBody>
</Request> </Request>
<Comment CommentText="Without Filters (All/All)" /> <Comment CommentText="Without Filters (All/All)" />
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">


+ 31
- 101
test/Services/LoadTest/WebMVC/CreateNewOrder.webtest View File

@ -1,95 +1,27 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<WebTest Name="CreateNewOrder" Id="f7d59638-c9f2-43e5-92b1-37e9437a37fa" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest1.ba73b0af-8c31-4a1b-a4b0-ea5804c6a312.rec.webtestresult" ResultsLocale=""> <WebTest Name="CreateNewOrder" Id="f7d59638-c9f2-43e5-92b1-37e9437a37fa" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="WebTest1.ba73b0af-8c31-4a1b-a4b0-ea5804c6a312.rec.webtestresult" ResultsLocale="">
<Items> <Items>
<Request Method="GET" Guid="6010f193-941a-4a7b-98d4-45be7699a0dc" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignIn" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%2520id_token%26scope%3Dopenid%2520profile%2520orders%2520basket%2520marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractText, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="QueryStringParam1.returnurl" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="StartsWith" Value="?returnurl=" />
<RuleParameter Name="EndsWith" Value="&quot;" />
<RuleParameter Name="Index" Value="0" />
<RuleParameter Name="IgnoreCase" Value="False" />
<RuleParameter Name="UseRegularExpression" Value="False" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
</Request>
<Request Method="POST" Guid="ec0952d9-c4c9-4cb9-beec-5a6fbd37a49e" Version="1.1" Url="{{LocalTestSettings.IdentityApiServer.url}}/Account/Login" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/account/login?returnUrl=%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%2520id_token%26scope%3Dopenid%2520profile%2520orders%2520basket%2520marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="returnurl" Value="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%2520id_token%26scope%3Dopenid%2520profile%2520orders%2520basket%2520marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" RecordedValue="%2Fconnect%2Fauthorize%2Flogin%3Fclient_id%3D{{LocalTestSettings.ClientId.value}}%26redirect_uri%3D{{LocalTestSettings.MvcWebServer.url}}%252Fsignin-oidc%26response_type%3Dcode%2520id_token%26scope%3Dopenid%2520profile%2520orders%2520basket%2520marketing%26response_mode%3Dform_post%26nonce%3D636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw%26state%3DCfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="{{QueryStringParam1.returnurl}}" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
<FormPostHttpBody>
<FormPostParameter Name="ReturnUrl" Value="{{$HIDDEN1.ReturnUrl}}" RecordedValue="/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Email" Value="{{LocalTestSettings.User.email}}" RecordedValue="demouser@microsoft.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Password" Value="{{LocalTestSettings.User.password}}" RecordedValue="Pass@word1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8E45n9W-gMZBokgVWyQR_08Qeq0ca2d9G9yE1z_b-QeMrlEjNz483ZRTkeAN5GAkwdOJTGGhV8leGrhDbzsHrv6vEOhH5z96Q-VR7z1UX6RqYZTrwFqAiNyVxZORBlZojN-qEldZm0MqnvKFdE_S_qE" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RememberMe" Value="{{$HIDDEN1.RememberMe}}" RecordedValue="false" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="74f12fc6-ad38-444b-89e1-2641b74e75d5" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/signin-oidc" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.IdentityApiServer.url}}/connect/authorize/login?client_id={{LocalTestSettings.ClientId.value}}&amp;redirect_uri={{LocalTestSettings.MvcWebServer.url}}%2Fsignin-oidc&amp;response_type=code%20id_token&amp;scope=openid%20profile%20orders%20basket%20marketing&amp;response_mode=form_post&amp;nonce=636343249853641220.YTUyNDUwYmUtMDUwNi00YzViLWI4ZjItZGJhZDMwNmM1YjNlMDNhYjZmOGItZTk5YS00ZGEzLTg1Y2UtMDE3YTFjNWFlNjEw&amp;state=CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" />
</Headers>
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<FormPostHttpBody>
<FormPostParameter Name="code" Value="{{$HIDDEN1.code}}" RecordedValue="f1f14999bc37425d1c0b23988ba9ce3bad0768ab1bc485a6691f90f6405baf8b" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id_token" Value="{{$HIDDEN1.id_token}}" RecordedValue="eyJhbGciOiJSUzI1NiIsImtpZCI6IjZCN0FDQzUyMDMwNUJGREI0RjcyNTJEQUVCMjE3N0NDMDkxRkFBRTEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJhM3JNVWdNRnY5dFBjbExhNnlGM3pBa2ZxdUUifQ.eyJuYmYiOjE0OTg3MjgxOTgsImV4cCI6MTQ5ODcyODQ5OCwiaXNzIjoibnVsbCIsImF1ZCI6Im12YyIsIm5vbmNlIjoiNjM2MzQzMjQ5ODUzNjQxMjIwLllUVXlORFV3WW1VdE1EVXdOaTAwWXpWaUxXSTRaakl0WkdKaFpETXdObU0xWWpObE1ETmhZalptT0dJdFpUazVZUzAwWkdFekxUZzFZMlV0TURFM1lURmpOV0ZsTmpFdyIsImlhdCI6MTQ5ODcyODE5OCwiY19oYXNoIjoiOFlHS0VoVWExQTBpWm94bE5XS254USIsInNpZCI6ImZlODA0ZmFjZTJkZmUxYzFjOGMyZDNhN2RhZjQxNzY3Iiwic3ViIjoiNjNmZGY4YzktYmNjNS00NjJmLThjOGUtZDMwODM3OGNmNmUxIiwiYXV0aF90aW1lIjoxNDk4NzI4MTk4LCJpZHAiOiJsb2NhbCIsImFtciI6WyJwd2QiXX0.dAE9O5kK5pAULXbZD3y3_FQlpRdk5NOYirRWjlUCWHZPO_cX3hV4wnczmL4OFTPshFTOpYV3V-4QZcaKG2hibxTYBs9NescqqbymZMAm6Wj0UTlfv9BwbxlxDrCLJyAsbPbw78DsP1FWlYhNv6QL5sdSanzjhW-1bsjwGqRSPTFkWdfVQetjK0IL2TkIeeTtOvIR_HR6is2KfY90yBzWThA1p8OnrZCcYwRmp0B7E4QdrkG8sRxe3jKwPRUJVo2tzyqelOQQU1SFQrPERyssdtQXyAHwLvTwsumiMELDNagTaXS57LZD4h38MxDbGub5uqH3ZI_bsgxccVpfT9dNtg" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="scope" Value="{{$HIDDEN1.scope}}" RecordedValue="openid profile orders basket marketing" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="state" Value="{{$HIDDEN1.state}}" RecordedValue="CfDJ8OCCkEVDCp5PrdqHtEgvt_mxNTrlU_psyuqjm9lkemQgTEZ-k_LUyThb4S21qtGcud5ajY1BOwzMlk0uvC0p8CB9hqSKaaDpjvspLXMLHjjsZNqjG3bdvnGSHp08_go1orFXlRLeC-8dNSlLlzynWJp9uK_WC56gjcJAiqQErMBVub5lacO-ph04so9LMkZ5KSFxP0qPlkYidej2RfOYkNFxzZnLVTs5ZB_l7IU3EPgh8geWXtks_bnlnPCq9CMnWKuxlTY4_M44DCp0mMWmK_JqBfGSlnEt5d2iz2QThepUUgIg0XQxZsEPl0rsdpN0AXOXOc9bgTm-ApXmoAyBRC-dM_9k59MdxYAbipZGcwOc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="session_state" Value="{{$HIDDEN1.session_state}}" RecordedValue="PmZd-SAqxZ0h6PKNWeRJUC16-NBFsf3VpywSaWV_gt8.09a9ea23704b3fe7c0fe1f4234a2c92b" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
<Request Method="POST" Guid="b47fedf7-81a2-412a-b114-cf234d07c7e6" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Cart/AddToCart" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="POST" Guid="b47fedf7-81a2-412a-b114-cf234d07c7e6" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Cart/AddToCart" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" /> <Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
<FormPostHttpBody> <FormPostHttpBody>
<FormPostParameter Name="brand" Value="{{$HIDDEN1.brand}}" RecordedValue="" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="brandId" Value="{{$HIDDEN1.brandId}}" RecordedValue="2" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="type" Value="{{$HIDDEN1.type}}" RecordedValue="" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="typeId" Value="{{$HIDDEN1.typeId}}" RecordedValue="1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="description" Value="{{$HIDDEN1.description}}" RecordedValue=".NET Black &amp; White Mug" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id" Value="{{$HIDDEN1.id}}" RecordedValue="2" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="name" Value="{{$HIDDEN1.name}}" RecordedValue=".NET Black &amp; White Mug" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="pictureUri" Value="{{$HIDDEN1.pictureUri}}" RecordedValue="{{CatalogApiServer}}/api/v1/pic/2" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="price" Value="{{$HIDDEN1.price}}" RecordedValue="8.5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8Cdrh-iylPpOkQpr1RyNCAGwyXSwm5cWA5jXJBjAHbtJrWFC6jweGNPajZ3OI21bhRgQWnF24pQY15d9canQFRyD_NDDzL7fgjA7HOdZogASTsSwPyEes9KCKgzxLYuWAQBGRc2sKLXciWAEYao5rNEAUOV2g1K2x9oMyxKMwgNFtJKPSwRQQi9lPEkXB9uqcw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="brand" Value="Azure" RecordedValue="Azure" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="brandId" Value="2" RecordedValue="2" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="type" Value="Mug" RecordedValue="Mug" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="typeId" Value="1" RecordedValue="1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="description" Value=".NET Black &amp; White Mug" RecordedValue=".NET Black &amp; White Mug" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="id" Value="2" RecordedValue="2" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="name" Value=".NET Black &amp; White Mug" RecordedValue=".NET Black &amp; White Mug" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="pictureUri" Value="{{LocalTestSettings.CatalogApiServer.url}}" RecordedValue="{{CatalogApiServer}}/api/v1/catalog/items/2/pic/" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="price" Value="8.5" RecordedValue="8.5" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody> </FormPostHttpBody>
</Request> </Request>
<Request Method="GET" Guid="3c054e49-5dd7-4bcd-b459-d91707182e79" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Cart" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="GET" Guid="3c054e49-5dd7-4bcd-b459-d91707182e79" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Cart" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" /> <Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
<ExtractionRules> <ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context."> <ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
@ -121,6 +53,7 @@
<Request Method="POST" Guid="824868c7-c534-48be-9ee2-251b22415b3c" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Cart" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/Order/Create" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="POST" Guid="824868c7-c534-48be-9ee2-251b22415b3c" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Cart" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/Order/Create" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/Cart" /> <Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/Cart" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
<ExtractionRules> <ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context."> <ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
@ -205,7 +138,7 @@
</ExtractionRule> </ExtractionRule>
</CorrelationExtractionRules> </CorrelationExtractionRules>
<FormPostHttpBody> <FormPostHttpBody>
<FormPostParameter Name="quantities[0].Key" Value="{{$HIDDEN1.quantities[0].Key}}" RecordedValue="20c8ed9d-25fa-4c04-b6d6-0ff919b766cc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="quantities[0].Key" Value="20c8ed9d-25fa-4c04-b6d6-0ff919b766cc" RecordedValue="20c8ed9d-25fa-4c04-b6d6-0ff919b766cc" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="quantities[0].Value" Value="1" RecordedValue="1" CorrelationBinding="{{FormPostParam10.quantities[0].Value}}" UrlEncode="True" /> <FormPostParameter Name="quantities[0].Value" Value="1" RecordedValue="1" CorrelationBinding="{{FormPostParam10.quantities[0].Value}}" UrlEncode="True" />
<FormPostParameter Name="action" Value="[ Checkout ]" RecordedValue="[ Checkout ]" CorrelationBinding="{{FormPostParam11.action}}" UrlEncode="True" /> <FormPostParameter Name="action" Value="[ Checkout ]" RecordedValue="[ Checkout ]" CorrelationBinding="{{FormPostParam11.action}}" UrlEncode="True" />
</FormPostHttpBody> </FormPostHttpBody>
@ -213,6 +146,7 @@
<Request Method="POST" Guid="37f6bc56-40fe-4b4b-8d32-700d0cadee04" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Order/Checkout" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/Order" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="POST" Guid="37f6bc56-40fe-4b4b-8d32-700d0cadee04" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Order/Checkout" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/Order" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/Order/Create" /> <Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/Order/Create" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
<FormPostHttpBody> <FormPostHttpBody>
<FormPostParameter Name="Street" Value="15703 NE 61st Ct" RecordedValue="15703 NE 61st Ct" CorrelationBinding="{{FormPostParam1.Street}}" UrlEncode="True" /> <FormPostParameter Name="Street" Value="15703 NE 61st Ct" RecordedValue="15703 NE 61st Ct" CorrelationBinding="{{FormPostParam1.Street}}" UrlEncode="True" />
@ -223,41 +157,29 @@
<FormPostParameter Name="CardHolderName" Value="DemoUser" RecordedValue="DemoUser" CorrelationBinding="{{FormPostParam6.CardHolderName}}" UrlEncode="True" /> <FormPostParameter Name="CardHolderName" Value="DemoUser" RecordedValue="DemoUser" CorrelationBinding="{{FormPostParam6.CardHolderName}}" UrlEncode="True" />
<FormPostParameter Name="CardExpirationShort" Value="12/20" RecordedValue="12/20" CorrelationBinding="{{FormPostParam7.CardExpirationShort}}" UrlEncode="True" /> <FormPostParameter Name="CardExpirationShort" Value="12/20" RecordedValue="12/20" CorrelationBinding="{{FormPostParam7.CardExpirationShort}}" UrlEncode="True" />
<FormPostParameter Name="CardSecurityNumber" Value="535" RecordedValue="535" CorrelationBinding="{{FormPostParam8.CardSecurityNumber}}" UrlEncode="True" /> <FormPostParameter Name="CardSecurityNumber" Value="535" RecordedValue="535" CorrelationBinding="{{FormPostParam8.CardSecurityNumber}}" UrlEncode="True" />
<FormPostParameter Name="orderitems[0].PictureUrl" Value="{{$HIDDEN1.orderitems[0].PictureUrl}}" RecordedValue="{{CatalogApiServer}}/api/v1/pic/2" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="orderitems[0].ProductName" Value="{{$HIDDEN1.orderitems[0].ProductName}}" RecordedValue=".NET Black &amp; White Mug" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="orderitems[0].UnitPrice" Value="{{$HIDDEN1.orderitems[0].UnitPrice}}" RecordedValue="8.5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="orderitems[0].Units" Value="{{$HIDDEN1.orderitems[0].Units}}" RecordedValue="1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Total" Value="{{$HIDDEN1.Total}}" RecordedValue="8.5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="orderitems[0].PictureUrl" Value="{{LocalTestSettings.CatalogApiServer.url}}/api/v1/catalog/items/2/pic/" RecordedValue="{{CatalogApiServer}}/api/v1/catalog/items/2/pic/" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="orderitems[0].ProductName" Value=".NET Black &amp; White Mug" RecordedValue=".NET Black &amp; White Mug" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="orderitems[0].UnitPrice" Value="8.5" RecordedValue="8.5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="orderitems[0].Units" Value="1" RecordedValue="1" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="Total" Value="8.5" RecordedValue="8.5" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="action" Value="[ Place Order ]" RecordedValue="[ Place Order ]" CorrelationBinding="{{FormPostParam9.action}}" UrlEncode="True" /> <FormPostParameter Name="action" Value="[ Place Order ]" RecordedValue="[ Place Order ]" CorrelationBinding="{{FormPostParam9.action}}" UrlEncode="True" />
<FormPostParameter Name="ZipCode" Value="{{$HIDDEN1.ZipCode}}" RecordedValue="98052" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RequestId" Value="{{$HIDDEN1.RequestId}}" RecordedValue="f58b9345-ea25-4125-a8bf-b0992233af6c" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8Cdrh-iylPpOkQpr1RyNCAFGQoLNAyo2LBV9_NmqTRqo691TuJQOVNY-EwyaSBfsE8oln7PmOP46bJbubIL8zbrKu6Ow3Vuwa-hDNg2QGkpNyeh1epxhyWLwTg8gW8OegxsoiTqWQhDXvelBIqJGqfB5rHUhxR9lAxrLG85JkWL_1UnwWSIpUOV6XzDB9U7Vfw" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="ZipCode" Value="98052" RecordedValue="98052" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="RequestId" Value="{{GenGuid}} " RecordedValue="f58b9345-ea25-4125-a8bf-b0992233af6c" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody> </FormPostHttpBody>
</Request> </Request>
<Request Method="GET" Guid="60e4b7e1-95fc-43a0-932d-d1d1a311b49f" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Order" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False"> <Request Method="GET" Guid="60e4b7e1-95fc-43a0-932d-d1d1a311b49f" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Order" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers> <Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/Order/Create" /> <Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/Order/Create" />
<Header Name="Authorization" Value="Email demouser@microsoft.com" />
</Headers> </Headers>
</Request> </Request>
<Request Method="GET" Guid="fe68954c-56b1-4b4e-aa7d-8c353d4efbc4" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Order" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/Order/Create" />
</Headers>
</Request>
<Request Method="POST" Guid="845ebdbb-7277-41e4-bf6d-bc2b2096ca31" Version="1.1" Url="{{LocalTestSettings.MvcWebServer.url}}/Account/SignOut" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="{{LocalTestSettings.MvcWebServer.url}}/" ReportingName="" IgnoreHttpStatusCode="False">
<Headers>
<Header Name="Referer" Value="{{LocalTestSettings.MvcWebServer.url}}/" />
</Headers>
<FormPostHttpBody>
<FormPostParameter Name="__RequestVerificationToken" Value="{{$HIDDEN1.__RequestVerificationToken}}" RecordedValue="CfDJ8KF1l9jrGGVBqwjqh6oMtEsKFpdQ8gAgwS0typ2jiVDZ8oX6tuiVLv-FVrtg8FOlWcbEIsUO4xeajrDnhuizGQptXRa0AHTH7_sqyud4BovXbU2GJgNRGU8-_5Czw3cd9yp9NewqnmUq3K0eawmjpTH782CbPZ5ON4Zzoo9g7slSYCR9X9eK_CcL7zDFt-aYUA" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
</Items> </Items>
<DataSources> <DataSources>
<DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config"> <DataSource Name="LocalTestSettings" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\app.config">
<Tables> <Tables>
<DataSourceTable Name="MvcWebServer" SelectColumns="SelectAllColumns" AccessMethod="Sequential" /> <DataSourceTable Name="MvcWebServer" SelectColumns="SelectAllColumns" AccessMethod="Sequential" />
<DataSourceTable Name="IdentityApiServer" SelectColumns="SelectAllColumns" AccessMethod="Sequential" /> <DataSourceTable Name="IdentityApiServer" SelectColumns="SelectAllColumns" AccessMethod="Sequential" />
<DataSourceTable Name="CatalogApiServer" SelectColumns="SelectAllColumns" AccessMethod="Sequential" />
<DataSourceTable Name="User" SelectColumns="SelectAllColumns" AccessMethod="Sequential" /> <DataSourceTable Name="User" SelectColumns="SelectAllColumns" AccessMethod="Sequential" />
<DataSourceTable Name="ClientId" SelectColumns="SelectAllColumns" AccessMethod="Sequential" /> <DataSourceTable Name="ClientId" SelectColumns="SelectAllColumns" AccessMethod="Sequential" />
</Tables> </Tables>
@ -271,4 +193,12 @@
</RuleParameters> </RuleParameters>
</ValidationRule> </ValidationRule>
</ValidationRules> </ValidationRules>
<WebTestPlugins>
<WebTestPlugin Classname="Microsoft.SystemCenter.Cloud.GsmPlugins.GuidGeneratorWebTestPlugin, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" DisplayName="Generate Guid" Description="Generates a new guid.">
<RuleParameters>
<RuleParameter Name="ContextParameterName" Value="GenGuid" />
<RuleParameter Name="OutputFormat" Value="" />
</RuleParameters>
</WebTestPlugin>
</WebTestPlugins>
</WebTest> </WebTest>

Loading…
Cancel
Save