public void Login_WhenReturnUrlIsTrustedAbsoluteUrl_ReturnsViewResultWhereModelIsUri()
        {
            Controller sut = CreateSut();

            string     absoluteUrl = $"http://localhost//{_fixture.Create<string>()}";
            ViewResult result      = (ViewResult)sut.Login(absoluteUrl);

            Assert.That(result.Model, Is.TypeOf <Uri>());
        }
        public void Login_WhenReturnUrlIsTrustedAbsoluteUrl_ReturnsViewResultWhereViewNameIsEqualToLogin()
        {
            Controller sut = CreateSut();

            string     absoluteUrl = $"http://localhost//{_fixture.Create<string>()}";
            ViewResult result      = (ViewResult)sut.Login(absoluteUrl);

            Assert.That(result.ViewName, Is.EqualTo("Login"));
        }
        public void Login_WhenReturnUrlIsTrustedAbsoluteUrl_ReturnsViewResultWhereModelIsUriWithAbsoluteUriEqualToInput()
        {
            Controller sut = CreateSut();

            string absoluteUrl = $"http://localhost//{_fixture.Create<string>()}";
            Uri    result      = (Uri)((ViewResult)sut.Login(absoluteUrl)).Model;

            Assert.That(result.AbsoluteUri, Is.EqualTo(absoluteUrl));
        }
        public void Login_WhenReturnUrlIsTrustedAbsoluteUrl_ReturnsViewResult()
        {
            Controller sut = CreateSut();

            string        absoluteUrl = $"http://localhost//{_fixture.Create<string>()}";
            IActionResult result      = sut.Login(absoluteUrl);

            Assert.That(result, Is.TypeOf <ViewResult>());
        }
Ejemplo n.º 5
0
        public void LoginWithMicrosoftAccount_WhenReturnUrlHasValueWhichAreNonTrustedAbsoluteUrl_ReturnsBadRequestResult()
        {
            Controller sut = CreateSut(false);

            string        returnUrl = $"http://localhost/{_fixture.Create<string>()}/{_fixture.Create<string>()}";
            IActionResult result    = sut.LoginWithMicrosoftAccount(returnUrl);

            Assert.That(result, Is.TypeOf <BadRequestResult>());
        }
Ejemplo n.º 6
0
        public void LoginWithGoogleAccount_WhenReturnUrlHasValueWhichAreTrustedAbsoluteUrl_ReturnsChallengeResult()
        {
            Controller sut = CreateSut();

            string        returnUrl = $"http://localhost/{_fixture.Create<string>()}/{_fixture.Create<string>()}";
            IActionResult result    = sut.LoginWithGoogleAccount(returnUrl);

            Assert.That(result, Is.TypeOf <ChallengeResult>());
        }
Ejemplo n.º 7
0
        public void LoginWithGoogleAccount_WhenReturnUrlHasValueWhichAreTrustedRelativeUrl_ReturnsChallengeResultWhereAuthenticationSchemesContainsSchemeForGoogle()
        {
            Controller sut = CreateSut();

            string          returnUrl = $"/{_fixture.Create<string>()}";
            ChallengeResult result    = (ChallengeResult)sut.LoginWithGoogleAccount(returnUrl);

            Assert.That(result.AuthenticationSchemes.Contains(GoogleDefaults.AuthenticationScheme), Is.True);
        }
Ejemplo n.º 8
0
        public void LoginWithGoogleAccount_WhenReturnUrlHasValueWhichAreNonTrustedRelativeUrl_ReturnsBadRequestResult()
        {
            Controller sut = CreateSut(false);

            string        returnUrl = $"/{_fixture.Create<string>()}";
            IActionResult result    = sut.LoginWithGoogleAccount(returnUrl);

            Assert.That(result, Is.TypeOf <BadRequestResult>());
        }
        public async Task MicrosoftGraphCallback_WhenStateIsNotGuid_AssertAcquireTokenAsyncWasNotCalledOnTokenHelperFactory()
        {
            Controller sut = CreateSut();

            string state = $"{_fixture.Create<string>()} {_fixture.Create<string>()}";
            await sut.MicrosoftGraphCallback(_fixture.Create <string>(), state);

            _tokenHelperFactoryMock.Verify(m => m.AcquireTokenAsync(It.IsAny <TokenType>(), It.IsAny <HttpContext>(), It.IsAny <object[]>()), Times.Never);
        }
        public void Login_WhenReturnUrlIsTrustedRelativeUrl_ReturnsViewResult()
        {
            Controller sut = CreateSut();

            string        relativeUrl = $"/{_fixture.Create<string>()}/{_fixture.Create<string>()}";
            IActionResult result      = sut.Login(relativeUrl);

            Assert.That(result, Is.TypeOf <ViewResult>());
        }
        public void Login_WhenReturnUrlIsTrustedRelativeUrl_ReturnsViewResultWhereModelIsUri()
        {
            Controller sut = CreateSut();

            string     relativeUrl = $"/{_fixture.Create<string>()}/{_fixture.Create<string>()}";
            ViewResult result      = (ViewResult)sut.Login(relativeUrl);

            Assert.That(result.Model, Is.TypeOf <Uri>());
        }
Ejemplo n.º 12
0
        public void LoginWithMicrosoftAccount_WhenReturnUrlHasValueWhichAreTrustedAbsoluteUrl_ReturnsChallengeResultWhereAuthenticationSchemesContainsSchemeForMicrosoftAccount()
        {
            Controller sut = CreateSut();

            string          returnUrl = $"http://localhost/{_fixture.Create<string>()}/{_fixture.Create<string>()}";
            ChallengeResult result    = (ChallengeResult)sut.LoginWithMicrosoftAccount(returnUrl);

            Assert.That(result.AuthenticationSchemes.Contains(MicrosoftAccountDefaults.AuthenticationScheme), Is.True);
        }
Ejemplo n.º 13
0
        public void LoginWithMicrosoftAccount_WhenReturnUrlHasValueWhichAreTrustedRelativeUrl_ReturnsChallengeResult()
        {
            Controller sut = CreateSut();

            string        returnUrl = $"/{_fixture.Create<string>()}";
            IActionResult result    = sut.LoginWithMicrosoftAccount(returnUrl);

            Assert.That(result, Is.TypeOf <ChallengeResult>());
        }
        public void Login_WhenReturnUrlIsTrustedRelativeUrl_ReturnsViewResultWhereViewNameIsEqualToLogin()
        {
            Controller sut = CreateSut();

            string     relativeUrl = $"/{_fixture.Create<string>()}/{_fixture.Create<string>()}";
            ViewResult result      = (ViewResult)sut.Login(relativeUrl);

            Assert.That(result.ViewName, Is.EqualTo("Login"));
        }
Ejemplo n.º 15
0
        public void LoginWithGoogleAccount_WhenReturnUrlIsWhiteSpace_AssertIsTrustedDomainWasCalledOnTrustedDomainHelper()
        {
            string     absolutePath = $"/{_fixture.Create<string>()}";
            Controller sut          = CreateSut(absolutePath: absolutePath);

            sut.LoginWithGoogleAccount(" ");

            _trustedDomainHelperMock.Verify(m => m.IsTrustedDomain(It.Is <Uri>(value => value != null && value.AbsoluteUri.EndsWith(absolutePath))), Times.Once);
        }
        public async Task MicrosoftGraphCallback_WhenStateIsNotGuid_ReturnsBadRequestResult()
        {
            Controller sut = CreateSut();

            string        state  = $"{_fixture.Create<string>()} {_fixture.Create<string>()}";
            IActionResult result = await sut.MicrosoftGraphCallback(_fixture.Create <string>(), state);

            Assert.That(result, Is.TypeOf <BadRequestResult>());
        }
        public void Login_WhenReturnUrlIsAbsoluteUrl_AssertContentWasNotCalledOnUrlHelper()
        {
            Controller sut = CreateSut();

            string absoluteUrl = $"http://localhost//{_fixture.Create<string>()}";

            sut.Login(absoluteUrl);

            _urlHelperMock.Verify(m => m.Content(It.IsAny <string>()), Times.Never);
        }
Ejemplo n.º 18
0
        public void LoginWithMicrosoftAccount_WhenReturnUrlHasValueWhichAreRelativeUrl_AssertActionWasNotCalledOnUrlHelperWithActionEqualToIndexAndControllerEqualToHome()
        {
            Controller sut = CreateSut();

            string returnUrl = $"/{_fixture.Create<string>()}";

            sut.LoginWithMicrosoftAccount(returnUrl);

            _urlHelperMock.Verify(m => m.Action(It.Is <UrlActionContext>(value => value != null && string.CompareOrdinal(value.Action, "Index") == 0 && string.CompareOrdinal(value.Controller, "Home") == 0)), Times.Never);
        }
        public void Login_WhenReturnUrlIsTrustedRelativeUrl_ReturnsViewResultWhereModelIsUriWithAbsoluteUriForInput()
        {
            string     absolutePath = $"/{_fixture.Create<string>()}";
            Controller sut          = CreateSut(absolutePath: absolutePath);

            string relativeUrl = $"/{_fixture.Create<string>()}/{_fixture.Create<string>()}";
            Uri    result      = (Uri)((ViewResult)sut.Login(relativeUrl)).Model;

            Assert.That(result.AbsoluteUri.EndsWith(absolutePath), Is.True);
        }
        public void Login_WhenReturnUrlIsAbsoluteUrl_AssertIsTrustedDomainWasCalledOnTrustedDomainHelperWithAbsoluteUrl()
        {
            Controller sut = CreateSut();

            string absoluteUrl = $"http://localhost//{_fixture.Create<string>()}";

            sut.Login(absoluteUrl);

            _trustedDomainHelperMock.Verify(m => m.IsTrustedDomain(It.Is <Uri>(value => value != null && string.CompareOrdinal(value.AbsoluteUri, absoluteUrl) == 0)), Times.Once);
        }
Ejemplo n.º 21
0
        public void LoginWithGoogleAccount_WhenReturnUrlHasValueWhichAreTrustedAbsoluteUrl_AssertActionWasCalledOnUrlHelperWithActionEqualToLoginCallbackAndControllerEqualToAccount()
        {
            Controller sut = CreateSut();

            string returnUrl = $"http://localhost/{_fixture.Create<string>()}/{_fixture.Create<string>()}";

            sut.LoginWithGoogleAccount(returnUrl);

            _urlHelperMock.Verify(m => m.Action(It.Is <UrlActionContext>(value => value != null && string.CompareOrdinal(value.Action, "LoginCallback") == 0 && string.CompareOrdinal(value.Controller, "Account") == 0)), Times.Once);
        }
        public void Login_WhenReturnUrlIsRelativeUrlStartingWithTildeAndSlash_AssertContentWasCalledOnUrlHelper()
        {
            Controller sut = CreateSut();

            string relativeUrl = $"~/{_fixture.Create<string>()}/{_fixture.Create<string>()}";

            sut.Login(relativeUrl);

            _urlHelperMock.Verify(m => m.Content(It.Is <string>(value => string.Compare(value, $"{relativeUrl}", StringComparison.Ordinal) == 0)), Times.Once);
        }
Ejemplo n.º 23
0
        public void LoginWithGoogleAccount_WhenReturnUrlHasValueWhichAreAbsoluteUrl_AssertIsTrustedDomainWasCalledOnTrustedDomainHelperWithReturnUrl()
        {
            Controller sut = CreateSut();

            string returnUrl = $"http://localhost/{_fixture.Create<string>()}/{_fixture.Create<string>()}";

            sut.LoginWithGoogleAccount(returnUrl);

            _trustedDomainHelperMock.Verify(m => m.IsTrustedDomain(It.Is <Uri>(value => value != null && string.CompareOrdinal(value.AbsoluteUri, returnUrl) == 0)), Times.Once());
        }
Ejemplo n.º 24
0
        public void LoginWithGoogleAccount_WhenReturnUrlHasValueWhichAreNonTrustedRelativeUrl_AssertActionWasNotCalledOnUrlHelperWithActionEqualToLoginCallbackAndControllerEqualToHAccount()
        {
            Controller sut = CreateSut(false);

            string returnUrl = $"/{_fixture.Create<string>()}";

            sut.LoginWithGoogleAccount(returnUrl);

            _urlHelperMock.Verify(m => m.Action(It.Is <UrlActionContext>(value => value != null && string.CompareOrdinal(value.Action, "LoginCallback") == 0 && string.CompareOrdinal(value.Controller, "Account") == 0)), Times.Never);
        }
        public async Task MicrosoftGraphCallback_WhenStateIsGuid_ReturnActionResultFromAcquireTokenAsyncOnTokenHelperFactory()
        {
            IActionResult actionResult = new Mock <IActionResult>().Object;
            Controller    sut          = CreateSut(actionResult);

            string        code   = $"{_fixture.Create<string>()} {_fixture.Create<string>()}";
            string        state  = Guid.NewGuid().ToString();
            IActionResult result = await sut.MicrosoftGraphCallback(code, state);

            Assert.That(result, Is.EqualTo(actionResult));
        }
Ejemplo n.º 26
0
        public void LoginWithGoogleAccount_WhenReturnUrlHasValueWhichAreRelativeUrl_AssertIsTrustedDomainWasCalledOnTrustedDomainHelperWithAbsoluteUriForReturnUrl()
        {
            string     absolutePath = _fixture.Create <string>();
            Controller sut          = CreateSut(absolutePath: absolutePath);

            string returnUrl = $"/{_fixture.Create<string>()}";

            sut.LoginWithGoogleAccount(returnUrl);

            _trustedDomainHelperMock.Verify(m => m.IsTrustedDomain(It.Is <Uri>(value => value != null && value.AbsoluteUri.EndsWith(absolutePath))), Times.Once);
        }
        public async Task MicrosoftGraphCallback_WhenStateIsGuid_AssertAcquireTokenAsyncWasCalledOnTokenHelperFactory()
        {
            Controller sut = CreateSut();

            Guid   stateIdentifier = Guid.NewGuid();
            string code            = $"{_fixture.Create<string>()} {_fixture.Create<string>()}";
            string state           = stateIdentifier.ToString();
            await sut.MicrosoftGraphCallback(code, state);

            _tokenHelperFactoryMock.Verify(m => m.AcquireTokenAsync(
                                               It.Is <TokenType>(value => value == TokenType.MicrosoftGraphToken),
                                               It.IsAny <HttpContext>(),
                                               It.Is <object[]>(value => value != null && value.Length == 2 && (Guid)value[0] == stateIdentifier && string.CompareOrdinal((string)value[1], state) == 0)),
                                           Times.Never);
        }