public void can_delete_many_states() { // Arrange var request = new DeleteStatesRequest() { ActivityId = new Uri(ACTIVITY_ID), Agent = new Agent() { Name = AGENT_NAME, MBox = new Uri(AGENT_MBOX) }, Registration = REGISTRATION }; this._mockHttp .When(HttpMethod.Delete, this.GetApiUrl("activities/state")) .WithQueryString("activityId", ACTIVITY_ID) .WithQueryString("agent", AGENT_QS) .WithQueryString("registration", REGISTRATION.ToString()) .Respond(HttpStatusCode.NoContent); // Act Func <Task> action = async() => await this._client.States.DeleteMany(request); // Assert action.ShouldNotThrow(); }
private void CompleteOptions(RequestOptions options, DeleteStatesRequest request) { options.QueryStringParameters.Add("activityId", request.ActivityId.ToString()); string agentStr = JsonConvert.SerializeObject(request.Agent, new JsonSerializerSettings() { DefaultValueHandling = DefaultValueHandling.Ignore }); options.QueryStringParameters.Add("agent", agentStr); if (request.Registration.HasValue) { options.QueryStringParameters.Add("registration", request.Registration.Value.ToString()); } }
async Task IStatesApi.DeleteMany(DeleteStatesRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } request.Validate(); var options = new RequestOptions(ENDPOINT); this.CompleteOptions(options, request); await this._client.Delete(options); }