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); }
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(); }
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(); }
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(); }
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, }); }