Skip to content

Commit 11c4c09

Browse files
committed
Merge pull request #761 from MabOneSdk/release
Azure Backup
2 parents 1eac61d + 9dd6c1b commit 11c4c09

File tree

102 files changed

+20360
-549
lines changed

Some content is hidden

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

102 files changed

+20360
-549
lines changed

ChangeLog.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,23 @@
2727
* Added Restart-AzureRemoteAppVm cmdlet
2828
* Azure HDInsight cmdlets
2929
* Added cmdlet help
30+
* Azure Backup - added the following cmdlets
31+
* Backup-AzureRMBackupItem
32+
* Register-AzureRMBackupContainer
33+
* Disable-AzureRMBackupProtection
34+
* Enable-AzureRMBackupProtection
35+
* Get-AzureRMBackupItem
36+
* Get-AzureRMBackupJob
37+
* Get-AzureRMBackupJobDetails
38+
* Stop-AzureRMBackupJob
39+
* Wait-AzureRMBackupJob
40+
* Get-AzureRMBackupProtectionPolicy
41+
* New-AzureRMBackupProtectionPolicy
42+
* New-AzureRMBackupRetentionPolicyObject
43+
* Remove-AzureRMBackupProtectionPolicy
44+
* Set-AzureRMBackupProtectionPolicy
45+
* Get-AzureRMBackupRecoveryPoint
46+
* Restore-AzureRMBackupItem
3047

3148
## 2015.08.07 version 0.9.6
3249
* Azure Batch cmdlets

setup/azurecmdfiles.wxi

Lines changed: 0 additions & 92 deletions
Large diffs are not rendered by default.

src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/App.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<configuration>
33
<appSettings>
4-
<add key="ResourceName" value="backuprn1" />
4+
<add key="ResourceName" value="backuprn" />
55
<add key="ResourceGroupName" value="backuprg" />
66
<add key="ResourceId" value="7368183945769329045" />
77
<add key="ClientSettingsProvider.ServiceUri" value="" />

src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/Commands.AzureBackup.Test.csproj

Lines changed: 84 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@
3939
<SpecificVersion>False</SpecificVersion>
4040
<HintPath>..\..\..\packages\Microsoft.Azure.Common.Authentication.1.1.3-preview\lib\net45\Microsoft.Azure.Common.Authentication.dll</HintPath>
4141
</Reference>
42-
<Reference Include="Microsoft.Azure.Management.BackupServicesManagement, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
42+
<Reference Include="Microsoft.Azure.Management.BackupServicesManagement, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
4343
<SpecificVersion>False</SpecificVersion>
44-
<HintPath>..\..\..\packages\Microsoft.Azure.Management.BackupServices.1.0.2-preview\lib\net40\Microsoft.Azure.Management.BackupServicesManagement.dll</HintPath>
44+
<HintPath>..\..\..\packages\Microsoft.Azure.Management.BackupServices.1.0.3-preview\lib\net40\Microsoft.Azure.Management.BackupServicesManagement.dll</HintPath>
4545
</Reference>
4646
<Reference Include="Microsoft.Azure.ResourceManager, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
4747
<SpecificVersion>False</SpecificVersion>
@@ -133,11 +133,18 @@
133133
</ItemGroup>
134134
<ItemGroup>
135135
<Compile Include="ScenarioTests\AzureBackupContainerTests.cs" />
136+
<Compile Include="ScenarioTests\AzureBackupItemTestCases.cs" />
137+
<Compile Include="ScenarioTests\AzureBackupJobTests.cs" />
138+
<Compile Include="ScenarioTests\AzureBackupPolicyTests.cs" />
139+
<Compile Include="ScenarioTests\AzureBackupScenarioTests.cs" />
136140
<Compile Include="ScenarioTests\AzureBackupTestBase.cs" />
137141
<Compile Include="Properties\AssemblyInfo.cs" />
138142
<Compile Include="ScenarioTests\AzureBackupVaultTests.cs">
139143
<SubType>Code</SubType>
140144
</Compile>
145+
<Compile Include="ScenarioTests\BackupItemTests.cs" />
146+
<Compile Include="ScenarioTests\RecoveryPointTests.cs" />
147+
<Compile Include="ScenarioTests\RestoreItemTests.cs" />
141148
</ItemGroup>
142149
<ItemGroup>
143150
<ProjectReference Include="..\..\..\Common\Commands.Common\Commands.Common.csproj">
@@ -166,15 +173,90 @@
166173
<None Include="ScenarioTests\AzureBackupContainerTests.ps1">
167174
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
168175
</None>
176+
<None Include="ScenarioTests\AzureBackupItemTestCases.ps1">
177+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
178+
</None>
179+
<None Include="ScenarioTests\AzureBackupJobTests.ps1">
180+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
181+
</None>
182+
<None Include="ScenarioTests\AzureBackupPolicyTests.ps1">
183+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
184+
</None>
185+
<None Include="ScenarioTests\AzureBackupScenarioTests.ps1">
186+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
187+
</None>
169188
<None Include="ScenarioTests\AzureBackupVaultTests.ps1">
170189
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
171190
</None>
191+
<None Include="ScenarioTests\BackupItemTests.ps1">
192+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
193+
</None>
194+
<None Include="ScenarioTests\RecoveryPointTests.ps1">
195+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
196+
</None>
197+
<None Include="ScenarioTests\RestoreItemTests.ps1">
198+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
199+
</None>
200+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupContainerTests\AzureBackupContainerScenarioTests.json">
201+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
202+
</None>
172203
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupContainerTests\AzureBackupMarsContainerScenarioTests.json">
173204
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
174205
</None>
206+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupContainerTests\AzureBackupRegisterContainerScenarioTests.json">
207+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
208+
</None>
209+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupContainerTests\AzureBackupUnregisterContainerScenarioTests.json">
210+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
211+
</None>
212+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupItemTestCases\DisableAzureBackupProtectionTest.json">
213+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
214+
</None>
215+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupItemTestCases\EnableAzureBackupProtectionTest.json">
216+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
217+
</None>
218+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupItemTestCases\ListAzureBackupItemTests.json">
219+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
220+
</None>
221+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupJobTests\GetAzureRMBackupJobTests.json">
222+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
223+
</None>
224+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupJobTests\StopAzureRMBackupJobTests.json">
225+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
226+
</None>
227+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupPolicyTests\ListProtectionPolicyByNameTests.json">
228+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
229+
</None>
230+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupPolicyTests\ListProtectionPolicyTests.json">
231+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
232+
</None>
233+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupPolicyTests\NewProtectionPolicyTests.json">
234+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
235+
</None>
236+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupPolicyTests\RemoveProtectionPolicyTests.json">
237+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
238+
</None>
239+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupPolicyTests\SetProtectionPolicyTests.json">
240+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
241+
</None>
242+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupScenarioTests\AzureBackupEndToEndTests.json">
243+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
244+
</None>
175245
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.AzureBackupVaultTests\AzureBackupVaultScenarioTests.json">
176246
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
177247
</None>
248+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.BackupItemTests\BackUpAzureBackUpItem.json">
249+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
250+
</None>
251+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.RecoveryPointTests\GetRecoveryPointsTests.json">
252+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
253+
</None>
254+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.RecoveryPointTests\GetRecoveryPointTests.json">
255+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
256+
</None>
257+
<None Include="SessionRecords\Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests.RestoreItemTests\RestoreAzureBackUpItem.json">
258+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
259+
</None>
178260
</ItemGroup>
179261
<ItemGroup />
180262
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/ScenarioTests/AzureBackupContainerTests.cs

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,6 @@
1313
// ----------------------------------------------------------------------------------
1414

1515
using Microsoft.WindowsAzure.Commands.ScenarioTest;
16-
using System;
17-
using System.Collections.Generic;
18-
using System.Linq;
19-
using System.Text;
20-
using System.Threading.Tasks;
2116
using Xunit;
2217

2318
namespace Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests
@@ -29,6 +24,27 @@ public class AzureBackupContainerTests : AzureBackupTestsBase
2924
public void AzureBackupMarsContainerScenarioTests()
3025
{
3126
this.RunPowerShellTest("Test-AzureBackupMarsContainerScenario");
32-
}
27+
}
28+
29+
[Fact]
30+
[Trait(Category.AcceptanceType, Category.CheckIn)]
31+
public void AzureBackupRegisterContainerScenarioTests()
32+
{
33+
this.RunPowerShellTest("Test-RegisterAzureBackupContainer");
34+
}
35+
36+
[Fact]
37+
[Trait(Category.AcceptanceType, Category.CheckIn)]
38+
public void AzureBackupUnregisterContainerScenarioTests()
39+
{
40+
this.RunPowerShellTest("Test-UnregisterAzureBackupContainer");
41+
}
42+
43+
[Fact]
44+
[Trait(Category.AcceptanceType, Category.CheckIn)]
45+
public void AzureBackupContainerScenarioTests()
46+
{
47+
this.RunPowerShellTest("Test-AzureBackupContainerScenario");
48+
}
3349
}
3450
}

src/ResourceManager/AzureBackup/Commands.AzureBackup.Test/ScenarioTests/AzureBackupContainerTests.ps1

Lines changed: 83 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -13,39 +13,93 @@
1313
# ----------------------------------------------------------------------------------
1414

1515
$ResourceGroupName = "backuprg"
16-
$ResourceName = "backuprn1"
16+
$ResourceName = "backuprn"
1717
$ContainerName = "DPMDRSCALEINT1.DPMDOM02.SELFHOST.CORP.MICROSOFT.COM"
1818
$ContainerType = "Windows"
19-
$ContainerId = "10034"
19+
$ContainerId = "223719"
2020
$ContainerStatus = "Registered"
2121

2222
function Test-AzureBackupMarsContainerScenario
2323
{
24-
$vault = Get-AzureBackupVault -ResourceGroupName $ResourceGroupName -Name $ResourceName
25-
26-
$containers = Get-AzureBackupContainer -vault $vault -type $ContainerType
27-
Assert-AreEqual $containers[0].ContainerType $ContainerType;
28-
Assert-AreEqual $containers[0].Id $ContainerId;
29-
Assert-AreEqual $containers[0].Location $vault.Region;
30-
Assert-AreEqual $containers[0].Name $ContainerName;
31-
Assert-AreEqual $containers[0].ResourceGroupName $vault.ResourceGroupName;
32-
Assert-AreEqual $containers[0].ResourceName $vault.Name;
33-
Assert-AreEqual $containers[0].Status $ContainerStatus;
34-
35-
$namedContainers = Get-AzureBackupContainer -vault $vault -type $ContainerType -name $ContainerName
36-
$container = $namedContainers[0];
37-
Assert-AreEqual $container.ContainerType $ContainerType;
38-
Assert-AreEqual $container.Id $ContainerId;
39-
Assert-AreEqual $container.Location $vault.Region;
40-
Assert-AreEqual $container.Name $ContainerName;
41-
Assert-AreEqual $container.ResourceGroupName $vault.ResourceGroupName;
42-
Assert-AreEqual $container.ResourceName $vault.Name;
43-
Assert-AreEqual $container.Status $ContainerStatus;
44-
45-
Enable-AzureBackupContainerReregistration -Container $container
46-
47-
Unregister-AzureBackupContainer -Container $container -Force
48-
49-
$unregContainers = Get-AzureBackupContainer -vault $vault -type $ContainerType -name $ContainerName
50-
Assert-AreEqual $unregContainers.Count 0;
24+
$vault = Get-AzureRMBackupVault -ResourceGroupName $ResourceGroupName -Name $ResourceName
25+
26+
$containers = Get-AzureRMBackupContainer -vault $vault -type $ContainerType
27+
Assert-AreEqual $containers[0].ContainerType $ContainerType;
28+
Assert-AreEqual $containers[0].Id $ContainerId;
29+
Assert-AreEqual $containers[0].Location $vault.Region;
30+
Assert-AreEqual $containers[0].Name $ContainerName;
31+
Assert-AreEqual $containers[0].ResourceGroupName $vault.ResourceGroupName;
32+
Assert-AreEqual $containers[0].ResourceName $vault.Name;
33+
Assert-AreEqual $containers[0].Status $ContainerStatus;
34+
35+
$namedContainers = Get-AzureRMBackupContainer -vault $vault -type $ContainerType -name $ContainerName
36+
$container = $namedContainers[0];
37+
Assert-AreEqual $container.ContainerType $ContainerType;
38+
Assert-AreEqual $container.Id $ContainerId;
39+
Assert-AreEqual $container.Location $vault.Region;
40+
Assert-AreEqual $container.Name $ContainerName;
41+
Assert-AreEqual $container.ResourceGroupName $vault.ResourceGroupName;
42+
Assert-AreEqual $container.ResourceName $vault.Name;
43+
Assert-AreEqual $container.Status $ContainerStatus;
44+
45+
Enable-AzureRMBackupContainerReregistration -Container $container
46+
47+
Unregister-AzureRMBackupContainer -Container $container -Force
48+
49+
$unregContainers = Get-AzureRMBackupContainer -vault $vault -type $ContainerType -name $ContainerName
50+
Assert-AreEqual $unregContainers.Count 0;
51+
}
52+
53+
$IaasVMManagedResourceName = "hydrarecordvm"
54+
$IaasVMManagedResourceGroupName = "hydrarecordvm"
55+
$VaultResourceName = "backuprn"
56+
$VaultResourceRGName = "backuprg"
57+
$RegisterTestVM = "powershellbvt"
58+
59+
60+
function Test-RegisterAzureBackupContainer
61+
{
62+
$vault = Get-AzureRMBackupVault -Name $VaultResourceName
63+
$jobId = Register-AzureRMBackupContainer -vault $vault -Name $RegisterTestVM -ServiceName $RegisterTestVM
64+
65+
Assert-NotNull $jobId 'Job should not be null';
66+
}
67+
68+
69+
function Test-UnregisterAzureBackupContainer
70+
{
71+
$vault = Get-AzureRMBackupVault -Name $VaultResourceName
72+
$container = Get-AzureRMBackupContainer -Name $IaasVMManagedResourceName -Type AzureVM -ManagedResourceGroupName $IaasVMManagedResourceGroupName -Vault $vault
73+
$jobId = Unregister-AzureRMBackupContainer -Container $container
74+
75+
Assert-NotNull $jobId 'Job should not be null';
5176
}
77+
78+
$BMSContainerType = "AzureVM"
79+
$BMSContainerUniqueName = "iaasvmcontainer;hydrarecordvm;hydrarecordvm"
80+
$BMSContainerName = "hydrarecordvm"
81+
$BMSContainerStatus = "Registered"
82+
83+
function Test-AzureBackupContainerScenario
84+
{
85+
$vault = Get-AzureRMBackupVault -ResourceGroupName $ResourceGroupName -Name $ResourceName
86+
87+
$containers = Get-AzureRMBackupContainer -vault $vault -type $BMSContainerType
88+
Assert-AreEqual $containers[0].ContainerType $BMSContainerType;
89+
Assert-AreEqual $containers[0].ContainerUniqueName $BMSContainerUniqueName;
90+
Assert-AreEqual $containers[0].Location $vault.Region;
91+
Assert-AreEqual $containers[0].Name $BMSContainerName;
92+
Assert-AreEqual $containers[0].ResourceGroupName $vault.ResourceGroupName;
93+
Assert-AreEqual $containers[0].ResourceName $vault.Name;
94+
Assert-AreEqual $containers[0].Status $BMSContainerStatus;
95+
96+
$namedContainers = Get-AzureRMBackupContainer -vault $vault -type $BMSContainerType -name $BMSContainerName
97+
$container = $namedContainers[0];
98+
Assert-AreEqual $container.ContainerType $BMSContainerType;
99+
Assert-AreEqual $container.ContainerUniqueName $BMSContainerUniqueName;
100+
Assert-AreEqual $container.Location $vault.Region;
101+
Assert-AreEqual $container.Name $BMSContainerName;
102+
Assert-AreEqual $container.ResourceGroupName $vault.ResourceGroupName;
103+
Assert-AreEqual $container.ResourceName $vault.Name;
104+
Assert-AreEqual $container.Status $BMSContainerStatus;
105+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
// ----------------------------------------------------------------------------------
2+
//
3+
// Copyright Microsoft Corporation
4+
// Licensed under the Apache License, Version 2.0 (the "License");
5+
// you may not use this file except in compliance with the License.
6+
// You may obtain a copy of the License at
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
// Unless required by applicable law or agreed to in writing, software
9+
// distributed under the License is distributed on an "AS IS" BASIS,
10+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
// See the License for the specific language governing permissions and
12+
// limitations under the License.
13+
// ----------------------------------------------------------------------------------
14+
15+
using Microsoft.WindowsAzure.Commands.ScenarioTest;
16+
using Xunit;
17+
18+
namespace Microsoft.Azure.Commands.AzureBackup.Test.ScenarioTests
19+
{
20+
public class AzureBackupItemTestCases : AzureBackupTestsBase
21+
{
22+
[Fact]
23+
[Trait(Category.AcceptanceType, Category.CheckIn)]
24+
public void ListAzureBackupItemTests()
25+
{
26+
this.RunPowerShellTest("Test-GetAzureBackupItemTests");
27+
}
28+
29+
[Fact]
30+
[Trait(Category.AcceptanceType, Category.CheckIn)]
31+
public void EnableAzureBackupProtectionTest()
32+
{
33+
this.RunPowerShellTest("Test-EnableAzureBackupProtection");
34+
}
35+
36+
[Fact]
37+
[Trait(Category.AcceptanceType, Category.CheckIn)]
38+
public void DisableAzureBackupProtectionTest()
39+
{
40+
this.RunPowerShellTest("Test-DisableAzureBackupProtection");
41+
}
42+
}
43+
}

0 commit comments

Comments
 (0)