@@ -101,13 +101,11 @@ function Test-AliasRecordSet
101
101
# non alias record
102
102
$record = $zone | New-AzureRmDnsRecordSet - Name $recordName - Ttl 100 - RecordType $recordType - DnsRecords @ ()
103
103
$record = $record | Add-AzureRmDnsRecordConfig - Ipv4Address 1.1 .1.1
104
- $record = $record | Add-AzureRmDnsRecordConfig - Ipv4Address 2.2 .2.2
105
104
$record = $record | Set-AzureRmDnsRecordSet
106
105
107
106
# alias record pointing to non-alias record
108
107
$aliasRecordName = " alias" + $ (getAssetname)
109
- $aliasResourceId = " /subscriptions/$subscription /resourceGroups/$ ( $resourceGroup.ResourceGroupName ) /providers/Microsoft.Network/dnszones/$zoneName /$ ( $record.RecordType ) /$ ( $record.Name ) "
110
- $createdRecord = New-AzureRmDnsRecordSet - Name $aliasRecordName - ZoneName $zoneName - ResourceGroupName $resourceGroup.ResourceGroupName - RecordType $recordType - AliasTargetResourceId $aliasResourceId
108
+ $createdRecord = New-AzureRmDnsRecordSet - Name $aliasRecordName - ZoneName $zoneName - ResourceGroupName $resourceGroup.ResourceGroupName - RecordType $recordType - TargetResourceId $record.Id
111
109
112
110
Assert-NotNull $createdRecord
113
111
Assert-AreEqual $zoneName $createdRecord.ZoneName
@@ -116,17 +114,73 @@ function Test-AliasRecordSet
116
114
117
115
$aliasRecord = $zone | Get-AzureRmDnsRecordSet - Name $aliasRecordName - RecordType $recordType
118
116
$nonaliasRecord = $zone | Get-AzureRmDnsRecordSet - Name $recordName - RecordType $recordType
119
- Assert-AreEqual $aliasResourceId $aliasRecord.AliasTargetResourceId
117
+ Assert-AreEqual $record .Id $aliasRecord.TargetResourceId
120
118
121
119
$nonaliasRecord | Remove-AzureRmDnsRecordSet
122
120
123
121
Assert-ThrowsLike { Get-AzureRmDnsRecordSet - Name $recordName - ZoneName $zoneName - ResourceGroupName $resourceGroup.ResourceGroupName - RecordType $recordType } " *does not exist*"
122
+
123
+ $aliasRecord = $zone | Get-AzureRmDnsRecordSet - Name $aliasRecordName - RecordType $recordType
124
+ Assert-Null $nonaliasRecord.TargetResourceId
125
+ $aliasRecord | Remove-AzureRmDnsRecordSet
126
+
124
127
Assert-ThrowsLike { Get-AzureRmDnsRecordSet - Name $aliasRecordName - ZoneName $zoneName - ResourceGroupName $resourceGroup.ResourceGroupName - RecordType $recordType } " *does not exist*"
125
128
126
129
Remove-AzureRmDnsZone - Name $zoneName - ResourceGroupName $resourceGroup.ResourceGroupName - Confirm:$false
127
130
Remove-AzureRmResourceGroup - Name $resourceGroup.ResourceGroupName - Force
128
131
}
129
132
133
+ <#
134
+ . SYNOPSIS
135
+ Test Resource Reference API
136
+ #>
137
+ function Test-ResourceReference
138
+ {
139
+ $zoneName = Get-RandomZoneName
140
+ $recordName = getAssetname
141
+ $subscription = getSubscription
142
+ $resourceGroup = TestSetup- CreateResourceGroup
143
+ $recordType = " A"
144
+ $zone = $resourceGroup | New-AzureRmDnsZone - Name $zoneName
145
+
146
+ # non alias record
147
+ $record = $zone | New-AzureRmDnsRecordSet - Name $recordName - Ttl 100 - RecordType $recordType - DnsRecords @ ()
148
+ $record = $record | Add-AzureRmDnsRecordConfig - Ipv4Address 1.1 .1.1
149
+ $record = $record | Set-AzureRmDnsRecordSet
150
+
151
+ $ref = Get-AzureRmDnsResourceReference - ResourceId $record.Id
152
+ Assert-AreEqual $ref.DnsResources.Count 0
153
+ Assert-AreEqual $ref.TargetResource.Id $record.Id
154
+
155
+ # alias record pointing to non-alias record
156
+ $aliasRecordName = " alias" + $ (getAssetname)
157
+ $alias1 = New-AzureRmDnsRecordSet - Name $aliasRecordName - ZoneName $zoneName - ResourceGroupName $resourceGroup.ResourceGroupName - RecordType $recordType - TargetResourceId $record.Id
158
+
159
+ Assert-NotNull $alias1
160
+ Assert-AreEqual $zoneName $alias1.ZoneName
161
+ Assert-AreEqual $aliasRecordName $alias1.Name
162
+ Assert-AreEqual $resourceGroup.ResourceGroupName $alias1.ResourceGroupName
163
+ Assert-AreEqual $alias1.TargetResourceId $record.Id
164
+
165
+ $aliasRecordName2 = " alias" + $ (getAssetname)
166
+ $alias2 = New-AzureRmDnsRecordSet - Name $aliasRecordName2 - ZoneName $zoneName - ResourceGroupName $resourceGroup.ResourceGroupName - RecordType $recordType - TargetResourceId $record.Id
167
+
168
+ Assert-NotNull $alias2
169
+ Assert-AreEqual $zoneName $alias2.ZoneName
170
+ Assert-AreEqual $aliasRecordName2 $alias2.Name
171
+ Assert-AreEqual $resourceGroup.ResourceGroupName $alias2.ResourceGroupName
172
+ Assert-AreEqual $alias2.TargetResourceId $record.Id
173
+
174
+ $ref = Get-AzureRmDnsResourceReference - ResourceId $record.Id
175
+ Assert-AreEqual $ref.DnsResources.Count 2
176
+ Assert-True { $ref.DnsResources.Id -contains $alias1.Id }
177
+ Assert-True { $ref.DnsResources.Id -contains $alias2.Id }
178
+ Assert-AreEqual $ref.TargetResource.Id $record.Id
179
+
180
+ Remove-AzureRmDnsZone - Name $zoneName - ResourceGroupName $resourceGroup.ResourceGroupName - Confirm:$false
181
+ Remove-AzureRmResourceGroup - Name $resourceGroup.ResourceGroupName - Force
182
+ }
183
+
130
184
<#
131
185
. SYNOPSIS
132
186
Full Record Set CRUD cycle trims terminating dot from zone name
0 commit comments