Skip to content

huangpf PR: dev <- Azure:dev #561

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Jun 24, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
// limitations under the License.
// ----------------------------------------------------------------------------------

using System;
using System.Management.Automation;
using Microsoft.Azure.Commands.Batch.Models;
using Microsoft.WindowsAzure.Commands.ScenarioTest;
Expand Down Expand Up @@ -68,23 +69,46 @@ public void UploadBatchApplicationPackageTest()

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void ActivateApplicationPackage()
public void UploadBatchApplicationPackageNoFilePathProvidedTest()
{
string accountName = "account01";
string resourceGroup = "resourceGroup";
string applicationId = "applicationId";
string version = "version";
string format = "zip";
string filePath = "";

cmdlet.BatchClient = new BatchClient();

cmdlet.AccountName = accountName;
cmdlet.ResourceGroupName = resourceGroup;
cmdlet.ApplicationId = applicationId;
cmdlet.ApplicationVersion = version;
cmdlet.FilePath = filePath;
cmdlet.Format = format;
cmdlet.ActivateOnly = false;

Assert.Throws<ArgumentNullException>(() => cmdlet.ExecuteCmdlet());

}

[Fact]
[Trait(Category.AcceptanceType, Category.CheckIn)]
public void ActivateApplicationPackageOnly()
{
string accountName = "account01";
string resourceGroup = "resourceGroup";
string applicationId = "applicationId";
string filePath = "~/fake/filepath";
string version = "version";
string format = "zip";

PSApplicationPackage applicationPackageResponse = new PSApplicationPackage();

batchClientMock.Setup(b => b.UploadAndActivateApplicationPackage(resourceGroup, accountName, applicationId, version, filePath, format, true)).Returns(applicationPackageResponse);
batchClientMock.Setup(b => b.UploadAndActivateApplicationPackage(resourceGroup, accountName, applicationId, version, null, format, true)).Returns(applicationPackageResponse);

cmdlet.AccountName = accountName;
cmdlet.ResourceGroupName = resourceGroup;
cmdlet.ApplicationId = applicationId;
cmdlet.FilePath = filePath;
cmdlet.ApplicationVersion = version;
cmdlet.Format = format;
cmdlet.ActivateOnly = true;
Expand All @@ -93,7 +117,7 @@ public void ActivateApplicationPackage()
commandRuntimeMock.Setup(f => f.ShouldProcess(It.IsAny<string>(), It.IsAny<string>())).Returns(true);
cmdlet.ExecuteCmdlet();

batchClientMock.Verify(b => b.UploadAndActivateApplicationPackage(resourceGroup, accountName, applicationId, version, filePath, format, true), Times.Once());
batchClientMock.Verify(b => b.UploadAndActivateApplicationPackage(resourceGroup, accountName, applicationId, version, null, format, true), Times.Once());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,7 @@ public void TestCreatePoolWithApplicationPackage()
{
return new string[]
{
string.Format(string.Format("Test-CreatePoolWithApplicationPackage '{0}' '{1}' '{2}' '{3}'", id, version,
poolId, filePath))
string.Format(string.Format("Test-CreatePoolWithApplicationPackage '{0}' '{1}' '{2}'", id, version, poolId))
};
},
() =>
Expand Down Expand Up @@ -130,8 +129,7 @@ public void TestUpdatePoolWithApplicationPackage()
{
return new string[]
{
string.Format("Test-UpdatePoolWithApplicationPackage '{0}' '{1}' '{2}' '{3}'", id, version,
poolId, filePath)
string.Format("Test-UpdatePoolWithApplicationPackage '{0}' '{1}' '{2}'", id, version, poolId)
};
},
() =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ function Test-UploadApplicationPackage
# Setup
$context = New-Object Microsoft.Azure.Commands.Batch.Test.ScenarioTests.ScenarioTestContext

$addAppPack = New-AzureRmBatchApplicationPackage -ResourceGroupName $context.ResourceGroupName -AccountName $context.AccountName -ApplicationId $applicationId -ApplicationVersion $applicationVersion -FilePath $filePath -format "zip" -Activate
$addAppPack = New-AzureRmBatchApplicationPackage -ResourceGroupName $context.ResourceGroupName -AccountName $context.AccountName -ApplicationId $applicationId -ApplicationVersion $applicationVersion -format "zip" -ActivateOnly

Assert-AreEqual $applicationId $addAppPack.Id
Assert-AreEqual $applicationVersion $addAppPack.Version
Expand All @@ -68,7 +68,7 @@ function Test-UpdateApplicationPackage

$beforeUpdateApp = Get-AzureRmBatchApplication -ResourceGroupName $context.ResourceGroupName -AccountName $context.AccountName -ApplicationId $applicationId

$addAppPack = New-AzureRmBatchApplicationPackage -ResourceGroupName $context.ResourceGroupName -AccountName $context.AccountName -ApplicationId $applicationId -ApplicationVersion $applicationVersion -FilePath $filePath -format "zip" -Activate
$addAppPack = New-AzureRmBatchApplicationPackage -ResourceGroupName $context.ResourceGroupName -AccountName $context.AccountName -ApplicationId $applicationId -ApplicationVersion $applicationVersion -format "zip" -ActivateOnly
Set-AzureRmBatchApplication -ResourceGroupName $context.ResourceGroupName -AccountName $context.AccountName -ApplicationId $applicationId -displayName $newDisplayName -defaultVersion $applicationVersion

$afterUpdateApp = Get-AzureRmBatchApplication -ResourceGroupName $context.ResourceGroupName -AccountName $context.AccountName -ApplicationId $applicationId
Expand All @@ -91,7 +91,7 @@ function Test-CreatePoolWithApplicationPackage

try
{
$addAppPack = New-AzureRmBatchApplicationPackage -ResourceGroupName $context.ResourceGroupName -AccountName $context.AccountName -ApplicationId $applicationId -ApplicationVersion $applicationVersion -FilePath $filePath -format "zip" -Activate
$addAppPack = New-AzureRmBatchApplicationPackage -ResourceGroupName $context.ResourceGroupName -AccountName $context.AccountName -ApplicationId $applicationId -ApplicationVersion $applicationVersion -format "zip" -ActivateOnly

Assert-AreEqual $applicationId $addAppPack.Id
Assert-AreEqual $applicationVersion $addAppPack.Version
Expand Down Expand Up @@ -126,7 +126,7 @@ function Test-UpdatePoolWithApplicationPackage

$context = New-Object Microsoft.Azure.Commands.Batch.Test.ScenarioTests.ScenarioTestContext

$addAppPack = New-AzureRmBatchApplicationPackage -ResourceGroupName $context.ResourceGroupName -AccountName $context.AccountName -ApplicationId $applicationId -ApplicationVersion $applicationVersion -FilePath $filePath -format "zip" -Activate
$addAppPack = New-AzureRmBatchApplicationPackage -ResourceGroupName $context.ResourceGroupName -AccountName $context.AccountName -ApplicationId $applicationId -ApplicationVersion $applicationVersion -format "zip" -ActivateOnly

Assert-AreEqual $applicationId $addAppPack.Id
Assert-AreEqual $applicationVersion $addAppPack.Version
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,34 +19,42 @@

namespace Microsoft.Azure.Commands.Batch
{
[Cmdlet(VerbsCommon.New, Constants.AzureRmBatchApplicationPackage), OutputType(typeof(PSApplicationPackage))]
[Cmdlet(VerbsCommon.New, Constants.AzureRmBatchApplicationPackage, DefaultParameterSetName = UploadAndActivateSet), OutputType(typeof(PSApplicationPackage))]
public class NewBatchApplicationPackageCommand : BatchCmdletBase
{
[Parameter(Position = 0, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the name of the Batch account.")]
internal const string ActivateOnlySet = "ActivateOnly";
internal const string UploadAndActivateSet = "UpdateAndActivate";

[Parameter(Position = 0, ParameterSetName = UploadAndActivateSet, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the name of the Batch account.")]
[Parameter(Position = 0, ParameterSetName = ActivateOnlySet, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the name of the Batch account.")]
[ValidateNotNullOrEmpty]
public string AccountName { get; set; }

[Parameter(Position = 1, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the name of the resource group that contains the Batch account.")]
[Parameter(Position = 1, ParameterSetName = UploadAndActivateSet, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the name of the resource group that contains the Batch account.")]
[Parameter(Position = 1, ParameterSetName = ActivateOnlySet, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the name of the resource group that contains the Batch account.")]
[ValidateNotNullOrEmpty]
public string ResourceGroupName { get; set; }

[Parameter(Position = 2, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the id of the application.")]
[Parameter(Position = 2, ParameterSetName = UploadAndActivateSet, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the id of the application.")]
[Parameter(Position = 2, ParameterSetName = ActivateOnlySet, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the id of the application.")]
[ValidateNotNullOrEmpty]
public string ApplicationId { get; set; }

[Parameter(Position = 3, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the version of the application.")]
[Parameter(Position = 3, ParameterSetName = UploadAndActivateSet, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the version of the application.")]
[Parameter(Position = 3, ParameterSetName = ActivateOnlySet, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the version of the application.")]
[ValidateNotNullOrEmpty]
public string ApplicationVersion { get; set; }

[Parameter(Position = 4, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the file to be uploaded as the application package binary file.")]
[Parameter(Position = 4, ParameterSetName = UploadAndActivateSet, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the format of the application package binary file.")]
[Parameter(Position = 4, ParameterSetName = ActivateOnlySet, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the format of the application package binary file.")]
[ValidateNotNullOrEmpty]
public string FilePath { get; set; }
public string Format { get; set; }

[Parameter(Position = 5, ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Specifies the format of the application package binary file.")]
[Parameter(ValueFromPipelineByPropertyName = true, ParameterSetName = UploadAndActivateSet, Mandatory = true, HelpMessage = "Specifies the file path of the application that will be uploaded to Azure Storage.")]
[ValidateNotNullOrEmpty]
public string Format { get; set; }
public string FilePath { get; set; }

[Parameter(Position = 6, ValueFromPipelineByPropertyName = true)]
[Parameter(ValueFromPipelineByPropertyName = true, ParameterSetName = ActivateOnlySet)]
[ValidateNotNullOrEmpty]
public SwitchParameter ActivateOnly { get; set; }

Expand Down
Loading