Exemplo n.º 1
0
        public async Task EditRecord_ShouldMatch_SentData()
        {
            // arrange
            var nameToMatch = "fuzzzerd";

            var mockHttp = new MockHttpMessageHandler();

            mockHttp.When(HttpMethod.Post, $"{_server}/fmi/xml/fmresultset.xml")
            .WithPartialContent($"-edit")
            .WithPartialContent(nameToMatch)
            .Respond(HttpStatusCode.OK, "application/xml", "");

            var fdc = new FileMakerXmlClient(mockHttp.ToHttpClient(), _server, _file, _user, _pass);

            var mtoEdit = new User()
            {
                Id   = 3,
                Name = nameToMatch
            };

            var response = await fdc.EditAsync(5, mtoEdit);

            Assert.NotNull(response);
            Assert.Contains(response.Messages, r => r.Message == "OK");
        }
Exemplo n.º 2
0
        public async Task FindRecord_WithPortal_Should_MatchLength()
        {
            // arrange
            var mockHttp = new MockHttpMessageHandler();

            mockHttp.When(HttpMethod.Post, $"{_server}/fmi/xml/fmresultset.xml")
            .WithPartialContent("-find")
            .WithPartialContent(Uri.EscapeDataString("Spring in Giverny 3"))
            .Respond(HttpStatusCode.OK, "application/xml", XmlResponses.GrammarSample_fmresultset);

            var fdc = new FileMakerXmlClient(mockHttp.ToHttpClient(), _server, _file, _user, _pass);

            var findRequest = new ArtWithPortal()
            {
                Title = "Spring in Giverny 3"
            };

            var response = await fdc.FindAsync(findRequest);

            Assert.NotEmpty(response);
            var first = response.First();

            Assert.Equal(19, first.Length);
            Assert.Equal("Chicago", first.Locations.First().Location);
        }
Exemplo n.º 3
0
        public async Task GetProductInfo_Should_Return_OK()
        {
            var mockHttp = new MockHttpMessageHandler();

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

            var productInfo = System.IO.File.ReadAllText(Path.Combine("ResponseData", "ProductInfo.xml"));

            mockHttp.When($"{server}/fmi/xml/fmresultset.xml")
            .Respond("application/xml", productInfo);

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

            var response = await fdc.GetProductInformationAsync();

            Assert.NotNull(response);
            Assert.NotEmpty(response.Name);
        }
Exemplo n.º 4
0
        public async Task CreateRecord_ShouldMatch_SentData()
        {
            // arrange
            var nameToMatch = "fuzzzerd";

            var mockHttp = new MockHttpMessageHandler();

            mockHttp.When($"{server}/fmi/xml/fmresultset.xml")
            .WithPartialContent($"-new")
            .WithPartialContent($"-db={file}")
            .WithPartialContent(nameToMatch)
            .Respond(HttpStatusCode.OK, "application/json", "");

            var fdc = new FileMakerXmlClient(mockHttp.ToHttpClient(), server, file, user, pass);

            var mtoCreate = new User()
            {
                Id   = 3,
                Name = nameToMatch
            };

            var response = await fdc.CreateAsync(mtoCreate);

            Assert.NotNull(response);
            Assert.Contains(response.Messages, r => r.Message == "OK");
        }
Exemplo n.º 5
0
        public void GenFind_ShouldBeFindRequest()
        {
            //arrange
            var fmc = new FileMakerXmlClient("", "", "", "");

            // act
            var req = fmc.GenerateFindRequest <TestModels.User>();

            //assert
            Assert.IsAssignableFrom <FindRequest <TestModels.User> >(req);
        }
Exemplo n.º 6
0
        public void GenDelete_ShouldBeDeleteRequest()
        {
            //arrange
            var fmc = new FileMakerXmlClient("", "", "", "");

            // act
            var req = fmc.GenerateDeleteRequest();

            //assert
            Assert.IsAssignableFrom <DeleteRequest>(req);
        }
Exemplo n.º 7
0
        public async Task DeleteRecord_ShouldHaveDelete()
        {
            // arrange
            var nameToMatch = "-recid=15";

            var mockHttp = new MockHttpMessageHandler();

            mockHttp.When(HttpMethod.Post, $"{server}/fmi/xml/fmresultset.xml")
            .WithPartialContent($"-delete")
            .WithPartialContent(nameToMatch)
            .Respond(HttpStatusCode.OK, "application/xml", "");

            var fdc = new FileMakerXmlClient(mockHttp.ToHttpClient(), server, file, user, pass);

            var response = await fdc.DeleteAsync(15, "layout");

            Assert.NotNull(response);
            Assert.Contains(response.Messages, r => r.Message == "OK");
        }
Exemplo n.º 8
0
        public async Task FindRecord_Should_MatchName()
        {
            // arrange
            var mockHttp = new MockHttpMessageHandler();

            mockHttp.When(HttpMethod.Post, $"{server}/fmi/xml/fmresultset.xml")
            .WithPartialContent("-find")
            .WithPartialContent(Uri.EscapeDataString("Spring in Giverny 3"))
            .Respond(HttpStatusCode.OK, "application/xml", XmlResponses.GrammarSample_fmresultset);

            var fdc = new FileMakerXmlClient(mockHttp.ToHttpClient(), server, file, user, pass);

            var toFind = new Art()
            {
                Title = "Spring in Giverny 3"
            };

            var response = await fdc.FindAsync(toFind);

            Assert.NotEmpty(response);
            var first = response.First();

            Assert.Equal("Spring in Giverny 3", first.Title);
        }