public async Task cannot_put_existing_activity_profile_when_etag_is_invalid() { // Arrange var state = new ActivityProfileDocument <string>() { Content = "foo", ETag = ETAG }; var request = PutActivityProfileRequest.Create(state); request.ActivityId = new Uri(ACTIVITY_ID); request.ProfileId = PROFILE_ID; this._mockHttp .When(HttpMethod.Put, this.GetApiUrl("activities/profile")) .WithQueryString("activityId", ACTIVITY_ID) .WithQueryString("profileId", PROFILE_ID) .WithHeaders("If-Match", ETAG) .Respond(HttpStatusCode.PreconditionFailed); // Act bool result = await this._client.ActivityProfiles.Put(request); // Assert result.Should().BeFalse(); }
async Task <bool> IActivityProfilesApi.Put <T>(PutActivityProfileRequest <T> request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } request.Validate(); var options = new RequestOptions(ENDPOINT); this.CompleteOptions(options, request); try { await this._client.PutJson(options, request.ActivityProfile); return(true); } catch (PreConditionFailedException) { return(false); } }
public async Task can_put_new_activity_profile() { // Arrange var state = new ActivityProfileDocument <string>() { Content = "foo" }; var request = PutActivityProfileRequest.Create(state); request.ActivityId = new Uri(ACTIVITY_ID); request.ProfileId = PROFILE_ID; this._mockHttp .When(HttpMethod.Put, this.GetApiUrl("activities/profile")) .WithQueryString("activityId", ACTIVITY_ID) .WithQueryString("profileId", PROFILE_ID) .WithHeaders("If-None-Match", "*") .Respond(HttpStatusCode.NoContent); // Act bool result = await this._client.ActivityProfiles.Put(request); // Assert result.Should().BeTrue(); }
private void CompleteOptions <T>(RequestOptions options, PutActivityProfileRequest <T> request) { this.CompleteOptionsBase(options, request); this.AddETagHeader(options, request.ActivityProfile.ETag); }