//----------------------------------------------------------------------- // // Copyright (c) Outercurve Foundation. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOpenAuth.Test.OpenId.Provider { using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using DotNetOpenAuth.OpenId; using DotNetOpenAuth.OpenId.Messages; using DotNetOpenAuth.OpenId.Provider; using DotNetOpenAuth.OpenId.RelyingParty; using NUnit.Framework; [TestFixture] public class AnonymousRequestTests : OpenIdTestBase { /// /// Verifies that IsApproved controls which response message is returned. /// [Test] public void IsApprovedDeterminesReturnedMessage() { var op = CreateProvider(); Protocol protocol = Protocol.V20; var req = new SignedResponseRequest(protocol.Version, OPUri, AuthenticationRequestMode.Setup); req.ReturnTo = RPUri; var anonReq = new AnonymousRequest(op, req); Assert.IsFalse(anonReq.IsApproved.HasValue); anonReq.IsApproved = false; Assert.IsInstanceOf(anonReq.Response); anonReq.IsApproved = true; Assert.IsInstanceOf(anonReq.Response); Assert.IsNotInstanceOf(anonReq.Response); } /// /// Verifies that the AuthenticationRequest method is serializable. /// [Test] public void Serializable() { var op = CreateProvider(); Protocol protocol = Protocol.V20; var req = new SignedResponseRequest(protocol.Version, OPUri, AuthenticationRequestMode.Setup); req.ReturnTo = RPUri; var anonReq = new AnonymousRequest(op, req); MemoryStream ms = new MemoryStream(); IFormatter formatter = new BinaryFormatter(); formatter.Serialize(ms, anonReq); ms.Position = 0; var req2 = (AnonymousRequest)formatter.Deserialize(ms); Assert.That(req2, Is.Not.Null); } } }