public async Task EditAsync_Should_Throw_FMDataException_For_InternalServerError() { // arrange var mockHttp = new MockHttpMessageHandler(); mockHttp.When(HttpMethod.Post, $"{FindTestsHelpers.Server}/fmi/data/v1/databases/{FindTestsHelpers.File}/sessions") .Respond("application/json", DataApiResponses.SuccessfulAuthentication()); mockHttp.When(new HttpMethod("PATCH"), $"{s_server}/fmi/data/v1/databases/{s_file}/layouts/{s_layout}/records*") .WithPartialContent("fieldData") .Respond(HttpStatusCode.InternalServerError, "application/json", DataApiResponses.FieldNotFound()); var fdc = new FileMakerRestClient(mockHttp.ToHttpClient(), FindTestsHelpers.Connection); var req = new EditRequest <Dictionary <string, string> >() { Layout = s_layout, RecordId = 264, Data = new Dictionary <string, string>() { { "Name", "Fuzzerd-Updated" }, { "AnotherField", "Another-Updated" } } }; // act // assert await Assert.ThrowsAsync <FMDataException>(async() => await fdc.SendAsync(req)); }
public async Task CreateRequest_Should_Throw_FMDataException_For_InternalServerError() { var mockHttp = new MockHttpMessageHandler(); mockHttp.When(HttpMethod.Post, $"{s_server}/fmi/data/v1/databases/{s_file}/layouts/{s_layout}/records*") .Respond(HttpStatusCode.InternalServerError, "application/json", DataApiResponses.FieldNotFound()); var fdc = GetDataClientWithMockedHandler(mockHttp); var req = new CreateRequest <User>() { Layout = "layout", Data = new User { Name = "test name" }, Script = "run_this_script_reg", PreRequestScript = "run_this_script_preq", PreSortScript = "run_this_script_psort" }; // act // assert await Assert.ThrowsAsync <FMDataException>(async() => await fdc.SendAsync(req)); }
public async Task Find_For_Missing_Field_Should_Throw_FMDataException() { // arrange var mockHttp = new MockHttpMessageHandler(); var layout = FileMakerRestClient.GetLayoutName(new User()); mockHttp.When(HttpMethod.Post, $"{FindTestsHelpers.Server}/fmi/data/v1/databases/{FindTestsHelpers.File}/sessions") .Respond("application/json", DataApiResponses.SuccessfulAuthentication()); mockHttp.When(HttpMethod.Post, $"{FindTestsHelpers.Server}/fmi/data/v1/databases/{FindTestsHelpers.File}/layouts/{layout}/_find") .Respond(HttpStatusCode.InternalServerError, "application/json", DataApiResponses.FieldNotFound()); var fdc = new FileMakerRestClient(mockHttp.ToHttpClient(), FindTestsHelpers.Connection); var toFind = new User() { Id = 35 }; // act // assert await Assert.ThrowsAsync <FMDataException>(async() => await fdc.FindAsync(toFind)); }