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); }
public PSDataFactory CreatePSDataFactory(CreatePSDataFactoryParameters parameters) { PSDataFactory dataFactory = null; Action createDataFactory = () => { dataFactory = new PSDataFactory( this.DataFactoryManagementClient.Factories.CreateOrUpdate( parameters.ResourceGroupName, parameters.DataFactoryName, new Factory { Location = parameters.Location, PublicNetworkAccess = parameters.PublicNetworkAccess, Tags = parameters.Tags?.ToDictionary(), RepoConfiguration = parameters.RepoConfiguration, Identity = parameters.FactoryIdentity, Encryption = parameters.EncryptionConfiguration, GlobalParameters = parameters.GlobalParameters }), 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)) { throw new ProvisioningFailedException(Resources.DataFactoryProvisioningError); } return(dataFactory); }
private bool CheckDataFactoryExists(string resourceGroupName, string dataFactoryName) { // ToDo: use HEAD to check if a resource exists or not try { PSDataFactory 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 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 && options.NextLink == null))) .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()); }
public virtual List <PSDataFactory> FilterPSDataFactories(DataFactoryFilterOptions filterOptions) { if (filterOptions == null) { throw new ArgumentNullException("filterOptions"); } var dataFactories = new List <PSDataFactory>(); if (filterOptions.DataFactoryName != null) { PSDataFactory dataFactory = GetDataFactory(filterOptions.ResourceGroupName, filterOptions.DataFactoryName); if (dataFactory != null) { dataFactories.Add(dataFactory); } } else { dataFactories.AddRange(ListDataFactories(filterOptions)); } return(dataFactories); }
private bool CheckDataFactoryExists(string resourceGroupName, string dataFactoryName, out PSDataFactory dataFactory) { try { dataFactory = GetDataFactory(resourceGroupName, dataFactoryName); return(dataFactory != null); } catch (ErrorResponseException e) { //Get throws Exception message with NotFound Status if (e.Response.StatusCode == HttpStatusCode.NotFound) { dataFactory = null; return(false); } else { throw; } } }