public void CreateFileTest() { string projectUid = Guid.NewGuid().ToString(); var createFileRequestModel = new CreateFileRequestModel { FileName = "myFirstProject.dc" }; var createFileResponseModel = new CreateFileResponseModel { FileSpaceId = Guid.NewGuid().ToString(), UploadUrl = $"{createFileRequestModel.FileName} {projectUid}" }; string route = $"/projects/{TRNHelper.MakeTRN(projectUid)}/file"; var expectedUrl = $"{baseUrl}{route}"; mockServiceResolution.Setup(m => m.ResolveRemoteServiceEndpoint( It.IsAny <string>(), It.IsAny <ApiType>(), It.IsAny <ApiVersion>(), route, It.IsAny <IList <KeyValuePair <string, string> > >())).Returns(Task.FromResult(expectedUrl)); MockUtilities.TestRequestSendsCorrectJson("Create a file", mockWebRequest, null, expectedUrl, HttpMethod.Post, createFileResponseModel, async() => { var client = ServiceProvider.GetRequiredService <ICwsDesignClient>(); var result = await client.CreateFile(new Guid(projectUid), createFileRequestModel); Assert.NotNull(result); Assert.Equal(createFileResponseModel.FileSpaceId, result.FileSpaceId); return(true); }); }
public CreateFileResponseModel CreateFile(string projectTrn, [Mvc.FromBody] CreateFileRequestModel createFileRequest) { var createFileResponse = new CreateFileResponseModel { FileSpaceId = Guid.NewGuid().ToString(), UploadUrl = $"{_baseUrl}/another_fake_upload_signed_url" }; Logger.LogInformation($"{nameof(CreateFile)}: projectTrn {projectTrn} createFileRequest {JsonConvert.SerializeObject(createFileRequest)} createFileResponse {JsonConvert.SerializeObject(createFileResponse)}"); _fileSpaceIdNameMap.Add(createFileResponse.FileSpaceId, $"{projectTrn}||{DateTime.UtcNow}||{createFileRequest.FileName}"); return(createFileResponse); }
public Task <CreateFileResponseModel> CreateAndUploadFile(Guid projectUid, CreateFileRequestModel createFileRequest, Stream fileContents, IHeaderDictionary customHeaders = null) { log.LogDebug($"{nameof(CreateAndUploadFile)} Mock: createFileRequest {JsonConvert.SerializeObject(createFileRequest)}"); var createFileResponse = new CreateFileResponseModel { FileSpaceId = Guid.NewGuid().ToString(), UploadUrl = "uploadurl: FileSpaceId" }; log.LogDebug($"{nameof(CreateAndUploadFile)} Mock: createFileResponse {JsonConvert.SerializeObject(createFileResponse)}"); return(Task.FromResult(createFileResponse)); }
public void CreateAndUploadFileTest() { string projectUid = Guid.NewGuid().ToString(); var createFileRequestModel = new CreateFileRequestModel { FileName = "myFirstProject.dc" }; var uploadUrl = $"{createFileRequestModel.FileName} {projectUid}"; var createFileResponseModel = new CreateFileResponseModel { FileSpaceId = Guid.NewGuid().ToString(), UploadUrl = uploadUrl }; var fileContents = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 }; string route = $"/projects/{TRNHelper.MakeTRN(projectUid)}/file"; var expectedUrl = $"{baseUrl}{route}"; mockServiceResolution.Setup(m => m.ResolveRemoteServiceEndpoint( It.IsAny <string>(), It.IsAny <ApiType>(), It.IsAny <ApiVersion>(), route, It.IsAny <IList <KeyValuePair <string, string> > >())).Returns(Task.FromResult(expectedUrl)); var expectedContent = new StringContent("Dummy"); mockWebRequest.Setup(s => s.ExecuteRequestAsStreamContent(uploadUrl, HttpMethod.Put, It.IsAny <IHeaderDictionary>(), It.IsAny <Stream>(), null, 3, false)) .Returns(Task.FromResult(expectedContent as HttpContent)); MockUtilities.TestRequestSendsCorrectJson("Create and upload a file", mockWebRequest, null, expectedUrl, HttpMethod.Post, createFileResponseModel, async() => { var client = ServiceProvider.GetRequiredService <ICwsDesignClient>(); using (var ms = new MemoryStream(fileContents)) { var result = await client.CreateAndUploadFile(new Guid(projectUid), createFileRequestModel, ms); Assert.NotNull(result); Assert.Equal(createFileResponseModel.FileSpaceId, result.FileSpaceId); } return(true); }); }