Skip to content

Commit 8a62a28

Browse files
authored
Merge built-in environments and discovered environemnts (#203)
* Merge built-in environments and discovered environemnts * Add test cases according to feedback
1 parent 06ed818 commit 8a62a28

File tree

4 files changed

+224
-101
lines changed

4 files changed

+224
-101
lines changed

src/Authentication.Abstractions.Test/AzureEnvironmentTests.cs

+27
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,33 @@ public void TestArmCloudMetadata20190501Init()
5252
}
5353
}
5454

55+
[Fact]
56+
public void TestArmResponseNoAzureCloud()
57+
{
58+
Environment.SetEnvironmentVariable(ArmMetadataEnvVariable, @"TestData\ArmResponseNoAzureCloud.json");
59+
var armEnvironments = AzureEnvironment.InitializeBuiltInEnvironments(null, httpOperations: TestOperationsFactory.Create().GetHttpOperations());
60+
61+
// Check AzureCloud is added to public environment list even discovery endpoint doesn't return AzureCloud.
62+
Assert.Equal(4, armEnvironments.Count);
63+
Assert.Equal(AzureEnvironment.TypeBuiltIn, armEnvironments[EnvironmentName.AzureCloud].Type);
64+
Assert.Equal(AzureEnvironment.TypeBuiltIn, armEnvironments[EnvironmentName.AzureChinaCloud].Type);
65+
Assert.Equal(AzureEnvironment.TypeDiscovered, armEnvironments[EnvironmentName.AzureGermanCloud].Type);
66+
Assert.Equal(AzureEnvironment.TypeDiscovered, armEnvironments[EnvironmentName.AzureUSGovernment].Type);
67+
}
68+
69+
[Fact]
70+
public void TestArmResponseOneEntry()
71+
{
72+
Environment.SetEnvironmentVariable(ArmMetadataEnvVariable, @"TestData\ArmResponseOneEntry.json");
73+
var armEnvironments = AzureEnvironment.InitializeBuiltInEnvironments(null, httpOperations: TestOperationsFactory.Create().GetHttpOperations());
74+
75+
Assert.Equal(5, armEnvironments.Count);
76+
Assert.Equal(AzureEnvironment.TypeBuiltIn, armEnvironments[EnvironmentName.AzureCloud].Type);
77+
Assert.Equal(AzureEnvironment.TypeBuiltIn, armEnvironments[EnvironmentName.AzureChinaCloud].Type);
78+
Assert.Equal(AzureEnvironment.TypeBuiltIn, armEnvironments[EnvironmentName.AzureGermanCloud].Type);
79+
Assert.Equal(AzureEnvironment.TypeBuiltIn, armEnvironments[EnvironmentName.AzureUSGovernment].Type);
80+
}
81+
5582
[Fact]
5683
public void TestFallbackWhenArmCloudMetadataInitFails()
5784
{
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
[
2+
{
3+
"portal": "https://portal.azure.us",
4+
"authentication": {
5+
"loginEndpoint": "https://login.microsoftonline.us",
6+
"audiences": [
7+
"https://management.core.usgovcloudapi.net",
8+
"https://management.usgovcloudapi.net"
9+
],
10+
"tenant": "common",
11+
"identityProvider": "AAD"
12+
},
13+
"media": "https://rest.media.usgovcloudapi.net",
14+
"graphAudience": "https://graph.windows.net",
15+
"graph": "https://graph.windows.net",
16+
"name": "AzureUSGovernment",
17+
"suffixes": {
18+
"acrLoginServer": "azurecr.us",
19+
"sqlServerHostname": "database.usgovcloudapi.net",
20+
"keyVaultDns": "vault.usgovcloudapi.net",
21+
"storage": "core.usgovcloudapi.net",
22+
"azureFrontDoorEndpointSuffix": ""
23+
},
24+
"batch": "https://batch.core.usgovcloudapi.net",
25+
"resourceManager": "https://management.usgovcloudapi.net",
26+
"vmImageAliasDoc": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json",
27+
"sqlManagement": "https://management.core.usgovcloudapi.net:8443",
28+
"gallery": "https://gallery.usgovcloudapi.net"
29+
},
30+
{
31+
"portal": "https://portal.microsoftazure.de",
32+
"authentication": {
33+
"loginEndpoint": "https://login.microsoftonline.de",
34+
"audiences": [
35+
"https://management.core.cloudapi.de",
36+
"https://management.microsoftazure.de"
37+
],
38+
"tenant": "common",
39+
"identityProvider": "AAD"
40+
},
41+
"media": "https://rest.media.cloudapi.de",
42+
"graphAudience": "https://graph.cloudapi.de",
43+
"graph": "https://graph.cloudapi.de",
44+
"name": "AzureGermanCloud",
45+
"suffixes": {
46+
"sqlServerHostname": "database.cloudapi.de",
47+
"keyVaultDns": "vault.microsoftazure.de",
48+
"storage": "core.cloudapi.de",
49+
"azureFrontDoorEndpointSuffix": ""
50+
},
51+
"batch": "https://batch.cloudapi.de",
52+
"resourceManager": "https://management.microsoftazure.de",
53+
"vmImageAliasDoc": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json",
54+
"sqlManagement": "https://management.core.cloudapi.de:8443",
55+
"gallery": "https://gallery.cloudapi.de"
56+
}
57+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
[
2+
{
3+
"portal": "https://portal.azure.us",
4+
"authentication": {
5+
"loginEndpoint": "https://login.microsoftonline.us",
6+
"audiences": [
7+
"https://management.core.usgovcloudapi.net",
8+
"https://management.usgovcloudapi.net"
9+
],
10+
"tenant": "common",
11+
"identityProvider": "AAD"
12+
},
13+
"media": "https://rest.media.usgovcloudapi.net",
14+
"graphAudience": "https://graph.windows.net",
15+
"graph": "https://graph.windows.net",
16+
"name": "MockedOne",
17+
"suffixes": {
18+
"acrLoginServer": "azurecr.us",
19+
"sqlServerHostname": "database.usgovcloudapi.net",
20+
"keyVaultDns": "vault.usgovcloudapi.net",
21+
"storage": "core.usgovcloudapi.net",
22+
"azureFrontDoorEndpointSuffix": ""
23+
},
24+
"batch": "https://batch.core.usgovcloudapi.net",
25+
"resourceManager": "https://management.usgovcloudapi.net",
26+
"vmImageAliasDoc": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json",
27+
"sqlManagement": "https://management.core.usgovcloudapi.net:8443",
28+
"gallery": "https://gallery.usgovcloudapi.net"
29+
}
30+
]

0 commit comments

Comments
 (0)