blob: 66995e3c94c763dcd89c41c04eac923a98897fea [file] [log] [blame]
// Copyright 2019 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:cocoon_service/src/model/google/token_info.dart';
import 'package:test/test.dart';
void main() {
group('TokenInfo', () {
test('deserialize', () {
final TokenInfo token = TokenInfo.fromJson(<String, dynamic>{
'iss': 'issuer',
'azp': 'authorizedParty',
'aud': 'audience',
'sub': 'subject',
'hd': 'hostedDomain',
'email': 'test@flutter.dev',
'email_verified': 'true',
'at_hash': 'accessTokenHash',
'name': 'Test Flutter',
'picture': 'http://example.org/123.jpg',
'given_name': 'Test',
'family_name': 'Flutter',
'locale': 'en',
'iat': '12345',
'exp': '67890',
'jti': 'jwtId',
'alg': 'RSA',
'kid': 'keyId',
'typ': 'JWT',
});
expect(token.issuer, 'issuer');
expect(token.authorizedParty, 'authorizedParty');
expect(token.audience, 'audience');
expect(token.subject, 'subject');
expect(token.hostedDomain, 'hostedDomain');
expect(token.email, 'test@flutter.dev');
expect(token.emailIsVerified, isTrue);
expect(token.accessTokenHash, 'accessTokenHash');
expect(token.fullName, 'Test Flutter');
expect(token.profilePictureUrl, 'http://example.org/123.jpg');
expect(token.givenName, 'Test');
expect(token.familyName, 'Flutter');
expect(token.locale, 'en');
expect(token.issued, DateTime.fromMillisecondsSinceEpoch(12345 * 1000));
expect(token.expiration, DateTime.fromMillisecondsSinceEpoch(67890 * 1000));
expect(token.jwtId, 'jwtId');
expect(token.algorithm, 'RSA');
expect(token.keyId, 'keyId');
expect(token.encoding, 'JWT');
});
});
}