Skip to content

Commit 59c9b21

Browse files
committed
2 parents e1d8a8e + 03f23ea commit 59c9b21

44 files changed

Lines changed: 3185 additions & 32 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Local.testsettings

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<TestSettings name="Local" id="8a94a5ef-b0b7-4720-aebb-cf8f36dc0f10" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
3+
<Description>These are default test settings for a local test run.</Description>
4+
<Deployment enabled="false" />
5+
<Execution>
6+
<TestTypeSpecific />
7+
<AgentRule name="Execution Agents">
8+
</AgentRule>
9+
</Execution>
10+
<Properties>
11+
<Property name="TestSettingsUIType" value="LoadTest" />
12+
</Properties>
13+
</TestSettings>

docker-compose.dcproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@
1515
</None>
1616
<None Include="docker-compose.prod.yml">
1717
<DependentUpon>docker-compose.yml</DependentUpon>
18+
</None>
19+
<None Include="docker-compose.vs.debug.yml">
20+
<DependentUpon>docker-compose.yml</DependentUpon>
21+
</None>
22+
<None Include="docker-compose.vs.release.yml">
23+
<DependentUpon>docker-compose.yml</DependentUpon>
1824
</None>
1925
<None Include="docker-compose.yml" />
2026
</ItemGroup>

eShopOnContainers-ServicesAndWebApps.sln

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{932D8224-11F
99
EndProject
1010
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3AF739CD-81D8-428D-A08A-0A58372DEBF6}"
1111
ProjectSection(SolutionItems) = preProject
12+
Local.testsettings = Local.testsettings
1213
NuGet.config = NuGet.config
1314
EndProjectSection
1415
EndProject
@@ -100,6 +101,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EventBusServiceBus", "src\B
100101
EndProject
101102
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.HealthChecks.AzureStorage", "src\BuildingBlocks\HealthChecks\src\Microsoft.Extensions.HealthChecks.AzureStorage\Microsoft.Extensions.HealthChecks.AzureStorage.csproj", "{768C887F-C229-4B94-ACD8-0C7F65686524}"
102103
EndProject
104+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LoadTest", "test\Services\LoadTest\LoadTest.csproj", "{969E793C-C413-490E-9C9D-B2B46DA5AF32}"
105+
EndProject
103106
Global
104107
GlobalSection(SolutionConfigurationPlatforms) = preSolution
105108
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
@@ -1362,6 +1365,54 @@ Global
13621365
{768C887F-C229-4B94-ACD8-0C7F65686524}.Release|x64.Build.0 = Release|Any CPU
13631366
{768C887F-C229-4B94-ACD8-0C7F65686524}.Release|x86.ActiveCfg = Release|Any CPU
13641367
{768C887F-C229-4B94-ACD8-0C7F65686524}.Release|x86.Build.0 = Release|Any CPU
1368+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
1369+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
1370+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
1371+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
1372+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
1373+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
1374+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
1375+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
1376+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
1377+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Ad-Hoc|x64.Build.0 = Release|Any CPU
1378+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
1379+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Ad-Hoc|x86.Build.0 = Release|Any CPU
1380+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
1381+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.AppStore|Any CPU.Build.0 = Release|Any CPU
1382+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.AppStore|ARM.ActiveCfg = Release|Any CPU
1383+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.AppStore|ARM.Build.0 = Release|Any CPU
1384+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.AppStore|iPhone.ActiveCfg = Release|Any CPU
1385+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.AppStore|iPhone.Build.0 = Release|Any CPU
1386+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
1387+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
1388+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.AppStore|x64.ActiveCfg = Release|Any CPU
1389+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.AppStore|x64.Build.0 = Release|Any CPU
1390+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.AppStore|x86.ActiveCfg = Release|Any CPU
1391+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.AppStore|x86.Build.0 = Release|Any CPU
1392+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1393+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Debug|Any CPU.Build.0 = Debug|Any CPU
1394+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Debug|ARM.ActiveCfg = Debug|Any CPU
1395+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Debug|ARM.Build.0 = Debug|Any CPU
1396+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Debug|iPhone.ActiveCfg = Debug|Any CPU
1397+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Debug|iPhone.Build.0 = Debug|Any CPU
1398+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
1399+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
1400+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Debug|x64.ActiveCfg = Debug|Any CPU
1401+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Debug|x64.Build.0 = Debug|Any CPU
1402+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Debug|x86.ActiveCfg = Debug|Any CPU
1403+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Debug|x86.Build.0 = Debug|Any CPU
1404+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Release|Any CPU.ActiveCfg = Release|Any CPU
1405+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Release|Any CPU.Build.0 = Release|Any CPU
1406+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Release|ARM.ActiveCfg = Release|Any CPU
1407+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Release|ARM.Build.0 = Release|Any CPU
1408+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Release|iPhone.ActiveCfg = Release|Any CPU
1409+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Release|iPhone.Build.0 = Release|Any CPU
1410+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
1411+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
1412+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Release|x64.ActiveCfg = Release|Any CPU
1413+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Release|x64.Build.0 = Release|Any CPU
1414+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Release|x86.ActiveCfg = Release|Any CPU
1415+
{969E793C-C413-490E-9C9D-B2B46DA5AF32}.Release|x86.Build.0 = Release|Any CPU
13651416
EndGlobalSection
13661417
GlobalSection(SolutionProperties) = preSolution
13671418
HideSolutionNode = FALSE
@@ -1410,5 +1461,6 @@ Global
14101461
{DF395F85-B010-465D-857A-7EBCC512C0C2} = {A5260DE0-1FDD-467E-9CC1-A028AB081CEE}
14111462
{69AF10D3-AA76-4FF7-B187-EC7E8CC5F5B8} = {807BB76E-B2BB-47A2-A57B-3D1B20FF5E7F}
14121463
{768C887F-C229-4B94-ACD8-0C7F65686524} = {A81ECBC2-6B00-4DCD-8388-469174033379}
1464+
{969E793C-C413-490E-9C9D-B2B46DA5AF32} = {EF0337F2-ED00-4643-89FD-EE10863F1870}
14131465
EndGlobalSection
14141466
EndGlobal

src/Services/Catalog/Catalog.API/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"ConnectionString": "Server=tcp:127.0.0.1,5433;Initial Catalog=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word",
33
"PicBaseUrl": "http://localhost:5101",
4-
"UseCustomizationData": true,
4+
"UseCustomizationData": false,
55
"Logging": {
66
"IncludeScopes": false,
77
"LogLevel": {

src/Services/Identity/Identity.API/Configuration/Config.cs

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -117,18 +117,35 @@ public static IEnumerable<Client> GetClients(Dictionary<string,string> clientsUr
117117
},
118118
new Client
119119
{
120-
ClientId = "swaggerui",
121-
ClientName = "Swagger UI",
122-
AllowedGrantTypes = GrantTypes.Implicit,
120+
ClientId = "mvctest",
121+
ClientName = "MVC Client Test",
122+
ClientSecrets = new List<Secret>
123+
{
124+
new Secret("secret".Sha256())
125+
},
126+
ClientUri = $"{clientsUrl["Mvc"]}", // public uri of the client
127+
AllowedGrantTypes = GrantTypes.Hybrid,
123128
AllowAccessTokensViaBrowser = true,
124-
125-
RedirectUris = { "http://localhost:5109/swagger/o2c.html" },
126-
PostLogoutRedirectUris = { "http://localhost:5109/swagger/" },
127-
128-
AllowedScopes =
129+
RequireConsent = false,
130+
AllowOfflineAccess = true,
131+
RedirectUris = new List<string>
129132
{
130-
"locations"
131-
}
133+
$"{clientsUrl["Mvc"]}/signin-oidc"
134+
},
135+
PostLogoutRedirectUris = new List<string>
136+
{
137+
$"{clientsUrl["Mvc"]}/signout-callback-oidc"
138+
},
139+
AllowedScopes = new List<string>
140+
{
141+
IdentityServerConstants.StandardScopes.OpenId,
142+
IdentityServerConstants.StandardScopes.Profile,
143+
IdentityServerConstants.StandardScopes.OfflineAccess,
144+
"orders",
145+
"basket",
146+
"locations",
147+
"marketing"
148+
},
132149
}
133150
};
134151
}

src/Services/Identity/Identity.API/appsettings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"MvcClient": "http://localhost:5100",
77
"SpaClient": "http://localhost:5104",
88
"XamarinCallback": "http://localhost:5105/xamarincallback",
9-
"UseCustomizationData": true,
9+
"UseCustomizationData": false,
1010
"Logging": {
1111
"IncludeScopes": false,
1212
"LogLevel": {

src/Services/Ordering/Ordering.API/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"ConnectionString": "Server=tcp:127.0.0.1,5433;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word;",
33
"IdentityUrl": "http://localhost:5105",
4-
"UseCustomizationData": true,
4+
"UseCustomizationData": false,
55
"Logging": {
66
"IncludeScopes": false,
77
"LogLevel": {

src/Web/WebMVC/Startup.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,21 +114,22 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerF
114114

115115
var identityUrl = Configuration.GetValue<string>("IdentityUrl");
116116
var callBackUrl = Configuration.GetValue<string>("CallBackUrl");
117+
var useLoadTest = Configuration.GetValue<bool>("UseLoadTest");
117118
var log = loggerFactory.CreateLogger("identity");
118119

119120
var oidcOptions = new OpenIdConnectOptions
120121
{
121122
AuthenticationScheme = "oidc",
122123
SignInScheme = "Cookies",
123-
Authority = identityUrl.ToString(),
124-
PostLogoutRedirectUri = callBackUrl.ToString(),
125-
ClientId = "mvc",
124+
Authority = identityUrl,
125+
PostLogoutRedirectUri = callBackUrl,
126126
ClientSecret = "secret",
127-
ResponseType = "code id_token",
127+
ClientId = useLoadTest ? "mvctest" : "mvc",
128+
ResponseType = useLoadTest ? "code id_token token" : "code id_token",
128129
SaveTokens = true,
129130
GetClaimsFromUserInfoEndpoint = true,
130131
RequireHttpsMetadata = false,
131-
Scope = { "openid", "profile", "orders", "basket", "marketing" }
132+
Scope = { "openid", "profile", "orders", "basket", "marketing", "locations" }
132133
};
133134

134135
//Seed Data

src/Web/WebMVC/appsettings.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77
"CallBackUrl": "http://localhost:5100/",
88
"IsClusterEnv": "False",
99
"UseResilientHttp": "True",
10-
"ActivateCampaignDetailFunction": "True",
11-
"UseCustomizationData": true,
10+
"UseLoadTest": false,
11+
"ActivateCampaignDetailFunction": "False",
12+
"UseCustomizationData": false,
1213
"Logging": {
1314
"IncludeScopes": false,
1415
"LogLevel": {

test/Services/IntegrationTests/Services/Catalog/CatalogScenarioBase.cs

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-

2-
3-
namespace IntegrationTests.Services.Catalog
1+
namespace IntegrationTests.Services.Catalog
42
{
53
using Microsoft.AspNetCore.Hosting;
64
using Microsoft.AspNetCore.TestHost;
@@ -20,20 +18,42 @@ public TestServer CreateServer()
2018

2119
public static class Get
2220
{
23-
public static string Items = "api/v1/catalog/items";
21+
private const int PageIndex = 0;
22+
private const int PageCount = 4;
23+
24+
public static string Items(bool paginated = false)
25+
{
26+
return paginated
27+
? "api/v1/catalog/items" + Paginated(PageIndex, PageCount)
28+
: "api/v1/catalog/items";
29+
}
30+
31+
public static string ItemById(int id)
32+
{
33+
return $"api/v1/catalog/items/{id}";
34+
}
35+
36+
public static string ItemByName(string name, bool paginated = false)
37+
{
38+
return paginated
39+
? $"api/v1/catalog/items/withname/{name}" + Paginated(PageIndex, PageCount)
40+
: $"api/v1/catalog/items/withname/{name}";
41+
}
2442

2543
public static string Types = "api/v1/catalog/catalogtypes";
2644

2745
public static string Brands = "api/v1/catalog/catalogbrands";
2846

29-
public static string Paginated(int pageIndex, int pageCount)
47+
public static string Filtered(int catalogTypeId, int catalogBrandId, bool paginated = false)
3048
{
31-
return $"api/v1/catalog/items?pageIndex={pageIndex}&pageSize={pageCount}";
49+
return paginated
50+
? $"api/v1/catalog/items/type/{catalogTypeId}/brand/{catalogBrandId}" + Paginated(PageIndex, PageCount)
51+
: $"api/v1/catalog/items/type/{catalogTypeId}/brand/{catalogBrandId}";
3252
}
3353

34-
public static string Filtered(int catalogTypeId, int catalogBrandId)
54+
private static string Paginated(int pageIndex, int pageCount)
3555
{
36-
return $"api/v1/catalog/items/type/{catalogTypeId}/brand/{catalogBrandId}";
56+
return $"?pageIndex={pageIndex}&pageSize={pageCount}";
3757
}
3858
}
3959
}

0 commit comments

Comments
 (0)