Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }