コード例 #1
0
        public void ThrowsIfArgumentsAreInvalid(string app, ExpandoObject payload, Type exceptionType, string expectedParamName)
        {
            var settings = CreateSSOSettings();

            var mocks = CreateMocks(settings);

            var target = new SSOManager(mocks.factoryMock.Object, mocks.optionsMock.Object);

            var ex = Assert.Throws(exceptionType, () => target.IssueToken(app, payload));

            Assert.Equal(expectedParamName, ((ArgumentException)ex).ParamName);
        }
コード例 #2
0
        public void ThrowsIfRequestedAppNotRegistered()
        {
            var settings = CreateSSOSettings();

            var mocks = CreateMocks(settings);

            var target = new SSOManager(mocks.factoryMock.Object, mocks.optionsMock.Object);

            var ex = Assert.Throws <AppNotRegisteredException>(() => target.IssueToken("InvalidApp", new { }.ToExpandoObject()));

            Assert.Equal("InvalidApp", ex.AppName);
            Assert.Equal($"Requested application was not registered.{Environment.NewLine}Application name: InvalidApp", ex.Message);
        }
コード例 #3
0
        public void IssuesToken()
        {
            var settings     = CreateSSOSettings();
            var mocks        = CreateMocks(settings);
            var providerMock = new Mock <ITokenProvider>();

            providerMock.Setup(x => x.Issue(It.IsAny <AccessToken>())).Returns("TestToken");
            mocks.factoryMock.Setup(x => x.Create(It.IsAny <TokenProviderSettings>())).Returns(providerMock.Object);
            var payload = new ExpandoObject();

            var target = new SSOManager(mocks.factoryMock.Object, mocks.optionsMock.Object);

            var actual = target.IssueToken("App2", payload);

            providerMock.Verify(x => x.Issue(It.IsAny <AccessToken>()), Times.Once());
            Assert.Equal("Url2-TestToken", actual);
        }