public virtual PSDataset CreatePSDataset(CreatePSDatasetParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } PSDataset dataset = null; Action createDataset = () => { dataset = new PSDataset(this.CreateOrUpdateDataset( parameters.ResourceGroupName, parameters.DataFactoryName, parameters.Name, parameters.RawJsonContent)) { ResourceGroupName = parameters.ResourceGroupName, DataFactoryName = parameters.DataFactoryName }; if (!DataFactoryCommonUtilities.IsSucceededProvisioningState(dataset.ProvisioningState)) { string errorMessage = dataset.Properties == null ? string.Empty : dataset.Properties.ErrorMessage; throw new ProvisioningFailedException(errorMessage); } }; if (parameters.Force) { // If user decides to overwrite anyway, then there is no need to check if the dataset exists or not. createDataset(); } else { bool datasetExists = this.CheckDatasetExists(parameters.ResourceGroupName, parameters.DataFactoryName, parameters.Name); parameters.ConfirmAction( !datasetExists, // prompt only if the dataset exists string.Format( CultureInfo.InvariantCulture, Resources.DatasetExists, parameters.Name, parameters.DataFactoryName), string.Format( CultureInfo.InvariantCulture, Resources.DatasetCreating, parameters.Name, parameters.DataFactoryName), parameters.Name, createDataset); } return dataset; }
public virtual PSDataset CreatePSDataset(CreatePSDatasetParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } PSDataset dataset = null; Action createDataset = () => { dataset = new PSDataset(this.CreateOrUpdateDataset( parameters.ResourceGroupName, parameters.DataFactoryName, parameters.Name, parameters.RawJsonContent)) { ResourceGroupName = parameters.ResourceGroupName, DataFactoryName = parameters.DataFactoryName }; if (!DataFactoryCommonUtilities.IsSucceededProvisioningState(dataset.ProvisioningState)) { string errorMessage = dataset.Properties == null ? string.Empty : dataset.Properties.ErrorMessage; throw new ProvisioningFailedException(errorMessage); } }; parameters.ConfirmAction( parameters.Force, // prompt only if the dataset exists string.Format( CultureInfo.InvariantCulture, Resources.DatasetExists, parameters.Name, parameters.DataFactoryName), string.Format( CultureInfo.InvariantCulture, Resources.DatasetCreating, parameters.Name, parameters.DataFactoryName), parameters.Name, createDataset, () => this.CheckDatasetExists(parameters.ResourceGroupName, parameters.DataFactoryName, parameters.Name)); return(dataset); }
public void CanGetDataset() { // Arrange PSDataset expected = new PSDataset() { DatasetName = datasetName, DataFactoryName = DataFactoryName, ResourceGroupName = ResourceGroupName }; dataFactoriesClientMock .Setup( c => c.FilterPSDatasets( It.Is <DatasetFilterOptions>( options => options.ResourceGroupName == ResourceGroupName && options.DataFactoryName == DataFactoryName && options.Name == datasetName))) .CallBase() .Verifiable(); dataFactoriesClientMock .Setup(c => c.GetDataset(ResourceGroupName, DataFactoryName, datasetName)) .Returns(expected) .Verifiable(); // Action cmdlet.Name = " "; Exception whiteSpace = Assert.Throws <PSArgumentNullException>(() => cmdlet.ExecuteCmdlet()); cmdlet.Name = ""; Exception empty = Assert.Throws <PSArgumentNullException>(() => cmdlet.ExecuteCmdlet()); cmdlet.Name = datasetName; 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 CheckDatasetExists(string resourceGroupName, string dataFactoryName, string datasetName) { try { PSDataset dataset = this.GetDataset(resourceGroupName, dataFactoryName, datasetName); return(dataset != null); } catch (ErrorResponseException e) { //Get throws Exception message with NotFound Status if (e.Response.StatusCode == HttpStatusCode.NotFound) { return(false); } else { throw; } } }
private bool CheckDatasetExists(string resourceGroupName, string dataFactoryName, string datasetName) { // ToDo: implement HEAD to check if the dataset exists try { PSDataset dataset = this.GetDataset(resourceGroupName, dataFactoryName, datasetName); return true; } catch (CloudException e) { //Get throws Exception message with NotFound Status if (e.Response.StatusCode == HttpStatusCode.NotFound) { return false; } else { throw; } } }
public virtual PSDataset CreatePSDataset(CreatePSAdfEntityParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } PSDataset dataset = null; Action createDataset = () => { dataset = new PSDataset(this.CreateOrUpdateDataset( parameters.ResourceGroupName, parameters.DataFactoryName, parameters.Name, parameters.RawJsonContent), parameters.ResourceGroupName, parameters.DataFactoryName ); }; parameters.ConfirmAction( parameters.Force, // prompt only if the dataset exists string.Format( CultureInfo.InvariantCulture, Resources.DatasetExists, parameters.Name, parameters.DataFactoryName), string.Format( CultureInfo.InvariantCulture, Resources.DatasetCreating, parameters.Name, parameters.DataFactoryName), parameters.Name, createDataset, () => this.CheckDatasetExists(parameters.ResourceGroupName, parameters.DataFactoryName, parameters.Name)); return(dataset); }