Esempio n. 1
0
        public void return_a_work_item_file()
        {
            var          workItemFileId      = Guid.NewGuid().ToString();
            var          expectedFileName    = $"{ Any.String() }.pdf";
            const string expectedContentType = "application/pdf";
            var          expectedContent     = Any.ByteArray();

            _workItemTrackerServiceRepositoryMock.Setup(repository => repository
                                                        .GetWorkItemFile(It.IsAny <int>(), workItemFileId))
            .Returns(new GetWorkItemDocumentResponse
            {
                WorkItemDocument = new WorkItemDocument {
                    DocumentId = workItemFileId, DocumentName = expectedFileName
                }
            });

            _mediaServerServicerepositoryMock.Setup(repository => repository
                                                    .DownloadWorkItemFile(workItemFileId))
            .Returns(new GetFileStreamResponse
            {
                Contents     = expectedContent,
                DateCreated  = DateTime.UtcNow,
                DateModified = DateTime.UtcNow,
                FileGuid     = workItemFileId,
                FileName     = expectedFileName,
                MimeType     = expectedContentType
            });

            var fileResponse = GetWorkItemFile(workItemFileId) as FileContentResult;

            Assert.Equal(expectedFileName, fileResponse.FileDownloadName);
            Assert.Equal(expectedContentType, fileResponse.ContentType);
            Assert.Equal(expectedContent, fileResponse.FileContents);
        }
        public void create_a_work_item_file()
        {
            var workItemDocument = Any.WorkItemDocument();

            var workItemFile = new WorkItemFileCreateModel
            {
                WorkItemFileName    = Any.String(),
                WorkItemFileContent = Any.ByteArray()
            };

            _workItemTrackerServiceRepositoryMock.Setup(repository => repository
                                                        .CreateWorkItemFile(workItemDocument.WorkItemId, workItemDocument.DocumentId, workItemFile))
            .Returns(new WorkItemDocumentResponse {
                WorkItemDocument = workItemDocument, Success = true
            });

            var expectedFileId      = workItemDocument.DocumentId;
            var expectedFileName    = workItemDocument.DocumentName;
            var expectedCreatedDate = workItemDocument.CreatedDate;
            var expectedDeleteFlag  = workItemDocument.DeleteFlag;
            var expectedWorkItemId  = workItemDocument.WorkItemId;

            var response = CreateWorkItemFile(workItemDocument, workItemFile) as CreatedResult;

            var actualWorkItemDocument = (response.Value as ResourceWrapper <WorkItemFileCreateInfoModel>).Value as WorkItemFileCreateInfoModel;

            Assert.Equal(201, response.StatusCode);
            Assert.Equal(expectedFileId, actualWorkItemDocument.WorkItemFile.FileId);
            Assert.Equal(expectedFileName, actualWorkItemDocument.WorkItemFile.FileName);
            Assert.Equal(expectedCreatedDate, actualWorkItemDocument.WorkItemFile.CreatedDate);
            Assert.Equal(expectedDeleteFlag, actualWorkItemDocument.WorkItemFile.DeleteFlag);
            Assert.Equal(expectedWorkItemId, actualWorkItemDocument.WorkItemId);
        }
Esempio n. 3
0
        private string DownloadWorkItemFile(string workItemFileId)
        {
            var mediaServerServiceMock         = new Mock <IMediaServerService>();
            var mediaServerServiceMockDelegate = new Mock <Func <IMediaServerService> >();

            mediaServerServiceMock.Setup(settings => settings
                                         .AddFileStreamAsync(It.IsAny <AddFileStreamRequest>()))
            .Returns(Task.FromResult(new AddFileStreamResponse {
                Guid = workItemFileId
            }));

            mediaServerServiceMockDelegate.Setup(x => x()).Returns(mediaServerServiceMock.Object);

            return(new MediaServerServiceRepository(mediaServerServiceMockDelegate.Object).AddWorkItemFile(
                       new WorkItemFileCreateModel {
                WorkItemFileName = Any.String(), WorkItemFileContent = Any.ByteArray()
            }));
        }
        public void return_a_400_Bad_Request_response_code_when_work_item_service_returns_an_error()
        {
            var workItemDocument = Any.WorkItemDocument();

            var workItemFile = new WorkItemFileCreateModel
            {
                WorkItemFileName    = Any.String(),
                WorkItemFileContent = Any.ByteArray()
            };

            var workItemTrackerServiceErrorMessage = "WIT Service Error";

            _workItemTrackerServiceRepositoryMock.Setup(repository => repository
                                                        .CreateWorkItemFile(workItemDocument.WorkItemId, workItemDocument.DocumentId, workItemFile))
            .Returns(new WorkItemDocumentResponse {
                WorkItemDocument = workItemDocument, Success = false, ErrorMessage = workItemTrackerServiceErrorMessage
            });

            var response = (CreateWorkItemFile(workItemDocument, workItemFile) as BadRequestObjectResult).Value as ApiBadRequestResponse;

            Assert.Equal(400, response.StatusCode);
            Assert.Contains(workItemTrackerServiceErrorMessage, response.Errors);
        }
        public void retrieve_work_item_file()
        {
            var expectedResponse = new GetFileStreamResponse
            {
                Contents     = Any.ByteArray(),
                DateCreated  = DateTime.UtcNow,
                DateModified = DateTime.UtcNow,
                FileGuid     = Guid.NewGuid().ToString(),
                FileName     = $"{ Any.String() }.pdf",
                MimeType     = "application/pdf"
            };

            var mediaServerServiceMock = new Mock <IMediaServerService>();

            mediaServerServiceMock.Setup(settings => settings
                                         .GetFileStreamAsync(It.Is <GetFileStreamRequest>(request => request.Guid == expectedResponse.FileGuid)))
            .Returns(Task.FromResult(expectedResponse));

            var actualResponse = DownloadWorkItemFile(() =>
                                                      { return(mediaServerServiceMock.Object); },
                                                      expectedResponse.FileGuid);

            Assert.Equal(expectedResponse, actualResponse);
        }