@delewis13/appauth
Version:
A general purpose OAuth client. Vendored awaiting PR merge
86 lines (77 loc) • 3.19 kB
text/typescript
/*
* Copyright 2017 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing permissions and
* limitations under the License.
*/
import {TokenError, TokenResponse} from './token_response';
describe('Token Response tests', () => {
const accessToken = 'accessToken';
const idToken = 'idToken';
it('Basic Token Response Tests', () => {
let response = new TokenResponse({access_token: accessToken});
expect(response).not.toBeNull();
expect(response.accessToken).toBe(accessToken);
expect(response.idToken).toBeFalsy();
expect(response.tokenType).toBe('bearer');
expect(response.issuedAt).toBeTruthy();
expect(response.isValid()).toBe(true);
expect(response.refreshToken).toBeFalsy();
expect(response.scope).toBeFalsy();
});
it('Test response token validity', () => {
let response = new TokenResponse({
access_token: accessToken,
token_type: 'bearer',
expires_in: '1000',
refresh_token: undefined,
scope: undefined,
id_token: idToken,
issued_at: 1
});
expect(response).not.toBeNull();
expect(response.accessToken).toBe(accessToken);
expect(response.idToken).toBe(idToken);
expect(response.tokenType).toBe('bearer');
expect(response.issuedAt).toBeTruthy();
expect(response.isValid(0)).toBe(false);
expect(response.refreshToken).toBeFalsy();
expect(response.scope).toBeFalsy();
});
it('To Json() and from Json() should work', () => {
let response = new TokenResponse({access_token: accessToken, id_token: idToken});
let json = JSON.parse(JSON.stringify(response.toJson()));
let newResponse = new TokenResponse(json);
expect(newResponse).not.toBeNull();
expect(newResponse.accessToken).toBe(accessToken);
expect(newResponse.idToken).toBe(idToken);
expect(newResponse.tokenType).toBe('bearer');
expect(newResponse.issuedAt).toBeTruthy();
expect(newResponse.isValid()).toBe(true);
expect(newResponse.refreshToken).toBeFalsy();
expect(newResponse.scope).toBeFalsy();
});
it('Basic Token Error Tests', () => {
let error = new TokenError({error: 'invalid_client'});
expect(error).toBeTruthy();
expect(error.error).toBe('invalid_client');
expect(error.errorDescription).toBeFalsy();
expect(error.errorUri).toBeFalsy();
});
it('To Json and from JSON should work for errors', () => {
let error = new TokenError({error: 'invalid_client'});
let json = JSON.parse(JSON.stringify(error.toJson()));
let newError = new TokenError(json);
expect(newError).toBeTruthy();
expect(newError.error).toBe('invalid_client');
expect(newError.errorDescription).toBeFalsy();
expect(newError.errorUri).toBeFalsy();
});
});