Skip to content

Commit b9bafe3

Browse files
authored
Fix serialization of OpenTypes (#1303)
* Remove camel case conversion of additional properties. * Only camelCase properties of NamedLocation abstract type. * Add site list item tests. * Add Identity.Signins Pester tests.
1 parent 4040b30 commit b9bafe3

14 files changed

+454
-140
lines changed

.azure-pipelines/generate-modules-template.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ jobs:
142142
pwsh: true
143143
script: |
144144
Write-Host $(BUILDNUMBER)
145-
. $(System.DefaultWorkingDirectory)/tools/GenerateModules.ps1 -ArtifactsLocation $(Build.ArtifactStagingDirectory)\ -Build -EnableSigning -ModulePreviewNumber $(BUILDNUMBER) -RepositoryName "LocalNugetFeed" -ExcludeExampleTemplates -ExcludeNotesSection
145+
. $(System.DefaultWorkingDirectory)/tools/GenerateModules.ps1 -ArtifactsLocation $(Build.ArtifactStagingDirectory)\ -Build -Test -EnableSigning -ModulePreviewNumber $(BUILDNUMBER) -RepositoryName "LocalNugetFeed" -ExcludeExampleTemplates -ExcludeNotesSection
146146
147147
- template: ./generation-templates/generate-helpdocs-template.yml
148148

.azure-pipelines/integrated-pipeline.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ stages:
101101
KEYVAULT: $(KEYVAULT)
102102
AZURESUBSCRIPTION: $(AZURESUBSCRIPTION)
103103

104-
- stage: GenerateBetaModules
105-
displayName: 'Generate Beta Modules (Microsoft.Graph.*)'
104+
- stage: GenerateModules
105+
displayName: 'Generate Modules (Microsoft.Graph.*)'
106106
jobs:
107107
- template: ./generate-modules-template.yml
108108
parameters:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
{
2+
"New-MgIdentityConditionalAccessNamedLocation+[NoContext]+ShouldCreateAnIpNamedLocation+$POST+https://graph.microsoft.com/beta/identity/conditionalAccess/namedLocations+1": {
3+
"Request": {
4+
"Method": "POST",
5+
"RequestUri": "https://graph.microsoft.com/beta/identity/conditionalAccess/namedLocations",
6+
"Content": "{\r\n \"isTrusted\": false,\r\n \"ipRanges\": [\r\n {\r\n \"CidrAddress\": \"12.34.221.11/22\",\r\n \"@odata.type\": \"#microsoft.graph.iPv4CidrRange\"\r\n },\r\n {\r\n \"CidrAddress\": \"2001:0:9d38:90d6:0:0:0:0/63\",\r\n \"@odata.type\": \"#microsoft.graph.iPv6CidrRange\"\r\n }\r\n ],\r\n \"@odata.type\": \"#microsoft.graph.ipNamedLocation\",\r\n \"displayName\": \"Untrusted IP named location\"\r\n}",
7+
"Headers": {
8+
},
9+
"ContentHeaders": {
10+
"Content-Type": [ "application/json" ],
11+
"Content-Length": [ "385" ]
12+
}
13+
},
14+
"Response": {
15+
"StatusCode": 201,
16+
"Headers": {
17+
"Cache-Control": [ "no-cache" ],
18+
"Transfer-Encoding": [ "chunked" ],
19+
"Location": [ "https://na.prod.graph.ipc.msidentity.com/conditionalAccess/namedLocations(\u0027013cca62-944c-462b-8fe7-8d51533b2ce3\u0027)" ],
20+
"Vary": [ "Accept-Encoding" ],
21+
"Strict-Transport-Security": [ "max-age=31536000" ],
22+
"request-id": [ "3301729e-ec41-4cbc-9ba4-ef367483c104" ],
23+
"client-request-id": [ "3301729e-ec41-4cbc-9ba4-ef367483c104" ],
24+
"x-ms-ags-diagnostic": [ "{\"ServerInfo\":{\"DataCenter\":\"West US 2\",\"Slice\":\"E\",\"Ring\":\"1\",\"ScaleUnit\":\"001\",\"RoleInstance\":\"MW2PEPF00009118\"}}" ],
25+
"OData-Version": [ "4.0" ],
26+
"Date": [ "Fri, 03 Jun 2022 19:24:13 GMT" ]
27+
},
28+
"ContentHeaders": {
29+
"Content-Type": [ "application/json; odata.metadata=minimal; odata.streaming=true; IEEE754Compatible=false; charset=utf-8" ],
30+
"Content-Encoding": [ "gzip" ]
31+
},
32+
"Content": "{\"@odata.context\":\"https://graph.microsoft.com/beta/$metadata#identity/conditionalAccess/namedLocations/$entity\",\"@odata.type\":\"#microsoft.graph.ipNamedLocation\",\"id\":\"013cca62-944c-462b-8fe7-8d51533b2ce3\",\"displayName\":\"Untrusted IP named location\",\"modifiedDateTime\":\"2022-06-03T19:24:12.9772062Z\",\"createdDateTime\":\"2022-06-03T19:24:12.9772062Z\",\"isTrusted\":false,\"ipRanges\":[{\"@odata.type\":\"#microsoft.graph.iPv4CidrRange\",\"cidrAddress\":\"12.34.221.11/22\"},{\"@odata.type\":\"#microsoft.graph.iPv6CidrRange\",\"cidrAddress\":\"2001:0:9d38:90d6:0:0:0:0/63\"}]}"
33+
}
34+
},
35+
"New-MgIdentityConditionalAccessNamedLocation+[NoContext]+ShouldCreateACountryNamedLocation+$POST+https://graph.microsoft.com/beta/identity/conditionalAccess/namedLocations+1": {
36+
"Request": {
37+
"Method": "POST",
38+
"RequestUri": "https://graph.microsoft.com/beta/identity/conditionalAccess/namedLocations",
39+
"Content": "{\r\n \"countriesAndRegions\": [ \"US\", \"GB\" ],\r\n \"includeUnknownCountriesAndRegions\": true,\r\n \"@odata.type\": \"#microsoft.graph.countryNamedLocation\",\r\n \"displayName\": \"Named location with unknown countries and regions\"\r\n}",
40+
"Headers": {
41+
},
42+
"ContentHeaders": {
43+
"Content-Type": [ "application/json" ],
44+
"Content-Length": [ "221" ]
45+
}
46+
},
47+
"Response": {
48+
"StatusCode": 201,
49+
"Headers": {
50+
"Cache-Control": [ "no-cache" ],
51+
"Transfer-Encoding": [ "chunked" ],
52+
"Location": [ "https://na.prod.graph.ipc.msidentity.com/conditionalAccess/namedLocations(\u00271aefaad3-f427-4c97-9683-fead95178e99\u0027)" ],
53+
"Vary": [ "Accept-Encoding" ],
54+
"Strict-Transport-Security": [ "max-age=31536000" ],
55+
"request-id": [ "92a311dd-5cc9-4756-b9cf-bbda241d2307" ],
56+
"client-request-id": [ "92a311dd-5cc9-4756-b9cf-bbda241d2307" ],
57+
"x-ms-ags-diagnostic": [ "{\"ServerInfo\":{\"DataCenter\":\"West US 2\",\"Slice\":\"E\",\"Ring\":\"1\",\"ScaleUnit\":\"001\",\"RoleInstance\":\"MW2PEPF00009118\"}}" ],
58+
"OData-Version": [ "4.0" ],
59+
"Date": [ "Fri, 03 Jun 2022 19:24:15 GMT" ]
60+
},
61+
"ContentHeaders": {
62+
"Content-Type": [ "application/json; odata.metadata=minimal; odata.streaming=true; IEEE754Compatible=false; charset=utf-8" ],
63+
"Content-Encoding": [ "gzip" ]
64+
},
65+
"Content": "{\"@odata.context\":\"https://graph.microsoft.com/beta/$metadata#identity/conditionalAccess/namedLocations/$entity\",\"@odata.type\":\"#microsoft.graph.countryNamedLocation\",\"id\":\"1aefaad3-f427-4c97-9683-fead95178e99\",\"displayName\":\"Named location with unknown countries and regions\",\"modifiedDateTime\":\"2022-06-03T19:24:14.6544147Z\",\"createdDateTime\":\"2022-06-03T19:24:14.6544147Z\",\"countriesAndRegions\":[\"US\",\"GB\"],\"includeUnknownCountriesAndRegions\":true,\"countryLookupMethod\":\"clientIpAddress\"}"
66+
}
67+
}
68+
}
Lines changed: 69 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,76 @@
1-
$loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1'
2-
if (-Not (Test-Path -Path $loadEnvPath)) {
3-
$loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1'
4-
}
5-
. ($loadEnvPath)
6-
$TestRecordingFile = Join-Path $PSScriptRoot 'New-MgIdentityConditionalAccessNamedLocation.Recording.json'
7-
$currentPath = $PSScriptRoot
8-
while(-not $mockingPath) {
9-
$mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File
10-
$currentPath = Split-Path -Path $currentPath -Parent
1+
BeforeAll {
2+
$loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1'
3+
if (-Not (Test-Path -Path $loadEnvPath)) {
4+
$loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1'
5+
}
6+
. ($loadEnvPath)
7+
# Set test mode to playback.
8+
$TestMode = 'playback'
9+
$TestRecordingFile = Join-Path $PSScriptRoot 'New-MgIdentityConditionalAccessNamedLocation.Recording.json'
10+
$currentPath = $PSScriptRoot
11+
while(-not $mockingPath) {
12+
$mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File
13+
$currentPath = Split-Path -Path $currentPath -Parent
14+
}
15+
. ($mockingPath | Select-Object -First 1).FullName
16+
17+
Select-MgProfile 'beta'
1118
}
12-
. ($mockingPath | Select-Object -First 1).FullName
1319

1420
Describe 'New-MgIdentityConditionalAccessNamedLocation' {
15-
It 'CreateExpanded1' -skip {
16-
{ throw [System.NotImplementedException] } | Should -Not -Throw
21+
BeforeAll {
22+
$Mock.PushDescription('New-MgIdentityConditionalAccessNamedLocation')
1723
}
1824

19-
It 'Create1' -skip {
20-
{ throw [System.NotImplementedException] } | Should -Not -Throw
25+
Context 'Create' {
26+
It 'Should create an ipNamedLocation' {
27+
$Mock.PushScenario('ShouldCreateAnIpNamedLocation')
28+
$params = @{
29+
"@odata.type" = "#microsoft.graph.ipNamedLocation"
30+
DisplayName = "Untrusted IP named location"
31+
IsTrusted = $false
32+
IpRanges = @(
33+
@{
34+
"@odata.type" = "#microsoft.graph.iPv4CidrRange"
35+
CidrAddress = "12.34.221.11/22"
36+
}
37+
@{
38+
"@odata.type" = "#microsoft.graph.iPv6CidrRange"
39+
CidrAddress = "2001:0:9d38:90d6:0:0:0:0/63"
40+
}
41+
)
42+
}
43+
44+
# Redirect debug stream to variable.
45+
$IpNamedLocation = New-MgIdentityConditionalAccessNamedLocation -BodyParameter $params -Debug -Confirm:$false 5>&1
46+
47+
$IpNamedLocation.DisplayName | Should -Be $params.DisplayName
48+
$IpNamedLocation.AdditionalProperties.ipRanges | Should -HaveCount 2
49+
$HttpRequestLog = $IpNamedLocation | Where-Object { $_ -Like "*HTTP REQUEST*" }
50+
$HttpRequestLog.Message | Should -BeLikeExactly '*"isTrusted": false*'
51+
$HttpRequestLog.Message | Should -BeLikeExactly '*"ipRanges":*'
52+
}
53+
54+
It 'Should create a countryNamedLocation' {
55+
$Mock.PushScenario('ShouldCreateACountryNamedLocation')
56+
$params = @{
57+
"@odata.type" = "#microsoft.graph.countryNamedLocation"
58+
DisplayName = "Named location with unknown countries and regions"
59+
CountriesAndRegions = @(
60+
"US"
61+
"GB"
62+
)
63+
IncludeUnknownCountriesAndRegions = $true
64+
}
65+
66+
# Redirect debug stream to variable.
67+
$CountryNamedLocation = New-MgIdentityConditionalAccessNamedLocation -BodyParameter $params -Debug -Confirm:$false 5>&1
68+
69+
$CountryNamedLocation.DisplayName | Should -Be $params.DisplayName
70+
$CountryNamedLocation.AdditionalProperties.countriesAndRegions | Should -HaveCount 2
71+
$HttpRequestLog = $CountryNamedLocation | Where-Object { $_ -Like "*HTTP REQUEST*" }
72+
$HttpRequestLog.Message | Should -BeLikeExactly '*"includeUnknownCountriesAndRegions": true*'
73+
$HttpRequestLog.Message | Should -BeLikeExactly '*"countriesAndRegions":*'
74+
}
2175
}
2276
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
{
2+
"New-MgIdentityConditionalAccessNamedLocation+[NoContext]+ShouldCreateAnIpNamedLocation+$POST+https://graph.microsoft.com/v1.0/identity/conditionalAccess/namedLocations+1": {
3+
"Request": {
4+
"Method": "POST",
5+
"RequestUri": "https://graph.microsoft.com/v1.0/identity/conditionalAccess/namedLocations",
6+
"Content": "{\r\n \"isTrusted\": false,\r\n \"ipRanges\": [\r\n {\r\n \"CidrAddress\": \"12.34.221.11/22\",\r\n \"@odata.type\": \"#microsoft.graph.iPv4CidrRange\"\r\n },\r\n {\r\n \"CidrAddress\": \"2001:0:9d38:90d6:0:0:0:0/63\",\r\n \"@odata.type\": \"#microsoft.graph.iPv6CidrRange\"\r\n }\r\n ],\r\n \"@odata.type\": \"#microsoft.graph.ipNamedLocation\",\r\n \"displayName\": \"Untrusted IP named location\"\r\n}",
7+
"Headers": {
8+
},
9+
"ContentHeaders": {
10+
"Content-Type": [ "application/json" ],
11+
"Content-Length": [ "385" ]
12+
}
13+
},
14+
"Response": {
15+
"StatusCode": 201,
16+
"Headers": {
17+
"Cache-Control": [ "no-cache" ],
18+
"Transfer-Encoding": [ "chunked" ],
19+
"Location": [ "https://na.prod.graph.ipc.msidentity.com/conditionalAccess/namedLocations(\u002700eabbed-3856-479e-8de4-c2c4bd1768c1\u0027)" ],
20+
"Vary": [ "Accept-Encoding" ],
21+
"Strict-Transport-Security": [ "max-age=31536000" ],
22+
"request-id": [ "17f9929b-59d6-480a-aaeb-c9e121e93c7b" ],
23+
"client-request-id": [ "17f9929b-59d6-480a-aaeb-c9e121e93c7b" ],
24+
"x-ms-ags-diagnostic": [ "{\"ServerInfo\":{\"DataCenter\":\"West US 2\",\"Slice\":\"E\",\"Ring\":\"1\",\"ScaleUnit\":\"001\",\"RoleInstance\":\"MW2PEPF00009119\"}}" ],
25+
"OData-Version": [ "4.0" ],
26+
"Date": [ "Fri, 03 Jun 2022 19:23:59 GMT" ]
27+
},
28+
"ContentHeaders": {
29+
"Content-Type": [ "application/json; odata.metadata=minimal; odata.streaming=true; IEEE754Compatible=false; charset=utf-8" ],
30+
"Content-Encoding": [ "gzip" ]
31+
},
32+
"Content": "{\"@odata.context\":\"https://graph.microsoft.com/v1.0/$metadata#identity/conditionalAccess/namedLocations/$entity\",\"@odata.type\":\"#microsoft.graph.ipNamedLocation\",\"id\":\"00eabbed-3856-479e-8de4-c2c4bd1768c1\",\"displayName\":\"Untrusted IP named location\",\"modifiedDateTime\":\"2022-06-03T19:23:59.6882138Z\",\"createdDateTime\":\"2022-06-03T19:23:59.6882138Z\",\"isTrusted\":false,\"ipRanges\":[{\"@odata.type\":\"#microsoft.graph.iPv4CidrRange\",\"cidrAddress\":\"12.34.221.11/22\"},{\"@odata.type\":\"#microsoft.graph.iPv6CidrRange\",\"cidrAddress\":\"2001:0:9d38:90d6:0:0:0:0/63\"}]}"
33+
}
34+
},
35+
"New-MgIdentityConditionalAccessNamedLocation+[NoContext]+ShouldCreateACountryNamedLocation+$POST+https://graph.microsoft.com/v1.0/identity/conditionalAccess/namedLocations+1": {
36+
"Request": {
37+
"Method": "POST",
38+
"RequestUri": "https://graph.microsoft.com/v1.0/identity/conditionalAccess/namedLocations",
39+
"Content": "{\r\n \"countriesAndRegions\": [ \"US\", \"GB\" ],\r\n \"includeUnknownCountriesAndRegions\": true,\r\n \"@odata.type\": \"#microsoft.graph.countryNamedLocation\",\r\n \"displayName\": \"Named location with unknown countries and regions\"\r\n}",
40+
"Headers": {
41+
},
42+
"ContentHeaders": {
43+
"Content-Type": [ "application/json" ],
44+
"Content-Length": [ "221" ]
45+
}
46+
},
47+
"Response": {
48+
"StatusCode": 201,
49+
"Headers": {
50+
"Cache-Control": [ "no-cache" ],
51+
"Transfer-Encoding": [ "chunked" ],
52+
"Location": [ "https://na.prod.graph.ipc.msidentity.com/conditionalAccess/namedLocations(\u00271c14a6aa-4e2a-44b4-8ba8-ada756528559\u0027)" ],
53+
"Vary": [ "Accept-Encoding" ],
54+
"Strict-Transport-Security": [ "max-age=31536000" ],
55+
"request-id": [ "80c7c0c1-dce3-459c-94f1-2156fbd1540f" ],
56+
"client-request-id": [ "80c7c0c1-dce3-459c-94f1-2156fbd1540f" ],
57+
"x-ms-ags-diagnostic": [ "{\"ServerInfo\":{\"DataCenter\":\"West US 2\",\"Slice\":\"E\",\"Ring\":\"1\",\"ScaleUnit\":\"001\",\"RoleInstance\":\"MW2PEPF00009119\"}}" ],
58+
"OData-Version": [ "4.0" ],
59+
"Date": [ "Fri, 03 Jun 2022 19:24:01 GMT" ]
60+
},
61+
"ContentHeaders": {
62+
"Content-Type": [ "application/json; odata.metadata=minimal; odata.streaming=true; IEEE754Compatible=false; charset=utf-8" ],
63+
"Content-Encoding": [ "gzip" ]
64+
},
65+
"Content": "{\"@odata.context\":\"https://graph.microsoft.com/v1.0/$metadata#identity/conditionalAccess/namedLocations/$entity\",\"@odata.type\":\"#microsoft.graph.countryNamedLocation\",\"id\":\"1c14a6aa-4e2a-44b4-8ba8-ada756528559\",\"displayName\":\"Named location with unknown countries and regions\",\"modifiedDateTime\":\"2022-06-03T19:24:01.5082252Z\",\"createdDateTime\":\"2022-06-03T19:24:01.5082252Z\",\"countriesAndRegions\":[\"US\",\"GB\"],\"includeUnknownCountriesAndRegions\":true,\"countryLookupMethod\":\"clientIpAddress\"}"
66+
}
67+
}
68+
}
Lines changed: 69 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,76 @@
1-
$loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1'
2-
if (-Not (Test-Path -Path $loadEnvPath)) {
3-
$loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1'
4-
}
5-
. ($loadEnvPath)
6-
$TestRecordingFile = Join-Path $PSScriptRoot 'New-MgIdentityConditionalAccessNamedLocation.Recording.json'
7-
$currentPath = $PSScriptRoot
8-
while(-not $mockingPath) {
9-
$mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File
10-
$currentPath = Split-Path -Path $currentPath -Parent
1+
BeforeAll {
2+
$loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1'
3+
if (-Not (Test-Path -Path $loadEnvPath)) {
4+
$loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1'
5+
}
6+
. ($loadEnvPath)
7+
# Set test mode to playback.
8+
$TestMode = 'playback'
9+
$TestRecordingFile = Join-Path $PSScriptRoot 'New-MgIdentityConditionalAccessNamedLocation.Recording.json'
10+
$currentPath = $PSScriptRoot
11+
while(-not $mockingPath) {
12+
$mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File
13+
$currentPath = Split-Path -Path $currentPath -Parent
14+
}
15+
. ($mockingPath | Select-Object -First 1).FullName
16+
17+
Select-MgProfile 'v1.0'
1118
}
12-
. ($mockingPath | Select-Object -First 1).FullName
1319

1420
Describe 'New-MgIdentityConditionalAccessNamedLocation' {
15-
It 'CreateExpanded' -skip {
16-
{ throw [System.NotImplementedException] } | Should -Not -Throw
21+
BeforeAll {
22+
$Mock.PushDescription('New-MgIdentityConditionalAccessNamedLocation')
1723
}
1824

19-
It 'Create' -skip {
20-
{ throw [System.NotImplementedException] } | Should -Not -Throw
25+
Context 'Create' {
26+
It 'Should create an ipNamedLocation' {
27+
$Mock.PushScenario('ShouldCreateAnIpNamedLocation')
28+
$params = @{
29+
"@odata.type" = "#microsoft.graph.ipNamedLocation"
30+
DisplayName = "Untrusted IP named location"
31+
IsTrusted = $false
32+
IpRanges = @(
33+
@{
34+
"@odata.type" = "#microsoft.graph.iPv4CidrRange"
35+
CidrAddress = "12.34.221.11/22"
36+
}
37+
@{
38+
"@odata.type" = "#microsoft.graph.iPv6CidrRange"
39+
CidrAddress = "2001:0:9d38:90d6:0:0:0:0/63"
40+
}
41+
)
42+
}
43+
44+
# Redirect debug stream to variable.
45+
$IpNamedLocation = New-MgIdentityConditionalAccessNamedLocation -BodyParameter $params -Debug -Confirm:$false 5>&1
46+
47+
$IpNamedLocation.DisplayName | Should -Be $params.DisplayName
48+
$IpNamedLocation.AdditionalProperties.ipRanges | Should -HaveCount 2
49+
$HttpRequestLog = $IpNamedLocation | Where-Object { $_ -Like "*HTTP REQUEST*" }
50+
$HttpRequestLog.Message | Should -BeLikeExactly '*"isTrusted": false*'
51+
$HttpRequestLog.Message | Should -BeLikeExactly '*"ipRanges":*'
52+
}
53+
54+
It 'Should create a countryNamedLocation' {
55+
$Mock.PushScenario('ShouldCreateACountryNamedLocation')
56+
$params = @{
57+
"@odata.type" = "#microsoft.graph.countryNamedLocation"
58+
DisplayName = "Named location with unknown countries and regions"
59+
CountriesAndRegions = @(
60+
"US"
61+
"GB"
62+
)
63+
IncludeUnknownCountriesAndRegions = $true
64+
}
65+
66+
# Redirect debug stream to variable.
67+
$CountryNamedLocation = New-MgIdentityConditionalAccessNamedLocation -BodyParameter $params -Debug -Confirm:$false 5>&1
68+
69+
$CountryNamedLocation.DisplayName | Should -Be $params.DisplayName
70+
$CountryNamedLocation.AdditionalProperties.countriesAndRegions | Should -HaveCount 2
71+
$HttpRequestLog = $CountryNamedLocation | Where-Object { $_ -Like "*HTTP REQUEST*" }
72+
$HttpRequestLog.Message | Should -BeLikeExactly '*"includeUnknownCountriesAndRegions": true*'
73+
$HttpRequestLog.Message | Should -BeLikeExactly '*"countriesAndRegions":*'
74+
}
2175
}
2276
}

0 commit comments

Comments
 (0)