Пример #1
0
        public async Task CreateAdditionalCalculation_GivenCreateJobReturnsNull_ReturnsInternalServerError()
        {
            //Arrange
            CalculationCreateModel model = CreateCalculationCreateModel();

            Reference author = CreateAuthor();

            ICalculationsRepository calculationsRepository = CreateCalculationsRepository();

            calculationsRepository
            .CreateDraftCalculation(Arg.Any <Calculation>())
            .Returns(HttpStatusCode.OK);

            IVersionRepository <CalculationVersion> versionRepository = CreateCalculationVersionRepository();

            ISearchRepository <CalculationIndex> searchRepository = CreateSearchRepository();

            IJobManagement jobManagement = CreateJobManagement();

            jobManagement
            .QueueJob(Arg.Any <JobCreateModel>())
            .Returns((Job)null);

            ISpecificationsApiClient specificationsApiClient = CreateSpecificationsApiClient();

            specificationsApiClient
            .GetSpecificationSummaryById(Arg.Is(SpecificationId))
            .Returns(new ApiResponse <SpecificationSummary>(
                         HttpStatusCode.OK,
                         new SpecificationSummary {
                Id = SpecificationId
            }
                         ));

            ILogger logger = CreateLogger();

            CalculationService calculationService = CreateCalculationService(
                calculationsRepository: calculationsRepository,
                calculationVersionRepository: versionRepository,
                searchRepository: searchRepository,
                jobManagement: jobManagement,
                logger: logger,
                specificationsApiClient: specificationsApiClient);

            //Act
            IActionResult result = await calculationService.CreateAdditionalCalculation(SpecificationId, model, author, CorrelationId);

            //Assert
            result
            .Should()
            .BeOfType <InternalServerErrorResult>()
            .Which
            .Value
            .Should()
            .Be($"Failed to create job of type '{JobConstants.DefinitionNames.CreateInstructAllocationJob}' on specification '{SpecificationId}'");

            logger
            .Received(1)
            .Error(Arg.Is($"Failed to create job of type '{JobConstants.DefinitionNames.CreateInstructAllocationJob}' on specification '{SpecificationId}'"));
        }
Пример #2
0
        public CreateCalculationService(ICalculationNameInUseCheck calculationNameInUseCheck,
                                        ICalculationsRepository calculationsRepository,
                                        IVersionRepository <CalculationVersion> calculationVersionRepository,
                                        ICalcsResiliencePolicies calculationsResiliencePolicies,
                                        IValidator <CalculationCreateModel> calculationCreateModelValidator,
                                        ICacheProvider cacheProvider,
                                        ISearchRepository <CalculationIndex> searchRepository,
                                        ILogger logger,
                                        IInstructionAllocationJobCreation instructionAllocationJobCreation)
        {
            Guard.ArgumentNotNull(searchRepository, nameof(searchRepository));
            Guard.ArgumentNotNull(calculationNameInUseCheck, nameof(calculationNameInUseCheck));
            Guard.ArgumentNotNull(calculationsRepository, nameof(calculationsRepository));
            Guard.ArgumentNotNull(calculationVersionRepository, nameof(calculationVersionRepository));
            Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider));
            Guard.ArgumentNotNull(calculationsResiliencePolicies?.CacheProviderPolicy, nameof(calculationsResiliencePolicies.CacheProviderPolicy));
            Guard.ArgumentNotNull(calculationsResiliencePolicies?.CalculationsRepository, nameof(calculationsResiliencePolicies.CalculationsRepository));
            Guard.ArgumentNotNull(calculationsResiliencePolicies?.CalculationsVersionsRepositoryPolicy, nameof(calculationsResiliencePolicies.CalculationsVersionsRepositoryPolicy));

            _calculationNameInUseCheck    = calculationNameInUseCheck;
            _calculationsRepository       = calculationsRepository;
            _calculationVersionRepository = calculationVersionRepository;
            _logger = logger;
            _instructionAllocationJobCreation = instructionAllocationJobCreation;
            _searchRepository = searchRepository;
            _cacheProvider    = cacheProvider;
            _calculationCreateModelValidator     = calculationCreateModelValidator;
            _calculationVersionsRepositoryPolicy = calculationsResiliencePolicies.CalculationsVersionsRepositoryPolicy;
            _calculationRepositoryPolicy         = calculationsResiliencePolicies.CalculationsRepository;
            _cachePolicy = calculationsResiliencePolicies.CacheProviderPolicy;

            _typeIdentifierGenerator = new VisualBasicTypeIdentifierGenerator();
        }
        public void SetUp()
        {
            ILogger        logger        = Substitute.For <ILogger>();
            IConfiguration configuration = Substitute.For <IConfiguration>();

            _publishedFundingBulkRepository        = Substitute.For <IPublishedFundingBulkRepository>();
            _publishedFundingVersionRepository     = Substitute.For <IVersionRepository <PublishedFundingVersion> >();
            _publishedFundingVersionBulkRepository = Substitute.For <IVersionBulkRepository <PublishedFundingVersion> >();
            _publishedFundingIdGeneratorResolver   = Substitute.For <IPublishedFundingIdGeneratorResolver>();
            _author = new Reference {
                Id = "authorId", Name = "author"
            };

            _publishedFundingStatusUpdateService = new PublishedFundingStatusUpdateService(PublishingResilienceTestHelper.GenerateTestPolicies(),
                                                                                           _publishedFundingVersionRepository,
                                                                                           _publishedFundingIdGeneratorResolver,
                                                                                           logger,
                                                                                           new PublishingEngineOptions(configuration),
                                                                                           _publishedFundingVersionBulkRepository,
                                                                                           _publishedFundingBulkRepository);

            _publishedFundingPeriod = new PublishedFundingPeriod {
                Type = PublishedFundingPeriodType.AY, Period = "123"
            };
        }
Пример #4
0
        public async Task GetPublishedProviderResultWithHistoryByAllocationResultId_GivenResultFoundButNoHistory_ResturnsNull()
        {
            //Arrange
            string allocationResultId = "12345";

            string query = $"select c from c where c.documentType = 'PublishedAllocationLineResultVersion' and c.deleted = false and c.content.entityId = '{allocationResultId}'";

            PublishedProviderResult publishedProviderResult = new PublishedProviderResult {
                ProviderId = "1111"
            };

            IPublishedProviderResultsRepository publishedProviderResultsRepository = CreatePublishedProviderResultsRepository();

            publishedProviderResultsRepository
            .GetPublishedProviderResultForIdInPublishedState(Arg.Is(allocationResultId))
            .Returns(publishedProviderResult);

            IVersionRepository <PublishedAllocationLineResultVersion> versionRepository = CreatePublishedProviderResultsVersionRepository();

            versionRepository
            .GetVersions(Arg.Is(query), Arg.Is("1111"))
            .Returns((IEnumerable <PublishedAllocationLineResultVersion>)null);

            PublishedResultsService service = CreateResultsService(publishedProviderResultsRepository: publishedProviderResultsRepository, publishedProviderResultsVersionRepository: versionRepository);

            //Act
            PublishedProviderResultWithHistory result = await service.GetPublishedProviderResultWithHistoryByAllocationResultId(allocationResultId);

            //Assert
            result
            .Should()
            .BeNull();
        }
        public FundingStreamPermissionService(
            IUserRepository userRepository,
            ISpecificationsApiClient specificationsApiClient,
            IVersionRepository <FundingStreamPermissionVersion> fundingStreamPermissionVersionRepository,
            ICacheProvider cacheProvider,
            IMapper mapper,
            ILogger logger,
            IUsersResiliencePolicies policies)
        {
            Guard.ArgumentNotNull(userRepository, nameof(userRepository));
            Guard.ArgumentNotNull(specificationsApiClient, nameof(specificationsApiClient));
            Guard.ArgumentNotNull(fundingStreamPermissionVersionRepository, nameof(fundingStreamPermissionVersionRepository));
            Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider));
            Guard.ArgumentNotNull(mapper, nameof(mapper));
            Guard.ArgumentNotNull(logger, nameof(logger));
            Guard.ArgumentNotNull(policies?.UserRepositoryPolicy, nameof(policies.UserRepositoryPolicy));
            Guard.ArgumentNotNull(policies?.SpecificationApiClient, nameof(policies.SpecificationApiClient));
            Guard.ArgumentNotNull(policies?.FundingStreamPermissionVersionRepositoryPolicy, nameof(policies.FundingStreamPermissionVersionRepositoryPolicy));
            Guard.ArgumentNotNull(policies?.CacheProviderPolicy, nameof(policies.CacheProviderPolicy));

            _userRepository          = userRepository;
            _specificationsApiClient = specificationsApiClient;
            _fundingStreamPermissionVersionRepository = fundingStreamPermissionVersionRepository;
            _cacheProvider = cacheProvider;
            _mapper        = mapper;
            _logger        = logger;

            _userRepositoryPolicy          = policies.UserRepositoryPolicy;
            _specificationsApiClientPolicy = policies.SpecificationApiClient;
            _fundingStreamPermissionVersionRepositoryPolicy = policies.FundingStreamPermissionVersionRepositoryPolicy;
            _cacheProviderPolicy = policies.CacheProviderPolicy;
        }
 public BaseApiController(TRepository repository, IVersionRepository versionRepository, Wrapper <ILog> logger)
 {
     Repository                = repository;
     Logger                    = logger;
     VersionRepository         = versionRepository;
     IsVisibleExceptionRemoute = Convert.ToBoolean(ConfigurationManager.AppSettings["IsVisibleExceptionRemoute"]);
 }
Пример #7
0
 private static CalculationService CreateCalculationService(
     ICalculationsRepository calculationsRepository = null,
     ILogger logger = null,
     ISearchRepository <CalculationIndex> searchRepository = null,
     IValidator <Calculation> calcValidator           = null,
     IBuildProjectsService buildProjectsService       = null,
     ISpecificationRepository specificationRepository = null,
     ICacheProvider cacheProvider = null,
     ICalcsResiliencePolicies resiliencePolicies = null,
     IVersionRepository <CalculationVersion> calculationVersionRepository = null,
     IJobsApiClient jobsApiClient                     = null,
     ISourceCodeService sourceCodeService             = null,
     IFeatureToggle featureToggle                     = null,
     IBuildProjectsRepository buildProjectsRepository = null,
     ICalculationCodeReferenceUpdate calculationCodeReferenceUpdate = null)
 {
     return(new CalculationService
                (calculationsRepository ?? CreateCalculationsRepository(),
                logger ?? CreateLogger(),
                searchRepository ?? CreateSearchRepository(),
                calcValidator ?? CreateCalculationValidator(),
                buildProjectsService ?? CreateBuildProjectsService(),
                specificationRepository ?? CreateSpecificationRepository(),
                cacheProvider ?? CreateCacheProvider(),
                resiliencePolicies ?? CalcsResilienceTestHelper.GenerateTestPolicies(),
                calculationVersionRepository ?? CreateCalculationVersionRepository(),
                jobsApiClient ?? CreateJobsApiClient(),
                sourceCodeService ?? CreateSourceCodeService(),
                featureToggle ?? CreateFeatureToggle(),
                buildProjectsRepository ?? CreateBuildProjectsRepository(),
                calculationCodeReferenceUpdate ?? CreateCalculationCodeReferenceUpdate()));
 }
 public VersionManager(
     IBlobContainer <VersionContainer> container,
     IVersionRepository versionRepository)
 {
     VersionBlobContainer = container;
     VersionRepository    = versionRepository;
 }
Пример #9
0
        public PublishedFundingStatusUpdateService(
            IPublishingResiliencePolicies publishingResiliencePolicies,
            IVersionRepository <PublishedFundingVersion> publishedFundingVersionRepository,
            IPublishedFundingIdGeneratorResolver publishedFundingIdGeneratorResolver,
            ILogger logger,
            IPublishingEngineOptions publishingEngineOptions,
            IVersionBulkRepository <PublishedFundingVersion> publishedFundingVersionBulkRepository,
            IPublishedFundingBulkRepository publishedFundingBulkRepository)
        {
            Guard.ArgumentNotNull(publishingResiliencePolicies?.PublishedFundingRepository, nameof(publishingResiliencePolicies.PublishedFundingRepository));
            Guard.ArgumentNotNull(publishingResiliencePolicies?.PublishedProviderVersionRepository, nameof(publishingResiliencePolicies.PublishedProviderVersionRepository));
            Guard.ArgumentNotNull(publishedFundingVersionRepository, nameof(publishedFundingVersionRepository));
            Guard.ArgumentNotNull(logger, nameof(logger));
            Guard.ArgumentNotNull(publishingEngineOptions, nameof(publishingEngineOptions));
            Guard.ArgumentNotNull(publishedFundingVersionBulkRepository, nameof(publishedFundingVersionBulkRepository));
            Guard.ArgumentNotNull(publishedFundingBulkRepository, nameof(publishedFundingBulkRepository));

            _publishingResiliencePolicy          = publishingResiliencePolicies.PublishedFundingRepository;
            _publishedFundingVersionRepository   = publishedFundingVersionRepository;
            _publishedFundingIdGeneratorResolver = publishedFundingIdGeneratorResolver;
            _logger = logger;
            _publishingEngineOptions = publishingEngineOptions;
            _publishedFundingVersionBulkRepository = publishedFundingVersionBulkRepository;
            _publishedFundingBulkRepository        = publishedFundingBulkRepository;
            _versionRepositoryPolicy = publishingResiliencePolicies.PublishedProviderVersionRepository;
        }
        async public Task GetCalculationHistory_GivenCalculationIdWasProvidedButHistoryWasNull_ReturnsNotFound()
        {
            //Arrange
            ILogger logger = CreateLogger();

            IVersionRepository <CalculationVersion> versionsRepository = CreateCalculationVersionRepository();

            versionsRepository
            .GetVersions(Arg.Is(CalculationId))
            .Returns((IEnumerable <CalculationVersion>)null);

            CalculationService service = CreateCalculationService(logger: logger, calculationVersionRepository: versionsRepository);

            //Act
            IActionResult result = await service.GetCalculationHistory(CalculationId);

            //Assert
            result
            .Should()
            .BeOfType <NotFoundResult>();

            logger
            .Received(1)
            .Information(Arg.Is($"A calculation was not found for calculation id {CalculationId}"));
        }
        async public Task GetCalculationHistory_GivenCalculationIdWasProvided_ReturnsOK()
        {
            //Arrange
            IEnumerable <CalculationVersion> versions = new List <CalculationVersion>
            {
                new CalculationVersion(),
                new CalculationVersion()
            };

            ILogger logger = CreateLogger();

            IVersionRepository <CalculationVersion> versionsRepository = CreateCalculationVersionRepository();

            versionsRepository
            .GetVersions(Arg.Is(CalculationId))
            .Returns(versions);

            CalculationService service = CreateCalculationService(logger: logger, calculationVersionRepository: versionsRepository);

            //Act
            IActionResult result = await service.GetCalculationHistory(CalculationId);

            //Assert
            result
            .Should()
            .BeOfType <OkObjectResult>();
        }
 /// <summary>
 /// Creates a new instance of <see cref="AttachVersionTagToIncident"/>.
 /// </summary>
 /// <param name="repository">repos</param>
 public AttachVersionTagToIncident(IVersionRepository repository)
 {
     if (repository == null)
     {
         throw new ArgumentNullException("repository");
     }
     _repository = repository;
 }
Пример #13
0
 public ProjectModel(
     IUserRepository userRepository,
     IProjectRepository projectRepository,
     IVersionRepository versionRepository)
 {
     _userRepository    = userRepository;
     _projectRepository = projectRepository;
     _versionRepository = versionRepository;
 }
Пример #14
0
 public ReadModelEventHandler(
     IReadModelRepository readModelRepository,
     IVersionRepository versionRepository,
     IEventFeed <ReadModelEventHandler <T> > eventFeed)
 {
     _readModelRepository = readModelRepository;
     _versionRepository   = versionRepository;
     _eventFeed           = eventFeed;
 }
Пример #15
0
 public AsyncEventHandler(
     IVersionRepository versionRepository,
     IEventFeed <AsyncEventHandler <TConcreteHandlerType, TSubscribedDomainEvent> > eventFeed,
     IHandleAsync <TSubscribedDomainEvent> handler)
 {
     _versionRepository = versionRepository;
     _eventFeed         = eventFeed;
     _handler           = handler;
 }
Пример #16
0
 public HmmNoteManager(IVersionRepository <HmmNote> noteRepo, IHmmValidator <HmmNote> validator, IDateTimeProvider dateProvider)
 {
     Guard.Against <ArgumentNullException>(noteRepo == null, nameof(noteRepo));
     Guard.Against <ArgumentNullException>(validator == null, nameof(validator));
     Guard.Against <ArgumentNullException>(dateProvider == null, nameof(dateProvider));
     _noteRepo     = noteRepo;
     _validator    = validator;
     _dateProvider = dateProvider;
 }
Пример #17
0
 public VersionService(IExceptionService exceptionService, IConfiguration configuration,
                       ILogger <VersionService> logger, IVersionRepository versionRepository)
 {
     _exceptionService  = exceptionService;
     _configuration     = configuration;
     _logger            = logger;
     _versionRepository = versionRepository;
     _appSettings       = configuration.Get <AppSettings>();
 }
Пример #18
0
 public Runner(IDataClient dataClient, Assembly targetAssembly, IVersionRepository versionRepository)
 {
     _dataClient = dataClient;
     _databaseKind = _dataClient.Database.Provider.DatabaseKind;
     _targetAssembly = targetAssembly ?? Assembly.GetCallingAssembly();
     VersionRepository = versionRepository;
     _migrationFactory = new MigrationFactory(_dataClient);
     _initialVersion = -1;
 }
Пример #19
0
 public Runner(IDataClient dataClient, Assembly targetAssembly, IVersionRepository versionRepository)
 {
     _dataClient       = dataClient;
     _databaseKind     = _dataClient.Database.Provider.DatabaseKind;
     _targetAssembly   = targetAssembly ?? Assembly.GetCallingAssembly();
     VersionRepository = versionRepository;
     _migrationFactory = new MigrationFactory(_dataClient);
     _initialVersion   = -1;
 }
Пример #20
0
        public async Task AssignDataDefinitionRelationship_GivenUpdatedCosmosAndSearch_LogsSuccess()
        {
            //Arrange
            dynamic anyObject = new { specificationId = SpecificationId, relationshipId = RelationshipId };

            string json = JsonConvert.SerializeObject(anyObject);

            Message message = new Message(Encoding.UTF8.GetBytes(json));

            Specification specification = new Specification
            {
                Id      = SpecificationId,
                Name    = SpecificationName,
                Current = new Models.Specs.SpecificationVersion()
                {
                    FundingStreams = new List <Reference>()
                    {
                        new Reference("fs-id", "fs-name")
                    },
                    FundingPeriod = new Reference("18/19", "2018/19"),
                },
            };

            ISpecificationsRepository specificationsRepository = CreateSpecificationsRepository();

            specificationsRepository
            .GetSpecificationById(Arg.Is(SpecificationId))
            .Returns(specification);

            specificationsRepository
            .UpdateSpecification(Arg.Is(specification))
            .Returns(HttpStatusCode.OK);

            ILogger logger = CreateLogger();

            Models.Specs.SpecificationVersion newSpecVersion = specification.Current.Clone() as Models.Specs.SpecificationVersion;

            IVersionRepository <Models.Specs.SpecificationVersion> versionRepository = CreateVersionRepository();

            versionRepository
            .CreateVersion(Arg.Any <Models.Specs.SpecificationVersion>(), Arg.Any <Models.Specs.SpecificationVersion>())
            .Returns(newSpecVersion);

            SpecificationsService service = CreateService(specificationsRepository: specificationsRepository, logs: logger, specificationVersionRepository: versionRepository);

            //Act
            await service.Process(message);

            //Assert
            logger
            .Received(1)
            .Information($"Successfully assigned relationship id: {RelationshipId} to specification with id: {SpecificationId}");

            await _specificationIndexer
            .Received(1)
            .Index(Arg.Is <Specification>(_ => ReferenceEquals(_.Current, newSpecVersion)));
        }
Пример #21
0
        public GetCommand(SetupParameters setupParameters,
                        IVersionRepository versionRepository)
        {
            _setupParameters = setupParameters;

            _utility = new ConsoleUtility();

            _versionRepository = versionRepository;
        }
Пример #22
0
 public QueryEventHandler(
     IReadModelRepository readModelRepository,
     IVersionRepository versionRepository,
     IEventFeed <QueryEventHandler <TQuerry, TEvent> > eventFeed)
 {
     _readModelRepository = readModelRepository;
     _versionRepository   = versionRepository;
     _eventFeed           = eventFeed;
 }
 public PadSyncHandler(
     PadServiceRepo padRepo,
     IVersionRepository versionRepository,
     IMatchEventRepository matchEventRepository
     )
 {
     _padRepo              = padRepo;
     _versionRepository    = versionRepository;
     _matchEventRepository = matchEventRepository;
 }
Пример #24
0
 public VersionController(ILogger <VersionController> logger,
                          IRepository <AppVersion> repository,
                          IVersionRepository versionRepository,
                          IMapper mapper)
 {
     _logger            = logger;
     _repository        = repository;
     _versionRepository = versionRepository;
     _mapper            = mapper;
 }
Пример #25
0
        public NoteValidator(IVersionRepository <HmmNote> noteRepo)
        {
            Guard.Against <ArgumentNullException>(noteRepo == null, nameof(noteRepo));
            _dataRepo = noteRepo;

            RuleFor(n => n.Subject).NotNull().Length(1, 1000);
            RuleFor(n => n.Author).NotNull().Must(AuthorNotChanged).WithMessage("Cannot update note's author");
            RuleFor(n => n.Description).Length(1, 1000);
            RuleFor(n => n.Catalog).NotNull();
        }
Пример #26
0
 public PadSyncHandler(
     MatchmakingServiceRepo matchmakingRepo,
     IVersionRepository versionRepository,
     IMatchEventRepository matchEventRepository
     )
 {
     _matchmakingRepo      = matchmakingRepo;
     _versionRepository    = versionRepository;
     _matchEventRepository = matchEventRepository;
 }
Пример #27
0
 public VersionitConsole(string[] args,IVersionRepository versionRepository)
     : base("Versionit")
 {
     _args = args;
     _versionRepository = versionRepository;
     _logger = new ConsoleUtility();
     _setupParameters = new SetupParameters();
     _fileUtility = new FileUtility();
     _sqlMessageUtility = new SqlMessageUtility();
 }
Пример #28
0
        public async Task GetPublishedProviderResultWithHistoryByAllocationResultId_GivenResultAndHistory_ResturnsResult()
        {
            //Arrange
            string allocationResultId = "12345";

            PublishedProviderResult publishedProviderResult = new PublishedProviderResult
            {
                ProviderId          = "1111",
                FundingStreamResult = new PublishedFundingStreamResult
                {
                    AllocationLineResult = new PublishedAllocationLineResult {
                    }
                }
            };

            IEnumerable <PublishedAllocationLineResultVersion> history = new[]
            {
                new PublishedAllocationLineResultVersion(),
                new PublishedAllocationLineResultVersion(),
                new PublishedAllocationLineResultVersion()
            };

            IPublishedProviderResultsRepository publishedProviderResultsRepository = CreatePublishedProviderResultsRepository();

            publishedProviderResultsRepository
            .GetPublishedProviderResultForIdInPublishedState(Arg.Is(allocationResultId))
            .Returns(publishedProviderResult);

            IVersionRepository <PublishedAllocationLineResultVersion> versionRepository = CreatePublishedProviderResultsVersionRepository();

            versionRepository
            .GetVersions(Arg.Is(allocationResultId), Arg.Is("1111"))
            .Returns(history);

            PublishedResultsService service = CreateResultsService(publishedProviderResultsRepository: publishedProviderResultsRepository, publishedProviderResultsVersionRepository: versionRepository);

            //Act
            PublishedProviderResultWithHistory result = await service.GetPublishedProviderResultWithHistoryByAllocationResultId(allocationResultId);

            //Assert
            result
            .Should()
            .NotBeNull();

            result
            .PublishedProviderResult
            .Should()
            .NotBeNull();

            result
            .History
            .Count()
            .Should()
            .Be(3);
        }
        public async Task GetPublishedProviderResultByAllocationResultId_GivenVersionAndFoundInHistory_ReturnsResult()
        {
            //Arrange
            string allocationResultId = "12345";

            int version = 5;

            PublishedProviderResult publishedProviderResult = new PublishedProviderResult
            {
                FundingStreamResult = new PublishedFundingStreamResult
                {
                    AllocationLineResult = new PublishedAllocationLineResult
                    {
                        Current = new PublishedAllocationLineResultVersion {
                            Version = 2
                        }
                    }
                }
            };

            PublishedAllocationLineResultVersion publishedAllocationLineResultVersion = new PublishedAllocationLineResultVersion
            {
                Version = 5
            };

            IPublishedProviderResultsRepository publishedProviderResultsRepository = CreatePublishedProviderResultsRepository();

            publishedProviderResultsRepository
            .GetPublishedProviderResultForIdInPublishedState(Arg.Is(allocationResultId))
            .Returns(publishedProviderResult);

            IVersionRepository <PublishedAllocationLineResultVersion> versionRepository = CreatePublishedProviderResultsVersionRepository();

            versionRepository
            .GetVersion(Arg.Is(allocationResultId), Arg.Is(version))
            .Returns(publishedAllocationLineResultVersion);

            PublishedResultsService service = CreateResultsService(publishedProviderResultsRepository: publishedProviderResultsRepository, publishedProviderResultsVersionRepository: versionRepository);

            //Act
            PublishedProviderResult result = await service.GetPublishedProviderResultByAllocationResultId(allocationResultId, version);

            //Assert
            result
            .Should()
            .NotBeNull();

            result
            .FundingStreamResult
            .AllocationLineResult
            .Current
            .Version
            .Should()
            .Be(5);
        }
Пример #30
0
        public async Task CreateVersion_GivenValidInputWithCurrentVersion_EnsuresCallsCreateVersionWithCorrectParameters()
        {
            //Arrange
            const string providerId      = "123";
            const string fundingPeriodId = "456";
            const string fundingStreamId = "789";

            string partitionKey = $"publishedprovider-{providerId}-{fundingPeriodId}-{fundingStreamId}";

            PublishedProviderCreateVersionRequest publishedProviderCreateVersionRequest = new PublishedProviderCreateVersionRequest
            {
                PublishedProvider = new PublishedProvider
                {
                    Current = new PublishedProviderVersion
                    {
                        ProviderId      = providerId,
                        FundingPeriodId = fundingPeriodId,
                        FundingStreamId = fundingStreamId
                    }
                },
                NewVersion = new PublishedProviderVersion
                {
                    ProviderId      = providerId,
                    FundingPeriodId = fundingPeriodId,
                    FundingStreamId = fundingStreamId
                }
            };

            IEnumerable <PublishedProviderCreateVersionRequest> versions = new[]
            {
                publishedProviderCreateVersionRequest
            };

            ILogger logger = CreateLogger();

            IVersionRepository <PublishedProviderVersion> versionRepository = CreateVersionRepository();

            PublishedProviderVersioningService service = CreateVersioningService(logger, versionRepository);

            //Act
            IEnumerable <PublishedProvider> result = await service.CreateVersions(versions);

            //Assert
            await
            versionRepository
            .Received(1)
            .CreateVersion(
                Arg.Is(publishedProviderCreateVersionRequest.NewVersion),
                Arg.Is <PublishedProviderVersion>(m =>
                                                  m.ProviderId == providerId &&
                                                  m.FundingPeriodId == fundingPeriodId &&
                                                  m.FundingStreamId == fundingStreamId),
                Arg.Is(partitionKey));
        }
 public ReadModelHandler(
     IMatchEventRepository eventRepository,
     IVersionRepository versionRepository,
     T innerHandler,
     TrackingService trackingService = null)
 {
     _eventRepository   = eventRepository;
     _versionRepository = versionRepository;
     _innerHandler      = innerHandler;
     _trackingService   = trackingService;
 }
Пример #32
0
 public InstanceService(
     IInstanceRepository instanceRepository,
     IVersionRepository versionRepository,
     ISiteRepository siteRepository,
     IDatabaseService databaseService)
 {
     _instanceRepository = instanceRepository;
     _versionRepository  = versionRepository;
     _siteRepository     = siteRepository;
     _databaseService    = databaseService;
 }
Пример #33
0
        public LoaderServiceTest()
        {
            fHttpService          = Substitute.For <IHttpService>();
            fConfig               = Substitute.For <ILoaderServiceConfig>();
            fResourcesRepository  = Substitute.For <IResourcesRepository>();
            fVersionRepository    = Substitute.For <IVersionRepository>();
            fWoodyPlantRepository = Substitute.For <IWoodyPlantRepository>();
            fHubContext           = Substitute.For <IHubContext <ClientHub> >();

            fService = new LoaderService(fHttpService, fConfig, fResourcesRepository, fVersionRepository, fWoodyPlantRepository, fHubContext);
        }
Пример #34
0
        public ScriptCommand(SetupParameters setupParameters, 
                             IVersionRepository versionRepository,
                            IFileUtility fileUtility,
                            IMessageUtility messageUtility)
        {
            _setupParameters = setupParameters;

            _utility = new ConsoleUtility();

            _versionRepository = versionRepository;

            _fileUtility = fileUtility;

            _messageUtility = messageUtility;
        }
Пример #35
0
 public CreateCommand(SetupParameters setupParameters, 
                      IVersionRepository versionRepository)
 {
     _setupParameters = setupParameters;
     _versionRepository = versionRepository;
 }
Пример #36
0
 public MigrationInformation(IVersionRepository versionRepository)
 {
     _versionRepository = versionRepository;
 }
Пример #37
0
 public VersionController(IVersionRepository versionRepository)
 {
     _repository = versionRepository;
 }