//----------------------------------------------------------------------- // // Copyright (c) Andrew Arnott. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOpenAuth.Test.OpenId { using System; using DotNetOpenAuth.OpenId; using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration; using DotNetOpenAuth.OpenId.Messages; using Microsoft.VisualStudio.TestTools.UnitTesting; [TestClass] public class ProviderEndpointDescriptionTests : OpenIdTestBase { private ProviderEndpointDescription se; private string[] v20TypeUris = { Protocol.V20.ClaimedIdentifierServiceTypeURI }; [TestInitialize] public override void SetUp() { base.SetUp(); this.se = new ProviderEndpointDescription(OPUri, Protocol.V20.Version); } [TestMethod, ExpectedException(typeof(ArgumentNullException))] public void IsExtensionSupportedNullType() { this.se.IsExtensionSupported((Type)null); } [TestMethod, ExpectedException(typeof(ArgumentException))] public void IsExtensionSupportedNullString() { this.se.IsExtensionSupported((string)null); } [TestMethod, ExpectedException(typeof(ArgumentException))] public void IsExtensionSupportedEmptyString() { this.se.IsExtensionSupported(string.Empty); } [TestMethod, ExpectedException(typeof(ArgumentNullException))] public void IsExtensionSupportedNullExtension() { this.se.IsExtensionSupported((IOpenIdMessageExtension)null); } [TestMethod] public void IsExtensionSupported() { this.se = new ProviderEndpointDescription(OPUri, this.v20TypeUris); Assert.IsFalse(this.se.IsExtensionSupported()); Assert.IsFalse(this.se.IsExtensionSupported(new ClaimsRequest())); Assert.IsFalse(this.se.IsExtensionSupported("http://someextension/typeuri")); this.se = new ProviderEndpointDescription( OPUri, new[] { Protocol.V20.ClaimedIdentifierServiceTypeURI, "http://someextension", Constants.sreg_ns }); Assert.IsTrue(this.se.IsExtensionSupported()); Assert.IsTrue(this.se.IsExtensionSupported(new ClaimsRequest())); Assert.IsTrue(this.se.IsExtensionSupported("http://someextension")); } } }