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;
        }
Exemple #4
0
        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;
        }