aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/core/test
diff options
context:
space:
mode:
authorGravatar rsgowman <rgowman@google.com>2018-03-21 11:04:40 -0400
committerGravatar GitHub <noreply@github.com>2018-03-21 11:04:40 -0400
commit308acc09bfaf6dabf4b6d5f5e39f33854df8ce34 (patch)
tree3706bbbe40d08569795634fd2f30a07fd348b399 /Firestore/core/test
parentd924771453d000e708bd5d239da3bae4feb489ac (diff)
Change CredentialsProvider::TokenListener to use StatusOr<Token> (#945)
* Change CredentialsProvider::TokenListener to use StatusOr Rather than a token plus error code/msg. * Eliminate the concept of an invalid Token Instead, we'll just use StatusOr<Token>. Note that unauthenticated tokens are handled as a special case; they're created via: Token::Unauthenticated() and are otherwise "valid", though attempting to retrieve the raw token on one of these tokens will cause an assertion failure.
Diffstat (limited to 'Firestore/core/test')
-rw-r--r--Firestore/core/test/firebase/firestore/auth/credentials_provider_test.cc6
-rw-r--r--Firestore/core/test/firebase/firestore/auth/empty_credentials_provider_test.cc10
-rw-r--r--Firestore/core/test/firebase/firestore/auth/firebase_credentials_provider_test.mm32
-rw-r--r--Firestore/core/test/firebase/firestore/auth/token_test.cc6
4 files changed, 29 insertions, 25 deletions
diff --git a/Firestore/core/test/firebase/firestore/auth/credentials_provider_test.cc b/Firestore/core/test/firebase/firestore/auth/credentials_provider_test.cc
index 6895061..69c3def 100644
--- a/Firestore/core/test/firebase/firestore/auth/credentials_provider_test.cc
+++ b/Firestore/core/test/firebase/firestore/auth/credentials_provider_test.cc
@@ -16,6 +16,7 @@
#include "Firestore/core/src/firebase/firestore/auth/credentials_provider.h"
+#include "Firestore/core/src/firebase/firestore/util/statusor.h"
#include "gtest/gtest.h"
namespace firebase {
@@ -25,11 +26,8 @@ namespace auth {
#define UNUSED(x) (void)(x)
TEST(CredentialsProvider, Typedef) {
- TokenListener token_listener = [](Token token, const int64_t error_code,
- const absl::string_view error_msg) {
+ TokenListener token_listener = [](util::StatusOr<Token> token) {
UNUSED(token);
- UNUSED(error_code);
- UNUSED(error_msg);
};
EXPECT_NE(nullptr, token_listener);
EXPECT_TRUE(token_listener);
diff --git a/Firestore/core/test/firebase/firestore/auth/empty_credentials_provider_test.cc b/Firestore/core/test/firebase/firestore/auth/empty_credentials_provider_test.cc
index 3b487f3..60845e5 100644
--- a/Firestore/core/test/firebase/firestore/auth/empty_credentials_provider_test.cc
+++ b/Firestore/core/test/firebase/firestore/auth/empty_credentials_provider_test.cc
@@ -16,6 +16,7 @@
#include "Firestore/core/src/firebase/firestore/auth/empty_credentials_provider.h"
+#include "Firestore/core/src/firebase/firestore/util/statusor.h"
#include "gtest/gtest.h"
namespace firebase {
@@ -25,14 +26,13 @@ namespace auth {
TEST(EmptyCredentialsProvider, GetToken) {
EmptyCredentialsProvider credentials_provider;
credentials_provider.GetToken(
- /*force_refresh=*/true, [](Token token, const int64_t error_code,
- const absl::string_view error_msg) {
- EXPECT_FALSE(token.is_valid());
+ /*force_refresh=*/true, [](util::StatusOr<Token> result) {
+ EXPECT_TRUE(result.ok());
+ const Token& token = result.ValueOrDie();
+ EXPECT_ANY_THROW(token.token());
const User& user = token.user();
EXPECT_EQ("", user.uid());
EXPECT_FALSE(user.is_authenticated());
- EXPECT_EQ(FirestoreErrorCode::Ok, error_code);
- EXPECT_EQ("", error_msg);
});
}
diff --git a/Firestore/core/test/firebase/firestore/auth/firebase_credentials_provider_test.mm b/Firestore/core/test/firebase/firestore/auth/firebase_credentials_provider_test.mm
index 3660d53..9d358b5 100644
--- a/Firestore/core/test/firebase/firestore/auth/firebase_credentials_provider_test.mm
+++ b/Firestore/core/test/firebase/firestore/auth/firebase_credentials_provider_test.mm
@@ -17,9 +17,11 @@
#include "Firestore/core/src/firebase/firestore/auth/firebase_credentials_provider_apple.h"
#import <FirebaseCore/FIRApp.h>
+
#import <FirebaseCore/FIRAppInternal.h>
#import <FirebaseCore/FIROptionsInternal.h>
+#include "Firestore/core/src/firebase/firestore/util/statusor.h"
#include "Firestore/core/src/firebase/firestore/util/string_apple.h"
#include "Firestore/core/test/firebase/firestore/testutil/app_testing.h"
@@ -29,43 +31,49 @@ namespace firebase {
namespace firestore {
namespace auth {
-FIRApp* AppWithFakeUid(NSString* _Nullable uid) {
+FIRApp* AppWithFakeUidAndToken(NSString* _Nullable uid,
+ NSString* _Nullable token) {
FIRApp* app = testutil::AppForUnitTesting();
app.getUIDImplementation = ^NSString* {
return uid;
};
+ app.getTokenImplementation = ^(BOOL, FIRTokenCallback callback) {
+ callback(token, nil);
+ };
return app;
}
+FIRApp* AppWithFakeUid(NSString* _Nullable uid) {
+ return AppWithFakeUidAndToken(uid, uid == nil ? nil : @"default token");
+}
+
TEST(FirebaseCredentialsProviderTest, GetTokenUnauthenticated) {
FIRApp* app = AppWithFakeUid(nil);
FirebaseCredentialsProvider credentials_provider(app);
credentials_provider.GetToken(
- /*force_refresh=*/true, [](Token token, const int64_t error_code,
- const absl::string_view error_msg) {
- EXPECT_EQ("", token.token());
+ /*force_refresh=*/true, [](util::StatusOr<Token> result) {
+ EXPECT_TRUE(result.ok());
+ const Token& token = result.ValueOrDie();
+ EXPECT_ANY_THROW(token.token());
const User& user = token.user();
EXPECT_EQ("", user.uid());
EXPECT_FALSE(user.is_authenticated());
- EXPECT_EQ(FirestoreErrorCode::Ok, error_code) << error_code;
- EXPECT_EQ("", error_msg) << error_msg;
});
}
TEST(FirebaseCredentialsProviderTest, GetToken) {
- FIRApp* app = AppWithFakeUid(@"fake uid");
+ FIRApp* app = AppWithFakeUidAndToken(@"fake uid", @"token for fake uid");
FirebaseCredentialsProvider credentials_provider(app);
credentials_provider.GetToken(
- /*force_refresh=*/true, [](Token token, const int64_t error_code,
- const absl::string_view error_msg) {
- EXPECT_EQ("", token.token());
+ /*force_refresh=*/true, [](util::StatusOr<Token> result) {
+ EXPECT_TRUE(result.ok());
+ const Token& token = result.ValueOrDie();
+ EXPECT_EQ("token for fake uid", token.token());
const User& user = token.user();
EXPECT_EQ("fake uid", user.uid());
EXPECT_TRUE(user.is_authenticated());
- EXPECT_EQ(FirestoreErrorCode::Ok, error_code) << error_code;
- EXPECT_EQ("", error_msg) << error_msg;
});
}
diff --git a/Firestore/core/test/firebase/firestore/auth/token_test.cc b/Firestore/core/test/firebase/firestore/auth/token_test.cc
index 8f784d6..e34053e 100644
--- a/Firestore/core/test/firebase/firestore/auth/token_test.cc
+++ b/Firestore/core/test/firebase/firestore/auth/token_test.cc
@@ -26,14 +26,12 @@ TEST(Token, Getter) {
Token token("token", User("abc"));
EXPECT_EQ("token", token.token());
EXPECT_EQ(User("abc"), token.user());
- EXPECT_TRUE(token.is_valid());
}
-TEST(Token, InvalidToken) {
- const Token& token = Token::Invalid();
+TEST(Token, UnauthenticatedToken) {
+ const Token& token = Token::Unauthenticated();
EXPECT_ANY_THROW(token.token());
EXPECT_EQ(User::Unauthenticated(), token.user());
- EXPECT_FALSE(token.is_valid());
}
} // namespace auth