private async Task <NightWatchTXRClientTestResult> DoPartitionRun(string endpoint, NightWatchTXRClientTestParameters clientTestParameters, int partitionKey) { var runResponse = await SendRunRequest(endpoint, clientTestParameters); //if the run request's response indicating any status other than running, service has failed to start the test. hence, returning the error msg. if (runResponse.Status != NightWatchTXRClientTestStatus.Running) { return(runResponse as NightWatchTXRClientTestResult); } var result = await CheckResults(endpoint, partitionKey); if (result != null) { Console.WriteLine($"partition {partitionKey} test is done. results: {JsonConvert.SerializeObject(result)}"); } else { Console.WriteLine($"partition {partitionKey} test result is not obtained."); } return(result); }
private async Task <NightWatchTXRClientBaseResult> SendRunRequest(string address, NightWatchTXRClientTestParameters clientTestParameters) { var payload = JsonConvert.SerializeObject(new NightWatchTXRClientRunParameters() { NumberOfOperations = clientTestParameters.NumberOfOperations, MaxOutstandingOperations = clientTestParameters.MaxOutstandingOperations, OperationSize = clientTestParameters.OperationSize, Action = NightWatchTXRClientTestAction.Run }, new JsonSerializerSettings()); var response = await SendRequest(address, payload); var responseString = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <NightWatchTXRClientBaseResult>(responseString)); }