diff options
author | zxu <zxu@google.com> | 2018-02-06 13:51:11 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-06 13:51:11 -0500 |
commit | a441190635d494f128cf02e07566ae2003af4e08 (patch) | |
tree | 618e6b0ecdb5d243f6e97f319f98f09dc9ca0a7e /Firestore/Example/Tests/SpecTests/FSTMockDatastore.mm | |
parent | 7cac9dc47a8c6b7321ebf5fc13fa7140e784c8ca (diff) |
Implement Firestore DatabaseInfo and port both Database{Id,Info} C++ to the iOS code (#738)
* implement Firestore DatabaseInfo in C++
* temporary stash changes; blocking on the massive renaming of .m to .mm
* add database_info_test to project
* finish port DatabaseId and fix style, modular fixing DatabaseInfo
* port DatabaseInfo
* remove FSTDatabase{ID,Info} and their tests from project
* fix unit test
* use namespace alias
* use namespace alias, leftover
* address more changes
* refactoring to use raw pointer instead of value for property
* address changes
* remove self->
* fix style
* remove the name suffix Alloc
* fix a bug
Diffstat (limited to 'Firestore/Example/Tests/SpecTests/FSTMockDatastore.mm')
-rw-r--r-- | Firestore/Example/Tests/SpecTests/FSTMockDatastore.mm | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/Firestore/Example/Tests/SpecTests/FSTMockDatastore.mm b/Firestore/Example/Tests/SpecTests/FSTMockDatastore.mm index 9a1d719..d3c4171 100644 --- a/Firestore/Example/Tests/SpecTests/FSTMockDatastore.mm +++ b/Firestore/Example/Tests/SpecTests/FSTMockDatastore.mm @@ -17,10 +17,8 @@ #import "Firestore/Example/Tests/SpecTests/FSTMockDatastore.h" #import "Firestore/Source/Auth/FSTEmptyCredentialsProvider.h" -#import "Firestore/Source/Core/FSTDatabaseInfo.h" #import "Firestore/Source/Core/FSTSnapshotVersion.h" #import "Firestore/Source/Local/FSTQueryData.h" -#import "Firestore/Source/Model/FSTDatabaseID.h" #import "Firestore/Source/Model/FSTMutation.h" #import "Firestore/Source/Remote/FSTSerializerBeta.h" #import "Firestore/Source/Remote/FSTStream.h" @@ -29,6 +27,13 @@ #import "Firestore/Example/Tests/Remote/FSTWatchChange+Testing.h" +#include "Firestore/core/src/firebase/firestore/core/database_info.h" +#include "Firestore/core/src/firebase/firestore/model/database_id.h" +#include "Firestore/core/src/firebase/firestore/util/string_apple.h" + +using firebase::firestore::core::DatabaseInfo; +using firebase::firestore::model::DatabaseId; + @class GRPCProtoCall; NS_ASSUME_NONNULL_BEGIN @@ -42,12 +47,12 @@ NS_ASSUME_NONNULL_BEGIN credentials:(id<FSTCredentialsProvider>)credentials serializer:(FSTSerializerBeta *)serializer NS_DESIGNATED_INITIALIZER; -- (instancetype)initWithDatabase:(FSTDatabaseInfo *)database +- (instancetype)initWithDatabase:(const DatabaseInfo *)database workerDispatchQueue:(FSTDispatchQueue *)workerDispatchQueue credentials:(id<FSTCredentialsProvider>)credentials serializer:(FSTSerializerBeta *)serializer NS_UNAVAILABLE; -- (instancetype)initWithDatabase:(FSTDatabaseInfo *)database +- (instancetype)initWithDatabase:(const DatabaseInfo *)database workerDispatchQueue:(FSTDispatchQueue *)workerDispatchQueue credentials:(id<FSTCredentialsProvider>)credentials responseMessageClass:(Class)responseMessageClass NS_UNAVAILABLE; @@ -168,12 +173,12 @@ NS_ASSUME_NONNULL_BEGIN credentials:(id<FSTCredentialsProvider>)credentials serializer:(FSTSerializerBeta *)serializer NS_DESIGNATED_INITIALIZER; -- (instancetype)initWithDatabase:(FSTDatabaseInfo *)database +- (instancetype)initWithDatabase:(const DatabaseInfo *)database workerDispatchQueue:(FSTDispatchQueue *)workerDispatchQueue credentials:(id<FSTCredentialsProvider>)credentials serializer:(FSTSerializerBeta *)serializer NS_UNAVAILABLE; -- (instancetype)initWithDatabase:(FSTDatabaseInfo *)database +- (instancetype)initWithDatabase:(const DatabaseInfo *)database workerDispatchQueue:(FSTDispatchQueue *)workerDispatchQueue credentials:(id<FSTCredentialsProvider>)credentials responseMessageClass:(Class)responseMessageClass NS_UNAVAILABLE; @@ -281,15 +286,13 @@ NS_ASSUME_NONNULL_BEGIN @implementation FSTMockDatastore + (instancetype)mockDatastoreWithWorkerDispatchQueue:(FSTDispatchQueue *)workerDispatchQueue { - FSTDatabaseID *databaseID = [FSTDatabaseID databaseIDWithProject:@"project" database:@"database"]; - FSTDatabaseInfo *databaseInfo = [FSTDatabaseInfo databaseInfoWithDatabaseID:databaseID - persistenceKey:@"persistence" - host:@"host" - sslEnabled:NO]; + // This owns the DatabaseInfos since we do not have FirestoreClient instance to own them. + static DatabaseInfo database_info{DatabaseId{"project", "database"}, "persistence", "host", + false}; FSTEmptyCredentialsProvider *credentials = [[FSTEmptyCredentialsProvider alloc] init]; - return [[FSTMockDatastore alloc] initWithDatabaseInfo:databaseInfo + return [[FSTMockDatastore alloc] initWithDatabaseInfo:&database_info workerDispatchQueue:workerDispatchQueue credentials:credentials]; } @@ -297,24 +300,24 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark - Overridden FSTDatastore methods. - (FSTWatchStream *)createWatchStream { - FSTAssert(self.databaseInfo, @"DatabaseInfo must not be nil"); + // FSTAssert(self.databaseInfo, @"DatabaseInfo must not be nil"); self.watchStream = [[FSTMockWatchStream alloc] initWithDatastore:self workerDispatchQueue:self.workerDispatchQueue credentials:self.credentials serializer:[[FSTSerializerBeta alloc] - initWithDatabaseID:self.databaseInfo.databaseID]]; + initWithDatabaseID:&self.databaseInfo->database_id()]]; return self.watchStream; } - (FSTWriteStream *)createWriteStream { - FSTAssert(self.databaseInfo, @"DatabaseInfo must not be nil"); + // FSTAssert(self.databaseInfo, @"DatabaseInfo must not be nil"); self.writeStream = [[FSTMockWriteStream alloc] initWithDatastore:self workerDispatchQueue:self.workerDispatchQueue credentials:self.credentials serializer:[[FSTSerializerBeta alloc] - initWithDatabaseID:self.databaseInfo.databaseID]]; + initWithDatabaseID:&self.databaseInfo->database_id()]]; return self.writeStream; } |