public void CanGetDataFactory() { // Arrange PSDataFactory expected = new PSDataFactory() {DataFactoryName = DataFactoryName, ResourceGroupName = ResourceGroupName}; dataFactoriesClientMock.Setup( c => c.FilterPSDataFactories( It.Is<DataFactoryFilterOptions>( options => options.Name == DataFactoryName && options.ResourceGroupName == ResourceGroupName))) .CallBase() .Verifiable(); dataFactoriesClientMock.Setup(c => c.GetDataFactory(ResourceGroupName, DataFactoryName)) .Returns(expected) .Verifiable(); // Action cmdlet.ResourceGroupName = ResourceGroupName; cmdlet.Name = " "; Exception whiteSpace = Assert.Throws<PSArgumentNullException>(() => cmdlet.ExecuteCmdlet()); cmdlet.Name = ""; Exception empty = Assert.Throws<PSArgumentNullException>(() => cmdlet.ExecuteCmdlet()); cmdlet.Name = DataFactoryName; cmdlet.ExecuteCmdlet(); // Assert dataFactoriesClientMock.VerifyAll(); Assert.Contains("Value cannot be null", whiteSpace.Message); Assert.Contains("Value cannot be null", empty.Message); commandRuntimeMock.Verify(f => f.WriteObject(expected), Times.Once()); }
private bool CheckDataFactoryExists(string resourceGroupName, string dataFactoryName, out PSDataFactory dataFactory) { dataFactory = null; // ToDo: use HEAD to check if a resource exists or not try { dataFactory = GetDataFactory(resourceGroupName, dataFactoryName); return true; } catch (CloudException e) { //Get throws NotFound exception if data factory not exists if (e.Response.StatusCode == HttpStatusCode.NotFound) { return false; } throw; } }
public virtual PSDataFactory CreatePSDataFactory(CreatePSDataFactoryParameters parameters) { PSDataFactory dataFactory = null; Action createDataFactory = () => { Dictionary<string, string> tags = new Dictionary<string, string>(); if (parameters.Tags != null) { tags = parameters.Tags.ToDictionary(); } dataFactory = new PSDataFactory( CreateOrUpdateDataFactory(parameters.ResourceGroupName, parameters.DataFactoryName, parameters.Location, tags)) {ResourceGroupName = parameters.ResourceGroupName}; }; if (parameters.Force) { // If user decides to overwrite anyway, then there is no need to check if the data factory exists or not. createDataFactory(); } else { bool dataFactoryExists = CheckDataFactoryExists(parameters.ResourceGroupName, parameters.DataFactoryName); parameters.ConfirmAction( !dataFactoryExists, // prompt only if the data factory exists string.Format( CultureInfo.InvariantCulture, Resources.DataFactoryExists, parameters.DataFactoryName, parameters.ResourceGroupName), string.Format( CultureInfo.InvariantCulture, Resources.DataFactoryCreating, parameters.DataFactoryName, parameters.ResourceGroupName), parameters.DataFactoryName, createDataFactory); } if (!DataFactoryCommonUtilities.IsSucceededProvisioningState(dataFactory.ProvisioningState)) { string errorMessage = dataFactory.Properties == null ? string.Empty : dataFactory.Properties.ErrorMessage; throw new ProvisioningFailedException(errorMessage); } return dataFactory; }
public virtual PSDataFactory CreatePSDataFactory(CreatePSDataFactoryParameters parameters) { PSDataFactory dataFactory = null; Action createDataFactory = () => { Dictionary<string, string> tags = new Dictionary<string, string>(); if (parameters.Tags != null) { tags = parameters.Tags.ToDictionary(); } dataFactory = new PSDataFactory( CreateOrUpdateDataFactory(parameters.ResourceGroupName, parameters.DataFactoryName, parameters.Location, tags)) { ResourceGroupName = parameters.ResourceGroupName }; }; parameters.ConfirmAction( parameters.Force, // prompt only if the data factory exists string.Format( CultureInfo.InvariantCulture, Resources.DataFactoryExists, parameters.DataFactoryName, parameters.ResourceGroupName), string.Format( CultureInfo.InvariantCulture, Resources.DataFactoryCreating, parameters.DataFactoryName, parameters.ResourceGroupName), parameters.DataFactoryName, createDataFactory, () => CheckDataFactoryExists(parameters.ResourceGroupName, parameters.DataFactoryName, out dataFactory)); if (!DataFactoryCommonUtilities.IsSucceededProvisioningState(dataFactory.ProvisioningState)) { string errorMessage = dataFactory.Properties == null ? string.Empty : dataFactory.Properties.ErrorMessage; throw new ProvisioningFailedException(errorMessage); } return dataFactory; }