public void SerializeDeserializeJson() { var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage)); var message = GetStandardTestMessage(FieldFill.CompleteBeforeBindings); var ms = new MemoryStream(); var writer = JsonReaderWriterFactory.CreateJsonWriter(ms, Encoding.UTF8); MessageSerializer.Serialize(this.MessageDescriptions.GetAccessor(message), writer); writer.Flush(); string actual = Encoding.UTF8.GetString(ms.ToArray()); string expected = @"{""age"":15,""Name"":""Andrew"",""Location"":""http:\/\/localtest\/path"",""Timestamp"":""2008-09-19T08:00:00Z""}"; Assert.AreEqual(expected, actual); ms.Position = 0; var deserialized = new Mocks.TestDirectedMessage(); var reader = JsonReaderWriterFactory.CreateJsonReader(ms, XmlDictionaryReaderQuotas.Max); MessageSerializer.Deserialize(this.MessageDescriptions.GetAccessor(deserialized), reader); Assert.AreEqual(message.Age, deserialized.Age); Assert.AreEqual(message.EmptyMember, deserialized.EmptyMember); Assert.AreEqual(message.Location, deserialized.Location); Assert.AreEqual(message.Name, deserialized.Name); Assert.AreEqual(message.Timestamp, deserialized.Timestamp); }
public void CtorWithProtocolMessage() { IProtocolMessage message = new Mocks.TestDirectedMessage(); ProtocolException ex = new ProtocolException("message", message); Assert.AreSame(message, ex.FaultedMessage); }
public void DeserializeInvalidMessage() { IProtocolMessage message = new Mocks.TestDirectedMessage(); var serializer = MessageSerializer.Get(message.GetType()); var fields = GetStandardTestFields(FieldFill.AllRequired); fields["age"] = "-1"; // Set an disallowed value. serializer.Deserialize(fields, this.MessageDescriptions.GetAccessor(message)); }
public async Task DirectRequestsUsePost() { IDirectedProtocolMessage requestMessage = new Mocks.TestDirectedMessage(MessageTransport.Direct) { Recipient = new Uri("http://host"), Name = "Andrew", }; var httpRequest = this.channel.CreateHttpRequestTestHook(requestMessage); Assert.AreEqual(HttpMethod.Post, httpRequest.Method); StringAssert.Contains("Name=Andrew", await httpRequest.Content.ReadAsStringAsync()); }
public void DirectRequestsUsePost() { IDirectedProtocolMessage requestMessage = new Mocks.TestDirectedMessage(MessageTransport.Direct) { Recipient = new Uri("http://host"), Name = "Andrew", }; HttpWebRequest httpRequest = this.channel.CreateHttpRequestTestHook(requestMessage); Assert.AreEqual("POST", httpRequest.Method); StringAssert.Contains("Name=Andrew", this.webHandler.RequestEntityAsString); }
public void DeserializeInvalidMessage() { IProtocolMessage message = new Mocks.TestDirectedMessage(); var serializer = MessageSerializer.Get(message.GetType()); var fields = GetStandardTestFields(FieldFill.AllRequired); fields["age"] = "-1"; // Set an disallowed value. serializer.Deserialize(fields, this.MessageDescriptions.GetAccessor(message)); }
public async Task DirectRequestsUsePost() { IDirectedProtocolMessage requestMessage = new Mocks.TestDirectedMessage(MessageTransport.Direct) { Recipient = new Uri("http://host"), Name = "Andrew", }; var httpRequest = this.channel.CreateHttpRequestTestHook(requestMessage); Assert.AreEqual(HttpMethod.Post, httpRequest.Method); StringAssert.Contains("Name=Andrew", await httpRequest.Content.ReadAsStringAsync()); }
public void DirectRequestsUsePost() { IDirectedProtocolMessage requestMessage = new Mocks.TestDirectedMessage(MessageTransport.Direct) { Recipient = new Uri("http://host"), Name = "Andrew", }; HttpWebRequest httpRequest = this.channel.CreateHttpRequestTestHook(requestMessage); Assert.AreEqual("POST", httpRequest.Method); StringAssert.Contains("Name=Andrew", this.webHandler.RequestEntityAsString); }
public void DeserializeSimple() { var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage)); Dictionary<string, string> fields = new Dictionary<string, string>(StringComparer.Ordinal); fields["Name"] = "Andrew"; fields["age"] = "15"; fields["Timestamp"] = "1990-01-01T00:00:00"; var actual = new Mocks.TestDirectedMessage(); serializer.Deserialize(fields, this.MessageDescriptions.GetAccessor(actual)); Assert.AreEqual(15, actual.Age); Assert.AreEqual("Andrew", actual.Name); Assert.AreEqual(DateTime.Parse("1/1/1990"), actual.Timestamp); Assert.IsNull(actual.EmptyMember); }
public async Task BadRequestsGenerateValidErrorResponses() { this.RegisterAutoProvider(); var rp = this.CreateRelyingParty(); var nonOpenIdMessage = new Mocks.TestDirectedMessage { Recipient = OPUri, HttpMethods = HttpDeliveryMethods.PostRequest }; MessagingTestBase.GetStandardTestMessage(MessagingTestBase.FieldFill.AllRequired, nonOpenIdMessage); var response = await rp.Channel.RequestAsync <DirectErrorResponse>(nonOpenIdMessage, CancellationToken.None); Assert.IsNotNull(response.ErrorMessage); Assert.AreEqual(Protocol.Default.Version, response.Version); }
public void BadRequestsGenerateValidErrorResponses() { var coordinator = new OpenIdCoordinator( rp => { var nonOpenIdMessage = new Mocks.TestDirectedMessage(); nonOpenIdMessage.Recipient = OPUri; nonOpenIdMessage.HttpMethods = HttpDeliveryMethods.PostRequest; MessagingTestBase.GetStandardTestMessage(MessagingTestBase.FieldFill.AllRequired, nonOpenIdMessage); var response = rp.Channel.Request <DirectErrorResponse>(nonOpenIdMessage); Assert.IsNotNull(response.ErrorMessage); Assert.AreEqual(Protocol.Default.Version, response.Version); }, AutoProvider); coordinator.Run(); }
public void BadRequestsGenerateValidErrorResponses() { var coordinator = new OpenIdCoordinator( rp => { var nonOpenIdMessage = new Mocks.TestDirectedMessage(); nonOpenIdMessage.Recipient = OPUri; nonOpenIdMessage.HttpMethods = HttpDeliveryMethods.PostRequest; MessagingTestBase.GetStandardTestMessage(MessagingTestBase.FieldFill.AllRequired, nonOpenIdMessage); var response = rp.Channel.Request<DirectErrorResponse>(nonOpenIdMessage); Assert.IsNotNull(response.ErrorMessage); Assert.AreEqual(Protocol.Default.Version, response.Version); }, AutoProvider); coordinator.Run(); }
public void DeserializeSimple() { var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage)); Dictionary <string, string> fields = new Dictionary <string, string>(StringComparer.Ordinal); fields["Name"] = "Andrew"; fields["age"] = "15"; fields["Timestamp"] = "1990-01-01T00:00:00"; var actual = new Mocks.TestDirectedMessage(); serializer.Deserialize(fields, this.MessageDescriptions.GetAccessor(actual)); Assert.AreEqual(15, actual.Age); Assert.AreEqual("Andrew", actual.Name); Assert.AreEqual(DateTime.Parse("1/1/1990"), actual.Timestamp); Assert.IsNull(actual.EmptyMember); }
public void BadRequestsGenerateValidErrorResponsesHosted() { try { using (AspNetHost host = AspNetHost.CreateHost(TestWebDirectory)) { Uri opEndpoint = new Uri(host.BaseUri, "/OpenIdProviderEndpoint.ashx"); var rp = new OpenIdRelyingParty(null); var nonOpenIdMessage = new Mocks.TestDirectedMessage(); nonOpenIdMessage.Recipient = opEndpoint; nonOpenIdMessage.HttpMethods = HttpDeliveryMethods.PostRequest; MessagingTestBase.GetStandardTestMessage(MessagingTestBase.FieldFill.AllRequired, nonOpenIdMessage); var response = rp.Channel.Request <DirectErrorResponse>(nonOpenIdMessage); Assert.IsNotNull(response.ErrorMessage); } } catch (FileNotFoundException ex) { Assert.Inconclusive("Unable to execute hosted ASP.NET tests because {0} could not be found. {1}", ex.FileName, ex.FusionLog); } }
public void BadRequestsGenerateValidErrorResponsesHosted() { try { using (AspNetHost host = AspNetHost.CreateHost(TestWebDirectory)) { Uri opEndpoint = new Uri(host.BaseUri, "/OpenIdProviderEndpoint.ashx"); var rp = new OpenIdRelyingParty(null); var nonOpenIdMessage = new Mocks.TestDirectedMessage(); nonOpenIdMessage.Recipient = opEndpoint; nonOpenIdMessage.HttpMethods = HttpDeliveryMethods.PostRequest; MessagingTestBase.GetStandardTestMessage(MessagingTestBase.FieldFill.AllRequired, nonOpenIdMessage); var response = rp.Channel.Request<DirectErrorResponse>(nonOpenIdMessage); Assert.IsNotNull(response.ErrorMessage); } } catch (FileNotFoundException ex) { Assert.Inconclusive("Unable to execute hosted ASP.NET tests because {0} could not be found. {1}", ex.FileName, ex.FusionLog); } }
public void DeserializeWithExtraFields() { var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage)); Dictionary <string, string> fields = new Dictionary <string, string>(StringComparer.Ordinal); fields["age"] = "15"; fields["Name"] = "Andrew"; fields["Timestamp"] = XmlConvert.ToString(DateTime.UtcNow, XmlDateTimeSerializationMode.Utc); // Add some field that is not recognized by the class. This simulates a querystring with // more parameters than are actually interesting to the protocol message. fields["someExtraField"] = "asdf"; var actual = new Mocks.TestDirectedMessage(); serializer.Deserialize(fields, this.MessageDescriptions.GetAccessor(actual)); Assert.AreEqual(15, actual.Age); Assert.AreEqual("Andrew", actual.Name); Assert.IsNull(actual.EmptyMember); }
public void SerializeDeserializeJson() { var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage)); var message = GetStandardTestMessage(FieldFill.CompleteBeforeBindings); var ms = new MemoryStream(); var writer = JsonReaderWriterFactory.CreateJsonWriter(ms, Encoding.UTF8); MessageSerializer.Serialize(this.MessageDescriptions.GetAccessor(message), writer); writer.Flush(); string actual = Encoding.UTF8.GetString(ms.ToArray()); string expected = @"{""age"":15,""Name"":""Andrew"",""Location"":""http:\/\/localtest\/path"",""Timestamp"":""2008-09-19T08:00:00Z""}"; Assert.AreEqual(expected, actual); ms.Position = 0; var deserialized = new Mocks.TestDirectedMessage(); var reader = JsonReaderWriterFactory.CreateJsonReader(ms, XmlDictionaryReaderQuotas.Max); MessageSerializer.Deserialize(this.MessageDescriptions.GetAccessor(deserialized), reader); Assert.AreEqual(message.Age, deserialized.Age); Assert.AreEqual(message.EmptyMember, deserialized.EmptyMember); Assert.AreEqual(message.Location, deserialized.Location); Assert.AreEqual(message.Name, deserialized.Name); Assert.AreEqual(message.Timestamp, deserialized.Timestamp); }
public void CtorWithProtocolMessage() { IProtocolMessage message = new Mocks.TestDirectedMessage(); ProtocolException ex = new ProtocolException("message", message); Assert.AreSame(message, ex.FaultedMessage); }
public void DeserializeWithExtraFields() { var serializer = MessageSerializer.Get(typeof(Mocks.TestMessage)); Dictionary<string, string> fields = new Dictionary<string, string>(StringComparer.Ordinal); fields["age"] = "15"; fields["Name"] = "Andrew"; fields["Timestamp"] = XmlConvert.ToString(DateTime.UtcNow, XmlDateTimeSerializationMode.Utc); // Add some field that is not recognized by the class. This simulates a querystring with // more parameters than are actually interesting to the protocol message. fields["someExtraField"] = "asdf"; var actual = new Mocks.TestDirectedMessage(); serializer.Deserialize(fields, this.MessageDescriptions.GetAccessor(actual)); Assert.AreEqual(15, actual.Age); Assert.AreEqual("Andrew", actual.Name); Assert.IsNull(actual.EmptyMember); }
public async Task BadRequestsGenerateValidErrorResponses() { this.RegisterAutoProvider(); var rp = this.CreateRelyingParty(); var nonOpenIdMessage = new Mocks.TestDirectedMessage { Recipient = OPUri, HttpMethods = HttpDeliveryMethods.PostRequest }; MessagingTestBase.GetStandardTestMessage(MessagingTestBase.FieldFill.AllRequired, nonOpenIdMessage); var response = await rp.Channel.RequestAsync<DirectErrorResponse>(nonOpenIdMessage, CancellationToken.None); Assert.IsNotNull(response.ErrorMessage); Assert.AreEqual(Protocol.Default.Version, response.Version); }