public async Task GetGraphImportStatus_Success() { // Arrange var expectedResponse = new NeptuneLoaderStatusResponse { Status = "200 OK", LoadStatus = "LOAD_COMPLETED", StartTime = "1598252845" }; _mockNeptuneLoaderConnector.Setup(x => x.GetStatus(It.IsAny <Guid>())).ReturnsAsync(expectedResponse); // Act var result = await _service.GetGraphImportStatus(It.IsAny <Guid>()); // Assert Assert.NotNull(result); Assert.Equal(expectedResponse.Status, result.Status); Assert.Equal(expectedResponse.LoadStatus, result.LoadStatus); Assert.Equal(expectedResponse.StartTime, result.StartTime); }
/// <summary> /// Get the import-status for the given load id. /// </summary> /// <param name="loadId">the id to fetch the status for</param> public async Task <NeptuneLoaderStatusResponse> GetStatus(Guid loadId) { using var client = _clientFactory.CreateClient(); var path = $"{_loaderUrl}/{loadId}"; var response = await client.GetAsync(path); var responseContent = await response.Content.ReadAsStringAsync(); var neptuneResponse = JsonConvert.DeserializeObject <JObject>(responseContent); var status = new NeptuneLoaderStatusResponse { Status = neptuneResponse["status"]?.ToString(), LoadStatus = neptuneResponse["payload"]?["overallStatus"]?["status"]?.ToString(), StartTime = neptuneResponse["payload"]?["overallStatus"]?["startTime"]?.ToString() }; return(status); }