示例#1
0
        public void should_send_request_with_authorization_header_when_actor_has_remembered_access_token()
        {
            var actor = ActorFactory.CreateSomeActorWithApiCallAbility(Sender);
            var token = OAuthTokenFactory.SomeToken();

            actor.Remember(TokenConstants.TokenKey, token);

            actor.AttemptsTo(GetHttpInteraction(Urls.UsersApi));

            Check.That(Sender.GetLastSentMessage().Headers.Authorization.Scheme).IsEqualTo(token.TokenType);
            Check.That(Sender.GetLastSentMessage().Headers.Authorization.Parameter).IsEqualTo(token.AccessToken);
        }
示例#2
0
        public void should_send_request_to_correct_url()
        {
            const string endpoint = "http://localhost:5000/";
            const string username = "******";
            const string password = "******";

            SetupSuccessfulResponse(OAuthTokenFactory.SomeToken());

            actor.AttemptsTo(GetAccessToken
                             .UsingResourceOwnerPasswordCredentialFlow()
                             .WithCredentials(username, password)
                             .FromEndpoint(endpoint));

            var lastRequestContent = sender.GetLastSentMessage().RequestUri.AbsoluteUri;

            Check.That(lastRequestContent).IsEqualTo(endpoint);
        }
示例#3
0
        public void actor_should_remember_access_token_after_response()
        {
            const string endpoint = "http://localhost:5000/";
            const string username = "******";
            const string password = "******";
            var          token    = OAuthTokenFactory.SomeToken();

            SetupSuccessfulResponse(token);

            actor.AttemptsTo(GetAccessToken
                             .UsingResourceOwnerPasswordCredentialFlow()
                             .WithCredentials(username, password)
                             .FromEndpoint(endpoint));

            var rememberedToken = actor.Recall <OAuthToken>(TokenConstants.TokenKey);

            Check.That(rememberedToken).HasFieldsWithSameValues(token);
        }
示例#4
0
        public void should_send_username_and_password()
        {
            const string endpoint = "http://localhost:5000/";
            const string username = "******";
            const string password = "******";
            const string expected = "grant_type=password&username=admin&password=123456";

            SetupSuccessfulResponse(OAuthTokenFactory.SomeToken());

            actor.AttemptsTo(GetAccessToken
                             .UsingResourceOwnerPasswordCredentialFlow()
                             .WithCredentials(username, password)
                             .FromEndpoint(endpoint));

            var lastRequestContent = sender.GetLastSentMessage().Content.ReadAsStringAsync().Result;

            Check.That(lastRequestContent).IsEqualTo(expected);
        }