From 4a22dc2a180eb0f7a6b19ff79cadd71f82cd7f12 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Wed, 26 Jul 2017 13:50:34 -0700 Subject: Purge persistence cache if we can't load from it (#153) * Purge persistence cache if we can't load from it * Adding unit test * Review comments --- Example/Database/Tests/Unit/FLevelDBStorageEngineTests.m | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Example/Database') diff --git a/Example/Database/Tests/Unit/FLevelDBStorageEngineTests.m b/Example/Database/Tests/Unit/FLevelDBStorageEngineTests.m index 99665a0..7f1f272 100644 --- a/Example/Database/Tests/Unit/FLevelDBStorageEngineTests.m +++ b/Example/Database/Tests/Unit/FLevelDBStorageEngineTests.m @@ -70,6 +70,16 @@ #define MERGE_RECORD(__path, __merge, __writeId) \ ([[FWriteRecord alloc] initWithPath:[FPath pathWithString:__path] merge:__merge writeId:__writeId]) +- (void)testRecocversFromBadCache { + NSString *dbPath = @"corrupted-db"; + NSString *serverData = [[FLevelDBStorageEngine firebaseDir] stringByAppendingPathComponent:@"corrupted-db/server_data/CURRENT"]; + [@"Corrupted" writeToFile:serverData atomically:YES encoding:NSUTF8StringEncoding error:nil]; + NSString *userData = [[FLevelDBStorageEngine firebaseDir] stringByAppendingPathComponent:@"corrupted-db/writes/CURRENT"]; + [@"Corrupted" writeToFile:userData atomically:YES encoding:NSUTF8StringEncoding error:nil]; + FLevelDBStorageEngine *db = [[FLevelDBStorageEngine alloc] initWithPath:dbPath]; + XCTAssertNotNil(db); +} + - (void)testUserWriteIsPersisted { FLevelDBStorageEngine *engine = [self cleanStorageEngine]; [engine saveUserOverwrite:SAMPLE_NODE atPath:[FPath pathWithString:@"foo/bar"] writeId:1]; -- cgit v1.2.3