|  |  |  | // | 
					
						
							|  |  |  | //  Copyright (c) 2018 Open Whisper Systems. All rights reserved. | 
					
						
							|  |  |  | // | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #import "SignalBaseTest.h" | 
					
						
							|  |  |  | #import "Environment.h" | 
					
						
							|  |  |  | #import <SignalServiceKit/OWSPrimaryStorage.h> | 
					
						
							|  |  |  | #import <SignalServiceKit/TestAppContext.h> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | NS_ASSUME_NONNULL_BEGIN | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @implementation SignalBaseTest | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - (void)setUp | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     NSLog(@"%@ setUp", self.logTag); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     [super setUp]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ClearCurrentAppContextForTests(); | 
					
						
							|  |  |  |     [Environment clearSharedForTests]; | 
					
						
							|  |  |  |     [SSKEnvironment clearSharedForTests]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     SetCurrentAppContext([TestAppContext new]); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     [MockEnvironment activate]; | 
					
						
							|  |  |  |     [MockSSKEnvironment activate]; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - (void)tearDown | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     NSLog(@"%@ tearDown", self.logTag); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     [SSKEnvironment.shared.primaryStorage closeStorageForTests]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ClearCurrentAppContextForTests(); | 
					
						
							|  |  |  |     [Environment clearSharedForTests]; | 
					
						
							|  |  |  |     [SSKEnvironment clearSharedForTests]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     [super tearDown]; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - (void)readWithBlock:(void (^)(YapDatabaseReadTransaction *transaction))block | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     OWSAssert(block); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     [[SSKEnvironment.shared.primaryStorage newDatabaseConnection] readWithBlock:block]; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - (void)readWriteWithBlock:(void (^)(YapDatabaseReadWriteTransaction *transaction))block | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     OWSAssert(block); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     [[SSKEnvironment.shared.primaryStorage newDatabaseConnection] readWriteWithBlock:block]; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | NS_ASSUME_NONNULL_END |