private DatasetDefinitionNameChangeProcessor CreateProcessor( IDefinitionSpecificationRelationshipService definitionSpecificationRelationshipService = null, IDatasetService datasetService = null, ILogger logger = null, IFeatureToggle featureToggle = null) { return(new DatasetDefinitionNameChangeProcessor( definitionSpecificationRelationshipService ?? CreateDefinitionSpecificationRelationshipService(), datasetService ?? CreateDataService(), logger ?? CreateLogger(), featureToggle ?? CreateFeatureToggle())); }
public async Task ProcessChange_GivenMessageWithDefinitionChanges_CallsServices() { //Arrange const string definitionId = "123456"; const string definitionName = "New def name"; DatasetDefinitionChanges datasetDefinitionChanges = new DatasetDefinitionChanges { Id = definitionId, NewName = definitionName }; datasetDefinitionChanges.DefinitionChanges.Add(DefinitionChangeType.DefinitionName); string json = JsonConvert.SerializeObject(datasetDefinitionChanges); Message message = new Message(Encoding.UTF8.GetBytes(json)); ILogger logger = CreateLogger(); IDefinitionSpecificationRelationshipService definitionSpecificationRelationshipService = CreateDefinitionSpecificationRelationshipService(); IDatasetService datasetService = CreateDataService(); DatasetDefinitionNameChangeProcessor processor = CreateProcessor(definitionSpecificationRelationshipService, datasetService, logger); //Act await processor.Process(message); //Assert await definitionSpecificationRelationshipService .Received(1) .UpdateRelationshipDatasetDefinitionName(Arg.Is <Reference>(m => m.Id == definitionId && m.Name == definitionName)); await datasetService .Received(1) .UpdateDatasetAndVersionDefinitionName(Arg.Is <Reference>(m => m.Id == definitionId && m.Name == definitionName)); logger .Received() .Information(Arg.Is($"Updating relationships for updated definition name with definition id '{definitionId}'")); logger .Received(1) .Information(Arg.Is($"Updating datasets for updated definition name with definition id '{definitionId}'")); }
public DatasetDefinitionNameChangeProcessor( IDefinitionSpecificationRelationshipService definitionSpecificationRelationshipService, IDatasetService datasetService, ILogger logger, IFeatureToggle featureToggle) { Guard.ArgumentNotNull(definitionSpecificationRelationshipService, nameof(definitionSpecificationRelationshipService)); Guard.ArgumentNotNull(datasetService, nameof(datasetService)); Guard.ArgumentNotNull(logger, nameof(logger)); Guard.ArgumentNotNull(featureToggle, nameof(featureToggle)); _definitionSpecificationRelationshipService = definitionSpecificationRelationshipService; _datasetService = datasetService; _logger = logger; _featureToggle = featureToggle; }
public DatasetsController( IDefinitionsService definitionService, IDatasetService datasetService, IDatasetSearchService datasetSearchService, IDatasetDefinitionSearchService datasetDefinitionSearchService, IDefinitionSpecificationRelationshipService definitionSpecificationRelationshipService, IProcessDatasetService processDatasetService) { Guard.ArgumentNotNull(definitionService, nameof(definitionService)); Guard.ArgumentNotNull(datasetService, nameof(datasetService)); Guard.ArgumentNotNull(datasetSearchService, nameof(datasetSearchService)); Guard.ArgumentNotNull(datasetDefinitionSearchService, nameof(datasetDefinitionSearchService)); Guard.ArgumentNotNull(definitionSpecificationRelationshipService, nameof(definitionSpecificationRelationshipService)); Guard.ArgumentNotNull(processDatasetService, nameof(processDatasetService)); _definitionService = definitionService; _datasetService = datasetService; _datasetSearchService = datasetSearchService; _datasetDefinitionSearchService = datasetDefinitionSearchService; _definitionSpecificationRelationshipService = definitionSpecificationRelationshipService; _processDatasetService = processDatasetService; }