Refactored test helpers to remove TestSupport and move its functionality into OpenIdT...
[dotnetoauth.git] / src / DotNetOpenAuth.Test / OpenId / Messages / NegativeAssertionResponseTests.cs
blob7876732f9b1b1a968ab58f21c1f985750e51e0d7
1 //-----------------------------------------------------------------------
2 // <copyright file="NegativeAssertionResponseTests.cs" company="Andrew Arnott">
3 // Copyright (c) Andrew Arnott. All rights reserved.
4 // </copyright>
5 //-----------------------------------------------------------------------
7 namespace DotNetOpenAuth.Test.OpenId.Messages {
8 using System;
9 using System.Collections.Generic;
10 using System.Linq;
11 using System.Text;
12 using DotNetOpenAuth.Messaging;
13 using DotNetOpenAuth.OpenId;
14 using DotNetOpenAuth.OpenId.Messages;
15 using DotNetOpenAuth.OpenId.RelyingParty;
16 using Microsoft.VisualStudio.TestTools.UnitTesting;
18 [TestClass]
19 public class NegativeAssertionResponseTests : OpenIdTestBase {
20 [TestInitialize]
21 public override void SetUp() {
22 base.SetUp();
25 [TestMethod]
26 public void Mode() {
27 var setupRequestV1 = new CheckIdRequest(Protocol.V10.Version, OPUri, AuthenticationRequestMode.Setup);
28 setupRequestV1.ReturnTo = RPUri;
29 var immediateRequestV1 = new CheckIdRequest(Protocol.V10.Version, OPUri, AuthenticationRequestMode.Immediate);
30 immediateRequestV1.ReturnTo = RPUri;
32 var setupRequestV2 = new CheckIdRequest(Protocol.V20.Version, OPUri, AuthenticationRequestMode.Setup);
33 setupRequestV2.ReturnTo = RPUri;
34 var immediateRequestV2 = new CheckIdRequest(Protocol.V20.Version, OPUri, AuthenticationRequestMode.Immediate);
35 immediateRequestV2.ReturnTo = RPUri;
37 Assert.AreEqual("id_res", new NegativeAssertionResponse(immediateRequestV1).Mode);
38 Assert.AreEqual("cancel", new NegativeAssertionResponse(setupRequestV1).Mode);
39 Assert.AreEqual("setup_needed", new NegativeAssertionResponse(immediateRequestV2).Mode);
40 Assert.AreEqual("cancel", new NegativeAssertionResponse(setupRequestV2).Mode);
42 Assert.IsTrue(new NegativeAssertionResponse(immediateRequestV1).Immediate);
43 Assert.IsFalse(new NegativeAssertionResponse(setupRequestV1).Immediate);
44 Assert.IsTrue(new NegativeAssertionResponse(immediateRequestV2).Immediate);
45 Assert.IsFalse(new NegativeAssertionResponse(setupRequestV2).Immediate);
48 [TestMethod, ExpectedException(typeof(ProtocolException))]
49 public void UserSetupUrlRequiredInV1Immediate() {
50 var immediateRequestV1 = new CheckIdRequest(Protocol.V10.Version, OPUri, AuthenticationRequestMode.Immediate);
51 immediateRequestV1.ReturnTo = RPUri;
52 new NegativeAssertionResponse(immediateRequestV1).EnsureValidMessage();
55 [TestMethod]
56 public void UserSetupUrlSetForV1Immediate() {
57 var immediateRequestV1 = new CheckIdRequest(Protocol.V10.Version, OPUri, AuthenticationRequestMode.Immediate);
58 immediateRequestV1.ReturnTo = RPUri;
59 var response = new NegativeAssertionResponse(immediateRequestV1);
60 response.UserSetupUrl = new Uri("http://usersetup");
61 response.EnsureValidMessage();
64 [TestMethod]
65 public void UserSetupUrlNotRequiredInV1SetupOrV2() {
66 var setupRequestV1 = new CheckIdRequest(Protocol.V10.Version, OPUri, AuthenticationRequestMode.Setup);
67 setupRequestV1.ReturnTo = RPUri;
68 new NegativeAssertionResponse(setupRequestV1).EnsureValidMessage();
70 var setupRequestV2 = new CheckIdRequest(Protocol.V20.Version, OPUri, AuthenticationRequestMode.Setup);
71 setupRequestV2.ReturnTo = RPUri;
72 new NegativeAssertionResponse(setupRequestV2).EnsureValidMessage();
74 var immediateRequestV2 = new CheckIdRequest(Protocol.V20.Version, OPUri, AuthenticationRequestMode.Immediate);
75 immediateRequestV2.ReturnTo = RPUri;
76 new NegativeAssertionResponse(immediateRequestV2).EnsureValidMessage();