public void IssueToken_WS2007HttpBindingIsNotSet_Throws()
        {
            // Arrange
            var securityTokenProvider = new SecurityTokenProvider();
            var binding = MockRepository.GenerateStub<WS2007FederationHttpBinding>();
            var actAsToken = MockRepository.GenerateStub<SecurityToken>();

            // Act
            // Assert
            var ex = Assert.Throws<ApplicationException>(() => securityTokenProvider.IssueToken(binding, "http://localhost/service", actAsToken));
            Assert.AreEqual("Unable to get WS2007HttpBinding", ex.Message);
        }
        public void IssueToken_CalledOnContract_CallsChannelIssue()
        {
            // Arrange
            var securityTokenProvider = new SecurityTokenProvider();
            var channelContract = MockRepository.GenerateMock<IWSTrustChannelContract>();
            var actAsToken = MockRepository.GenerateStub<SecurityToken>();

            // Act
            securityTokenProvider.IssueToken(channelContract, "http://localhost/service", actAsToken);

            // Assert
            channelContract.AssertWasCalled(x => x.Issue(Arg<RequestSecurityToken>.Is.Anything, out Arg<RequestSecurityTokenResponse>.Out(null).Dummy));
        }
        public void CreateChannel_WhenCalled_ReturnsChannel()
        {
            // Arrange
            var securityTokenProvider = new SecurityTokenProvider();
            var issuerBinding = new WS2007HttpBinding();
            var issuerEndpointAddress = new EndpointAddress("http://localhost/issuer");

            // Act
            var actual = securityTokenProvider.CreateChannel(issuerBinding, issuerEndpointAddress);

            // Assert
            Assert.IsNotNull(actual);
        }