Exemple #1
0
        public void GetAccessTokenWithValidExchangeToken_AccessTokenReturned()
        {
            var exchangeTokenRequest = new DTO.Request.FitBitExchangeTokenRequest
            {
                client_id     = "1234567",
                redirect_uri  = new System.Uri("localhost:5000/callback"),
                scope         = "activity",
                response_type = "code"
            };

            var retrievedExchangeToken = sut.GetExchangeToken(exchangeTokenRequest);

            retrievedExchangeToken.Result.Code.Should().NotBeNullOrEmpty();

            var accessTokenRequest = new DTO.Request.FitBitAccessTokenRequest
            {
                client_id    = "1234567",
                code         = retrievedExchangeToken.Result.Code,
                grant_type   = "authorization_code",
                redirect_uri = new System.Uri("localhost:5000/callback")
            };

            var retrievedAccessToken = sut.GetAccessToken(accessTokenRequest);

            retrievedAccessToken.Result.access_token.Should().NotBeNullOrEmpty();
            retrievedAccessToken.Result.refresh_token.Should().NotBeNullOrEmpty();
            retrievedAccessToken.Result.token_type.Should().Be("Bearer");
            retrievedAccessToken.Result.user_id.Should().Be("1234");
            retrievedAccessToken.Result.expires_in.Should().NotBe(null);
        }
Exemple #2
0
        public void GetExchangeToken_ExchangeTokenIsValid()
        {
            var exchangeTokenRequest = new DTO.Request.FitBitExchangeTokenRequest
            {
                client_id     = "1234567",
                redirect_uri  = new System.Uri("localhost:5000/callback"),
                scope         = "activity",
                response_type = "code"
            };
            var retrievedExchangeToken = sut.GetExchangeToken(exchangeTokenRequest);

            retrievedExchangeToken.Result.Code.Should().NotBeNullOrEmpty();
        }
Exemple #3
0
        public void GetExchangeTokenWithInvalidRedirectUri_InvalidExchangeTokenReturned()
        {
            var exchangeTokenRequest = new DTO.Request.FitBitExchangeTokenRequest
            {
                client_id     = "1234567",
                response_type = "code",
                redirect_uri  = null,
                scope         = "activity"
            };

            var retrievedExchangeToken = sut.GetExchangeToken(exchangeTokenRequest);

            retrievedExchangeToken.Result.Code.Should().BeNull();
        }
Exemple #4
0
        public void GetExchangeTokenWithInvalidScope_InvalidExchangeTokenReturned()
        {
            var exchangeTokenRequest = new DTO.Request.FitBitExchangeTokenRequest
            {
                client_id     = "1234567",
                response_type = "code",
                redirect_uri  = new System.Uri("localhost:5000/callback"),
                scope         = null
            };

            var retrievedExchangeToken = sut.GetExchangeToken(exchangeTokenRequest);

            retrievedExchangeToken.Result.Code.Should().BeNull();
        }
Exemple #5
0
        public async Task <DTO.FitBitExchangeTokenResponse> GetExchangeToken([FromQuery] DTO.Request.FitBitExchangeTokenRequest request)
        {
            await Task.Delay(0);

            if (request.client_id == null || request.response_type == null || request.scope == null || request.redirect_uri == null)
            {
                return(new DTO.FitBitExchangeTokenResponse());
            }

            RandomNumberGenerator rng = new RNGCryptoServiceProvider();

            byte[] buffer0 = new byte[100];
            rng.GetBytes(buffer0);
            var exchangeToken = Convert.ToBase64String(buffer0);

            return(new DTO.FitBitExchangeTokenResponse
            {
                Code = exchangeToken,
            });
        }