public void ModelFactory_ConvertFrom_FileImportLog_NoFiles_IsConverted()
        {
            IModelFactory            modelFactory = new ModelFactory();
            List <FileImportLogFile> files        = new List <FileImportLogFile>();
            FileImportLog            result       = modelFactory.ConvertFrom(TestData.FileImportLogs.First(), files);

            this.VerifyImportLog(TestData.FileImportLogs.First(), files, result);
        }
        public async Task <IActionResult> GetImportLog([FromRoute] Guid fileImportLogId,
                                                       [FromQuery] Guid estateId,
                                                       [FromQuery] Guid?merchantId,
                                                       CancellationToken cancellationToken)
        {
            FileImportLog fileImportLog = await this.Manager.GetFileImportLog(fileImportLogId, estateId, merchantId, cancellationToken);

            return(this.Ok(this.ModelFactory.ConvertFrom(fileImportLog)));
        }
示例#3
0
        public void FileImportLogAggregate_CanBeCreated_IsCreated()
        {
            FileImportLogAggregate fileImportLogAggregate = FileImportLogAggregate.Create(TestData.FileImportLogId);

            FileImportLog fileImportLog = fileImportLogAggregate.GetFileImportLog();

            fileImportLog.ShouldNotBeNull();

            fileImportLog.FileImportLogId.ShouldBe(TestData.FileImportLogId);
        }
示例#4
0
        public void FileImportLogAggregate_CreateImportLog_IsCreated()
        {
            FileImportLogAggregate fileImportLogAggregate = FileImportLogAggregate.Create(TestData.FileImportLogId);

            fileImportLogAggregate.CreateImportLog(TestData.EstateId, TestData.ImportLogDateTime);

            FileImportLog fileImportLog = fileImportLogAggregate.GetFileImportLog();

            fileImportLog.ShouldNotBeNull();

            fileImportLog.FileImportLogId.ShouldBe(TestData.FileImportLogId);
            fileImportLog.EstateId.ShouldBe(TestData.EstateId);
            fileImportLog.FileImportLogDateTime.ShouldBe(TestData.ImportLogDateTime);
        }
示例#5
0
        public void FileImportLogAggregate_AddImportedFile_FileAdded()
        {
            FileImportLogAggregate fileImportLogAggregate = FileImportLogAggregate.Create(TestData.FileImportLogId);

            fileImportLogAggregate.CreateImportLog(TestData.EstateId, TestData.ImportLogDateTime);
            fileImportLogAggregate.AddImportedFile(TestData.FileId, TestData.MerchantId, TestData.UserId, TestData.FileProfileId, TestData.OriginalFileName, TestData.FilePath, TestData.FileUploadedDateTime);

            FileImportLog fileImportLog = fileImportLogAggregate.GetFileImportLog();

            fileImportLog.ShouldNotBeNull();

            fileImportLog.Files.ShouldNotBeNull();
            fileImportLog.Files.ShouldNotBeEmpty();
            fileImportLog.Files.Any(f => f.FileId == TestData.FileId).ShouldBeTrue();
        }
示例#6
0
        public void FileImportLogAggregate_CreateImportLog_AlreadyCreated_SilentlyHandled()
        {
            FileImportLogAggregate fileImportLogAggregate = FileImportLogAggregate.Create(TestData.FileImportLogId);

            fileImportLogAggregate.CreateImportLog(TestData.EstateId, TestData.ImportLogDateTime);

            FileImportLog fileImportLog = fileImportLogAggregate.GetFileImportLog();

            fileImportLog.ShouldNotBeNull();

            fileImportLog.FileImportLogId.ShouldBe(TestData.FileImportLogId);
            fileImportLog.EstateId.ShouldBe(TestData.EstateId);
            fileImportLog.FileImportLogDateTime.ShouldBe(TestData.ImportLogDateTime);

            Should.NotThrow(() =>
            {
                fileImportLogAggregate.CreateImportLog(TestData.EstateId, TestData.ImportLogDateTime);
            });
        }
示例#7
0
        /// <summary>
        /// Gets the file import log.
        /// </summary>
        /// <param name="accessToken">The access token.</param>
        /// <param name="fileImportLogId">The file import log identifier.</param>
        /// <param name="estateId">The estate identifier.</param>
        /// <param name="merchantId">The merchant identifier.</param>
        /// <param name="cancellationToken">The cancellation token.</param>
        /// <returns></returns>
        public async Task <FileImportLog> GetFileImportLog(String accessToken,
                                                           Guid fileImportLogId,
                                                           Guid estateId,
                                                           Guid?merchantId,
                                                           CancellationToken cancellationToken)
        {
            FileImportLog response = null;

            String requestUri = this.BuildRequestUrl($"/api/fileImportLogs/{fileImportLogId}?estateId={estateId}");

            if (merchantId.HasValue)
            {
                requestUri += $"&merchantId={merchantId}";
            }

            try
            {
                // Add the access token header
                this.HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);

                // Make the Http Call here
                HttpResponseMessage httpResponse = await this.HttpClient.GetAsync(requestUri, cancellationToken);

                // Process the response
                String content = await this.HandleResponse(httpResponse, cancellationToken);

                // call was successful so now deserialise the body to the response object
                response = JsonConvert.DeserializeObject <FileImportLog>(content);
            }
            catch (Exception ex)
            {
                // An exception has occurred, add some additional information to the message
                Exception exception = new Exception("Error getting file import log.", ex);

                throw exception;
            }

            return(response);
        }
示例#8
0
        private void VerifyImportLog(FileImportLog source, FIleProcessor.Models.FileImportLog importLog, Guid?merchantId = null)
        {
            importLog.ShouldNotBeNull();
            importLog.FileImportLogDateTime.ShouldBe(source.ImportLogDateTime);
            importLog.Files.Count.ShouldBe(importLog.Files.Count);

            List <ImportLogFile> filesToVerify = importLog.Files;

            if (merchantId.HasValue)
            {
                filesToVerify = filesToVerify.Where(f => f.MerchantId == merchantId.Value).ToList();
            }

            foreach (ImportLogFile importLogFile in filesToVerify)
            {
                var file = importLog.Files.SingleOrDefault(impfile => impfile.FileId == importLogFile.FileId);
                file.ShouldNotBeNull();
                file.MerchantId.ShouldBe(importLogFile.MerchantId);
                file.FilePath.ShouldBe(importLogFile.FilePath);
                file.FileProfileId.ShouldBe(importLogFile.FileProfileId);
                file.OriginalFileName.ShouldBe(importLogFile.OriginalFileName);
                file.UserId.ShouldBe(importLogFile.UserId);
            }
        }