public async Task cannot_delete_existing_state_with_invalid_etag() { // Arrange var state = new StateDocument <string>() { Content = "foo", ETag = ETAG }; var request = DeleteStateRequest.Create(state); request.ActivityId = new Uri(ACTIVITY_ID); request.Agent = new Agent() { Name = AGENT_NAME, MBox = new Uri(AGENT_MBOX) }; request.Registration = REGISTRATION; request.StateId = STATE_ID; this._mockHttp .When(HttpMethod.Delete, this.GetApiUrl("activities/state")) .WithQueryString("activityId", ACTIVITY_ID) .WithQueryString("agent", AGENT_QS) .WithQueryString("registration", REGISTRATION.ToString()) .WithQueryString("stateId", STATE_ID) .WithHeaders("If-Match", ETAG) .Respond(HttpStatusCode.PreconditionFailed); // Act bool result = await this._client.States.Delete(request); // Assert result.Should().BeFalse(); }
public async Task can_delete_existing_state() { // Arrange var state = new StateDocument <string>() { Content = "foo" }; var request = DeleteStateRequest.Create(state); request.ActivityId = new Uri(ACTIVITY_ID); request.Agent = new Agent() { Name = AGENT_NAME, MBox = new Uri(AGENT_MBOX) }; request.Registration = REGISTRATION; request.StateId = STATE_ID; this._mockHttp .When(HttpMethod.Delete, this.GetApiUrl("activities/state")) .WithQueryString("activityId", ACTIVITY_ID) .WithQueryString("agent", AGENT_QS) .WithQueryString("registration", REGISTRATION.ToString()) .WithQueryString("stateId", STATE_ID) .With(x => x.Headers.IfNoneMatch.Count == 0 && x.Headers.IfMatch.Count == 0) .Respond(HttpStatusCode.NoContent); // Act bool result = await this._client.States.Delete(request); // Assert result.Should().BeTrue(); }
private void CompleteOptions(RequestOptions options, DeleteStateRequest request) { this.CompleteOptionsBase(options, request); if (!string.IsNullOrEmpty(request.ETag)) { this.AddETagHeader(options, request.ETag); } }
public void DeleteState(int idState) { var business = StateBusiness.Instance; var request = new DeleteStateRequest(this.Context); request.IdState = idState; business.DeleteState(request); }
public void DeleteState(DeleteStateRequest request) { if (request != null) { var dataAccess = new StateDataAccess(request.Context); var state = dataAccess.GetById(request.IdState); dataAccess.Delete(state.FirstOrDefault()); } }
async Task <bool> IStatesApi.Delete(DeleteStateRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } request.Validate(); var options = new RequestOptions(ENDPOINT); this.CompleteOptions(options, request); try { await this._client.Delete(options); return(true); } catch (PreConditionFailedException) { return(false); } }