예제 #1
0
        public async Task GetLayout_Should_Return_Layout_Metadata()
        {
            var mockHttp = new MockHttpMessageHandler();

            var server = "http://localhost";
            var file   = "test-file";
            var user   = "******";
            var pass   = "******";

            mockHttp.When(HttpMethod.Post, $"{server}/fmi/data/v1/databases/{file}/sessions")
            .Respond("application/json", DataApiResponses.SuccessfulAuthentication());

            var layoutData = System.IO.File.ReadAllText(Path.Combine("ResponseData", "SpecificLayout.json"));

            mockHttp.When($"{server}/fmi/data/v1/databases/{file}/layouts/*")
            .Respond("application/json", layoutData);

            var fdc = new FileMakerRestClient(mockHttp.ToHttpClient(), new ConnectionInfo {
                FmsUri = server, Database = file, Username = user, Password = pass
            });

            var response = await fdc.GetLayoutAsync("layout");

            Assert.NotNull(response);
            Assert.Equal("CustomerName", response.FieldMetaData.FirstOrDefault().Name);
            // sample data has one value list with two items
            Assert.Equal(2, response.ValueLists.First().Values.Count);
        }
예제 #2
0
        public async Task GetLayout_Should_Return_Layout_Name_With_Metadata()
        {
            var mockHttp = new MockHttpMessageHandler();

            var server = "http://localhost";
            var file   = "test-file";
            var user   = "******";
            var pass   = "******";

            mockHttp.When(HttpMethod.Post, $"{server}/fmi/data/v1/databases/{file}/sessions")
            .Respond("application/json", DataApiResponses.SuccessfulAuthentication());

            var layoutData = System.IO.File.ReadAllText("ResponseData\\SpecificLayout.json");

            mockHttp.When($"{server}/fmi/data/v1/databases/{file}/layouts/*")
            .Respond("application/json", layoutData);

            var fdc = new FileMakerRestClient(mockHttp.ToHttpClient(), new ConnectionInfo {
                FmsUri = server, Database = file, Username = user, Password = pass
            });

            var response = await fdc.GetLayoutAsync(file, "layout");

            Assert.NotNull(response);
            Assert.Equal("layout", response.Name);
        }