public void Add_Memory_Ranges() { // arrange var httpBuilder = new HttpFacadeBuilder(); httpBuilder.WithPostAsync(new HttpResponseMessage(HttpStatusCode.OK)); httpBuilder.WithPostJsonAsync(new HttpResponseMessage(HttpStatusCode.OK)); var settings = new Settings { ServerUrl = "https://some.server.net", ProjectName = "testing" }; var serverClient = new ServerClient { HttpFacade = httpBuilder.Build(), Settings = settings }; var headers = new HttpHeaders(); headers.Add("X-Project-Name", "testing"); var memoryChunk = new MemoryChunk { Position = new Position(0x10, 0x0), MemoryRange = new MemoryRange(0x100, 0x200), Bytes = new byte[] { 0x00, 0x11 } }; serverClient.AddMemoryRange(memoryChunk); var content = new AddMemoryRequest(memoryChunk); httpBuilder.Mock.Verify( facade => facade.PostJsonAsync(new Uri("https://some.server.net/api/memory"), content, headers), Times.Once); }
/// <inheritdoc /> public void AddMemoryRange(MemoryChunk memoryChunk) { var ub = new UriBuilder(Settings.ServerUrl) { Path = $"api/memory" }; var addMemoryRequest = new AddMemoryRequest(memoryChunk); var headers = new HttpHeaders { ["X-Project-Name"] = Settings.ProjectName }; HttpFacade.PostJsonAsync(ub.Uri, addMemoryRequest, headers).GetAwaiter().GetResult(); }
/// <summary> /// Adds raw memory to the analysis /// </summary> /// <param name="projectName">Name of the project.</param> /// <param name="request">The request.</param> /// <returns>IHttpActionResult.</returns> public IHttpActionResult Post([FromProjectNameHeader] string projectName, [FromBody] AddMemoryRequest request) { MemoryAccess.AddMemory(projectName, request.MemoryChunk); // todo: errors return(Ok()); }