private void TestPut(string relativeUri, string payload) { var headers = new Dictionary<string, string> { { "Content-Type", "application/json" } }; var request = new HttpWebRequestMessage( new DataServiceClientRequestMessageArgs( "Put", new Uri(this.TestClientContext.BaseUri, relativeUri), false, false, headers)); using (var stream = request.GetStream()) using (var writer = new StreamWriter(stream)) { writer.Write(payload); } using (var response = request.GetResponse() as HttpWebResponseMessage) { Assert.Equal(200, response.StatusCode); } }
public void UQProperty() { this.TestClientContext.MergeOption = MergeOption.OverwriteChanges; // Post an entity Person person = new Person() { FirstName = "Sheldon", LastName = "Cooper", UserName = "******" }; this.TestClientContext.AddToPeople(person); this.TestClientContext.SaveChanges(); int personId = person.PersonId; // Query a property var lastName = this.TestClientContext.People .Where(p => p.PersonId == personId).Select(p => p.LastName) .SingleOrDefault(); Assert.Equal("Cooper", lastName); // Update a property Dictionary<string, string> headers = new Dictionary<string, string>() { { "Content-Type", "application/json" } }; HttpWebRequestMessage request = new HttpWebRequestMessage( new DataServiceClientRequestMessageArgs( "Put", new Uri(string.Format(this.TestClientContext.BaseUri + "/People({0})/LastName", personId), UriKind.Absolute), false, false, headers)); using (var stream = request.GetStream()) using (StreamWriter writer = new StreamWriter(stream)) { var Payload = @"{""value"":""Lee""}"; writer.Write(Payload); } using (var response = request.GetResponse() as HttpWebResponseMessage) { Assert.Equal(200, response.StatusCode); } // Query a property's value : ~/$value headers.Clear(); ODataMessageReaderSettings readerSettings = new ODataMessageReaderSettings { BaseUri = this.TestClientContext.BaseUri }; request = new HttpWebRequestMessage( new DataServiceClientRequestMessageArgs( "Get", new Uri(string.Format(this.TestClientContext.BaseUri + "/People({0})/LastName/$value", personId), UriKind.Absolute), false, false, headers)); using (var response = request.GetResponse() as HttpWebResponseMessage) { Assert.Equal(200, response.StatusCode); using (var stream = response.GetStream()) { StreamReader reader = new StreamReader(stream); var expectedPayload = "Lee"; var content = reader.ReadToEnd(); Assert.Equal(expectedPayload, content); } } }