Skip to content

Commit

Permalink
PSG-5785: TokenStore class updates (#92)
Browse files Browse the repository at this point in the history
* tests are updated for token store

* inline docs updated
  • Loading branch information
SinaSeylani authored Jan 21, 2025
1 parent 6f00c04 commit 9b26feb
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'package:passage_flutter/passage_flutter_models/passage_user.dart';
class IntegrationTestConfig {
static const String apiBaseUrl = "https://auth-uat.passage.dev/v1";
static const String appIdOtp = "Ezbk6fSdx9pNQ7v7UbVEnzeC";
static const String appIdPassage = "passage";
static const String appIdPassage = "passage";
static const String appIdMagicLink = "Pea2GdtBHN3esylK4ZRlF19U";
static const int waitTimeMilliseconds = 8000;
static const String existingUserEmailOtp =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ class GetMessageResponse {
class MailosaurAPIClient {
static const String serverId = 'ncor7c1m';
static const String apiURL = 'https://mailosaur.com/api/messages';
static const String mailosaurAPIKey = "YOUR_MAILOSAUR_API_KEY";
static const String mailosaurAPIKey = "MAILOSAUR_API_KEY";

static String appUrl(String path) {
if (kIsWeb) {
Expand Down
30 changes: 30 additions & 0 deletions integrationtestapp/integration_test/token_store_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -80,5 +80,35 @@ void main() {
//success
}
});
test('isAuthTokenValid_returnsTrueForValidToken', () async {
await loginWithMagicLink();
final validToken = await passage.tokenStore.getValidAuthToken();
final isValid = await passage.tokenStore.isAuthTokenValid(validToken);
expect(isValid, isTrue);
});

test('isAuthTokenValid_returnsFalseForInvalidToken', () async {
const invalidToken = 'invalidToken';
final isValid = await passage.tokenStore.isAuthTokenValid(invalidToken);
expect(isValid, isFalse);
});

test('refreshAuthToken_returnsNewAuthToken', () async {
await loginWithMagicLink();
final authResult = await passage.tokenStore.refreshAuthToken();
expect(authResult, isNotNull);
expect(authResult.authToken, isNotNull);
expect(authResult.refreshToken, isNotNull);
});

test('refreshAuthToken_throwsPassageError', () async {
try {
final authResult = await passage.tokenStore.refreshAuthToken();
fail('Expected PassageError but got success');
} catch (e) {
// success
}
});

});
}
30 changes: 15 additions & 15 deletions integrationtestapp/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -323,18 +323,18 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
url: "https://pub.dev"
source: hosted
version: "10.0.4"
version: "10.0.5"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
url: "https://pub.dev"
source: hosted
version: "3.0.3"
version: "3.0.5"
leak_tracker_testing:
dependency: transitive
description:
Expand Down Expand Up @@ -371,18 +371,18 @@ packages:
dependency: transitive
description:
name: material_color_utilities
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
url: "https://pub.dev"
source: hosted
version: "0.8.0"
version: "0.11.1"
meta:
dependency: transitive
description:
name: meta
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev"
source: hosted
version: "1.12.0"
version: "1.15.0"
mime:
dependency: transitive
description:
Expand All @@ -405,7 +405,7 @@ packages:
path: ".."
relative: true
source: path
version: "1.0.0"
version: "1.1.0"
path:
dependency: transitive
description:
Expand All @@ -418,10 +418,10 @@ packages:
dependency: transitive
description:
name: platform
sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec"
sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65"
url: "https://pub.dev"
source: hosted
version: "3.1.4"
version: "3.1.5"
plugin_platform_interface:
dependency: transitive
description:
Expand Down Expand Up @@ -559,10 +559,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
url: "https://pub.dev"
source: hosted
version: "0.7.0"
version: "0.7.2"
timing:
dependency: transitive
description:
Expand Down Expand Up @@ -591,10 +591,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
url: "https://pub.dev"
source: hosted
version: "14.2.1"
version: "14.2.5"
watcher:
dependency: transitive
description:
Expand Down
6 changes: 4 additions & 2 deletions lib/passage_token_store.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@ import 'passage_flutter_platform/passage_flutter_platform_interface.dart';
class PassageTokenStore {

/// Returns the auth token for the currently authenticated user.
/// If the stored auth token is invalid, this method will use the refresh token to get and save a new auth token.
///
/// Returns:
/// A `Future<String?>` representing the current Passage user's auth token,
/// or `null` if no token has been stored.
/// A `Future<String?>` representing the user's auth token,
/// Throws:
/// `PassageError`
Future<String> getValidAuthToken() {
return PassageFlutterPlatform.instance.getValidAuthToken();
}
Expand Down

0 comments on commit 9b26feb

Please sign in to comment.