Exemple #1
0
        public void TestODataSimplifiedServiceCreateEntity()
        {
            TestClientContext.EnableWritingODataAnnotationWithoutPrefix = true;
            TestClientContext.SendingRequest2 += (sender, eventArgs) => ((Microsoft.OData.Client.HttpClientRequestMessage)eventArgs.RequestMessage).SetHeader("Accept", "application/json;odata.metadata=full");

            var person = new Person
            {
                PersonId  = 99,
                FirstName = "Jack",
                LastName  = "Jones",
                Address   = new Address
                {
                    Road = "Ziyue Road",
                    City = "Shanghai"
                },
                Descriptions = new ObservableCollection <string> {
                    "Kindly"
                }
            };

            TestClientContext.AddToPeople(person);
            TestClientContext.SaveChanges();

            TestClientContext.Detach(person);
            var personReturned = TestClientContext.People.ByKey(new Dictionary <string, object> {
                { "PersonId", person.PersonId }
            }).GetValue();

            Assert.Equal(person.PersonId, personReturned.PersonId);
        }
Exemple #2
0
        // [Ignore] // Remove Atom
        // [Fact] // github issuse: #896
        public void InsertUsingAtomShouldBeFailedClientTest()
        {
            // TestClientContext.Format.UseAtom();

            Person newPerson = new Person()
            {
                PersonID    = 10001,
                FirstName   = "New",
                LastName    = "Person",
                MiddleName  = "Guy",
                Home        = GeographyPoint.Create(32.1, 23.1),
                HomeAddress = new HomeAddress
                {
                    City       = "Shanghai",
                    Street     = "Zixing Rd",
                    PostalCode = "200241",
                    FamilyName = "New"
                }
            };

            TestClientContext.AddToPeople(newPerson);
            try
            {
                TestClientContext.SaveChanges();
            }
            catch (Microsoft.OData.Client.DataServiceRequestException e)
            {
                var message = e.InnerException.Message;
                Assert.True(message.StartsWith("A supported MIME type could not be found that matches the content type of the response."));
                return;
            }
        }
        [TestMethod]//--#comment#--[TestMethod]
        public void ActionBoundOnEntityWithCollectionParameter()
        {
            TestClientContext.MergeOption = Microsoft.OData.Client.MergeOption.OverwriteChanges;
            Person newPerson = new Person()
            {
                FirstName = "Bob",
                LastName  = "Cat",
                Numbers   = new ObservableCollection <string> {
                    "111-111-1111"
                },
                Emails = new ObservableCollection <string> {
                    "*****@*****.**"
                },
                PersonID    = random.Next(),
                Home        = GeographyPoint.Create(32.1, 23.1),
                HomeAddress = new Address()
                {
                    City = "London", PostalCode = "98052", Street = "1 Microsoft Way"
                }
            };

            TestClientContext.AddToPeople(newPerson);
            TestClientContext.SaveChanges();
            var customer = TestClientContext.People.Where(c => c.PersonID == newPerson.PersonID).Single();
            var person   = customer.ResetAddress(
                new ObservableCollection <Address>()
            {
                new Address()
                {
                    City = "London", PostalCode = "11111", Street = "2 Microsoft Way"
                },
                new Address()
                {
                    City = "London", PostalCode = "22222", Street = "3 Microsoft Way"
                },
            }, 1).GetValue();

            Assert.AreEqual("22222", person.HomeAddress.PostalCode);

            person = TestClientContext.People.Where(c => c.PersonID == newPerson.PersonID).Single();
            Assert.AreEqual("22222", person.HomeAddress.PostalCode);

            person = customer.ResetAddress(
                new ObservableCollection <Address>()
            {
                new Address()
                {
                    City = "London", PostalCode = "11111", Street = "2 Microsoft Way"
                },
                null
            }, 1).GetValue();
            Assert.AreEqual(null, person.HomeAddress);
        }