Skip to content

Commit 6400f21

Browse files
committed
Adding resourceGroup when listing
1 parent 5c22301 commit 6400f21

File tree

7 files changed

+165
-7
lines changed

7 files changed

+165
-7
lines changed

src/ResourceManager/Automation/Commands.Automation.Test/Commands.ResourceManagement.Automation.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<ProductVersion>
77
</ProductVersion>
88
<SchemaVersion>2.0</SchemaVersion>
9-
<ProjectGuid>{59D1B5DC-9175-43EC-90C6-CBA601B3565F}</ProjectGuid>
9+
<ProjectGuid>{127D0D51-FDEA-4E1A-8CD8-34DEB5C2F7F6}</ProjectGuid>
1010
<OutputType>Library</OutputType>
1111
<AppDesignerFolder>Properties</AppDesignerFolder>
1212
<RootNamespace>Microsoft.Azure.Commands.ResourceManager.Automation.Test</RootNamespace>

src/ResourceManager/TrafficManager/Commands.TrafficManager2.Test/ScenarioTests/ProfileTests.cs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,47 @@ public void TestProfileRemoveNonExisting()
6060
{
6161
TestController.NewInstance.RunPowerShellTest("Test-ProfileRemoveNonExisting");
6262
}
63+
64+
[Fact]
65+
[Trait(Category.AcceptanceType, Category.CheckIn)]
66+
public void TestProfileEnable()
67+
{
68+
TestController.NewInstance.RunPowerShellTest("Test-ProfileEnable");
69+
}
70+
71+
[Fact]
72+
[Trait(Category.AcceptanceType, Category.CheckIn)]
73+
public void TestProfileEnablePipeline()
74+
{
75+
TestController.NewInstance.RunPowerShellTest("Test-ProfileEnablePipeline");
76+
}
77+
78+
[Fact]
79+
[Trait(Category.AcceptanceType, Category.CheckIn)]
80+
public void TestProfileEnableNonExisting()
81+
{
82+
TestController.NewInstance.RunPowerShellTest("Test-ProfileEnableNonExisting");
83+
}
84+
85+
[Fact]
86+
[Trait(Category.AcceptanceType, Category.CheckIn)]
87+
public void TestProfileDisable()
88+
{
89+
TestController.NewInstance.RunPowerShellTest("Test-ProfileDisable");
90+
}
91+
92+
[Fact]
93+
[Trait(Category.AcceptanceType, Category.CheckIn)]
94+
public void TestProfileDisablePipeline()
95+
{
96+
TestController.NewInstance.RunPowerShellTest("Test-ProfileDisablePipeline");
97+
}
98+
99+
[Fact]
100+
[Trait(Category.AcceptanceType, Category.CheckIn)]
101+
public void TestProfileDisableNonExisting()
102+
{
103+
TestController.NewInstance.RunPowerShellTest("Test-ProfileDisableNonExisting");
104+
}
63105
}
64106
}

src/ResourceManager/TrafficManager/Commands.TrafficManager2.Test/ScenarioTests/ProfileTests.ps1

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,4 +139,109 @@ function Test-ProfileRemoveNonExisting
139139

140140
$removed = Remove-AzureTrafficManagerProfile -Name $profileName -ResourceGroupName $resourceGroup.ResourceGroupName -Force
141141
Assert-False { $removed }
142+
}
143+
144+
<#
145+
.SYNOPSIS
146+
Enable existing disabled profile
147+
#>
148+
function Test-ProfileEnable
149+
{
150+
$profileName = getAssetName
151+
$relativeName = getAssetName
152+
$resourceGroup = TestSetup-CreateResourceGroup
153+
154+
$disabledProfile = New-AzureTrafficManagerProfile -Name $profileName -ResourceGroupName $resourceGroup.ResourceGroupName -ProfileStatus "Disabled" -RelativeDnsName $relativeName -Ttl 50 -TrafficRoutingMethod "Performance" -MonitorProtocol "HTTP" -MonitorPort 80 -MonitorPath "/testpath.asp"
155+
Assert-AreEqual "Disabled" $disabledProfile.ProfileStatus
156+
157+
Assert-True { Enable-AzureTrafficManagerProfile -Name $profileName -ResourceGroupName $resourceGroup.ResourceGroupName }
158+
159+
$updatedProfile = Get-AzureTrafficManagerProfile -Name $profileName -ResourceGroupName $resourceGroup.ResourceGroupName
160+
161+
Assert-AreEqual "Enabled" $updatedProfile.ProfileStatus
162+
}
163+
164+
<#
165+
.SYNOPSIS
166+
Enable existing disabled profile using pipeline
167+
#>
168+
function Test-ProfileEnablePipeline
169+
{
170+
$profileName = getAssetName
171+
$relativeName = getAssetName
172+
$resourceGroup = TestSetup-CreateResourceGroup
173+
174+
$disabledProfile = New-AzureTrafficManagerProfile -Name $profileName -ResourceGroupName $resourceGroup.ResourceGroupName -ProfileStatus "Disabled" -RelativeDnsName $relativeName -Ttl 50 -TrafficRoutingMethod "Performance" -MonitorProtocol "HTTP" -MonitorPort 80 -MonitorPath "/testpath.asp"
175+
Assert-AreEqual "Disabled" $disabledProfile.ProfileStatus
176+
177+
Assert-True { Enable-AzureTrafficManagerProfile -TrafficManagerProfile $disabledProfile }
178+
179+
$updatedProfile = Get-AzureTrafficManagerProfile -Name $profileName -ResourceGroupName $resourceGroup.ResourceGroupName
180+
181+
Assert-AreEqual "Enabled" $updatedProfile.ProfileStatus
182+
}
183+
184+
<#
185+
.SYNOPSIS
186+
Enable non existing profile
187+
#>
188+
function Test-ProfileEnableNonExisting
189+
{
190+
$profileName = getAssetName
191+
$resourceGroup = TestSetup-CreateResourceGroup
192+
193+
Assert-Throws { Enable-AzureTrafficManagerProfile -Name $profileName -ResourceGroupName $resourceGroup.ResourceGroupName }
194+
}
195+
196+
<#
197+
.SYNOPSIS
198+
Disable existing disabled profile
199+
#>
200+
function Test-ProfileDisable
201+
{
202+
$profileName = getAssetName
203+
$relativeName = getAssetName
204+
$resourceGroup = TestSetup-CreateResourceGroup
205+
206+
$enabledProfile = New-AzureTrafficManagerProfile -Name $profileName -ResourceGroupName $resourceGroup.ResourceGroupName -ProfileStatus "Enabled" -RelativeDnsName $relativeName -Ttl 50 -TrafficRoutingMethod "Performance" -MonitorProtocol "HTTP" -MonitorPort 80 -MonitorPath "/testpath.asp"
207+
208+
Assert-AreEqual "Enabled" $enabledProfile.ProfileStatus
209+
210+
Assert-True { Disable-AzureTrafficManagerProfile -Name $profileName -ResourceGroupName $resourceGroup.ResourceGroupName -Force }
211+
212+
$updatedProfile = Get-AzureTrafficManagerProfile -Name $profileName -ResourceGroupName $resourceGroup.ResourceGroupName
213+
214+
Assert-AreEqual "Disabled" $updatedProfile.ProfileStatus
215+
}
216+
217+
<#
218+
.SYNOPSIS
219+
Disable existing disabled profile using pipeline
220+
#>
221+
function Test-ProfileDisablePipeline
222+
{
223+
$profileName = getAssetName
224+
$relativeName = getAssetName
225+
$resourceGroup = TestSetup-CreateResourceGroup
226+
227+
$enabledProfile = New-AzureTrafficManagerProfile -Name $profileName -ResourceGroupName $resourceGroup.ResourceGroupName -ProfileStatus "Enabled" -RelativeDnsName $relativeName -Ttl 50 -TrafficRoutingMethod "Performance" -MonitorProtocol "HTTP" -MonitorPort 80 -MonitorPath "/testpath.asp"
228+
Assert-AreEqual "Enabled" $enabledProfile.ProfileStatus
229+
230+
Assert-True { Disable-AzureTrafficManagerProfile -TrafficManagerProfile $enabledProfile -Force }
231+
232+
$updatedProfile = Get-AzureTrafficManagerProfile -Name $profileName -ResourceGroupName $resourceGroup.ResourceGroupName
233+
234+
Assert-AreEqual "Disabled" $updatedProfile.ProfileStatus
235+
}
236+
237+
<#
238+
.SYNOPSIS
239+
Disable non existing profile
240+
#>
241+
function Test-ProfileDisableNonExisting
242+
{
243+
$profileName = getAssetName
244+
$resourceGroup = TestSetup-CreateResourceGroup
245+
246+
Assert-Throws { Disable-AzureTrafficManagerProfile -Name $profileName -ResourceGroupName $resourceGroup.ResourceGroupName -Force }
142247
}

src/ResourceManager/TrafficManager/Commands.TrafficManager2/Models/TrafficManagerProfile.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public Profile ToSDKProfile()
6666
}
6767
};
6868

69-
if (this.Endpoints.Any())
69+
if (this.Endpoints != null && this.Endpoints.Any())
7070
{
7171
profile.Properties.Endpoints = this.Endpoints.Select(endpoint => endpoint.ToSDKEndpoint()).ToList();
7272
}

src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/DisableAzureTrafficManagerProfile.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public override void ExecuteCmdlet()
6060
this.Force.IsPresent,
6161
string.Format(ProjectResources.Confirm_DisableProfile, profileToDisable.Name),
6262
ProjectResources.Progress_DisablingProfile,
63-
this.Name,
63+
profileToDisable.Name,
6464
() => { disabled = this.TrafficManagerClient.EnableDisableTrafficManagerProfile(profileToDisable, shouldEnableProfileStatus: false); });
6565

6666
if (disabled)

src/ResourceManager/TrafficManager/Commands.TrafficManager2/Profile/GetAzureTrafficManagerProfile.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@ public override void ExecuteCmdlet()
3939
}
4040
else if (this.ResourceGroupName != null && this.Name != null)
4141
{
42-
TrafficManagerProfile profile =
43-
this.TrafficManagerClient.GetTrafficManagerProfile(this.ResourceGroupName, this.Name);
42+
TrafficManagerProfile profile = this.TrafficManagerClient.GetTrafficManagerProfile(this.ResourceGroupName, this.Name);
4443

4544
this.WriteVerbose(ProjectResources.Success);
4645
this.WriteObject(profile);

src/ResourceManager/TrafficManager/Commands.TrafficManager2/Utilities/TrafficManagerClient.cs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public TrafficManagerProfile[] ListTrafficManagerProfiles(string resourceGroupNa
135135
this.TrafficManagerManagementClient.Profiles.ListAllInResourceGroup(resourceGroupName);
136136

137137
return response.Profiles.Select(profile => TrafficManagerClient.GetPowershellTrafficManagerProfile(
138-
resourceGroupName,
138+
resourceGroupName ?? TrafficManagerClient.ExtractResourceGroupFromId(profile.Id),
139139
profile.Name,
140140
profile.Properties)).ToArray();
141141
}
@@ -200,9 +200,15 @@ public bool EnableDisableTrafficManagerProfile(TrafficManagerProfile profile, bo
200200
{
201201
profile.ProfileStatus = shouldEnableProfileStatus ? Constants.StatusEnabled : Constants.StatusDisabled;
202202

203+
Profile sdkProfile = profile.ToSDKProfile();
204+
sdkProfile.Properties.DnsConfig = null;
205+
sdkProfile.Properties.Endpoints = null;
206+
sdkProfile.Properties.TrafficRoutingMethod = null;
207+
sdkProfile.Properties.MonitorConfig = null;
208+
203209
var parameters = new ProfileUpdateParameters
204210
{
205-
Profile = profile.ToSDKProfile()
211+
Profile = sdkProfile
206212
};
207213

208214
AzureOperationResponse response = this.TrafficManagerManagementClient.Profiles.Update(profile.ResourceGroupName, profile.Name, parameters);
@@ -235,6 +241,7 @@ private static TrafficManagerProfile GetPowershellTrafficManagerProfile(string r
235241
{
236242
Name = profileName,
237243
ResourceGroupName = resourceGroupName,
244+
ProfileStatus = mamlProfileProperties.ProfileStatus,
238245
RelativeDnsName = mamlProfileProperties.DnsConfig.RelativeName,
239246
Ttl = mamlProfileProperties.DnsConfig.Ttl,
240247
TrafficRoutingMethod = mamlProfileProperties.TrafficRoutingMethod,
@@ -265,6 +272,11 @@ private static TrafficManagerProfile GetPowershellTrafficManagerProfile(string r
265272
return profile;
266273
}
267274

275+
private static string ExtractResourceGroupFromId(string id)
276+
{
277+
return id.Split('/')[4];
278+
}
279+
268280
private static TrafficManagerEndpoint GetPowershellTrafficManagerEndpoint(string resourceGroupName, string profileName, string endpointType, string endpointName, EndpointProperties mamlEndpointProperties)
269281
{
270282
return new TrafficManagerEndpoint

0 commit comments

Comments
 (0)