public async Task Delete_Should_Throw_FMDataException_For_InternalServerError() { // arrange // NOT DRY, but used to specify special request endpoints var mockHttp = new MockHttpMessageHandler(); var server = "http://localhost"; var file = "test-file"; var user = "******"; var pass = "******"; var layout = "Users"; mockHttp.When($"{server}/fmi/data/v1/databases/{file}/sessions") .Respond("application/json", DataApiResponses.SuccessfulAuthentication()); mockHttp.When(HttpMethod.Delete, $"{server}/fmi/data/v1/databases/{file}/layouts/{layout}/records/*") .Respond(HttpStatusCode.InternalServerError, "application/json", DataApiResponses.LayoutNotFound()); var mockedClient = mockHttp.ToHttpClient(); var fdc = new FileMakerRestClient(mockedClient, new ConnectionInfo { FmsUri = server, Database = file, Username = user, Password = pass }); // act // assert await Assert.ThrowsAsync <FMDataException>(async() => await fdc.DeleteAsync <TestModels.User>(2)); }
public async Task SendAsyncFind_WithBadLayout_Throws() { // 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(HttpMethod.Post, $"{FindTestsHelpers.Server}/fmi/data/v1/databases/{FindTestsHelpers.File}/layouts/*") .Respond(HttpStatusCode.InternalServerError, "application/json", DataApiResponses.LayoutNotFound()); var fdc = new FileMakerRestClient(mockHttp.ToHttpClient(), FindTestsHelpers.Connection); // act // assert await Assert.ThrowsAsync <FMDataException>(async() => await fdc.SendAsync(FindTestsHelpers.FindUserReqWithLayoutOverride())); }