Merge branch 'charlesmchen/singletonAgain'

pull/1/head
Matthew Chen 7 years ago
commit d5aa72a228

@ -50,46 +50,18 @@ import SignalMessaging
public var pushRegistrationManager: PushRegistrationManager public var pushRegistrationManager: PushRegistrationManager
@objc @objc
public init(callMessageHandler: WebRTCCallMessageHandler, public var pushManager: PushManager
callService: CallService,
outboundCallInitiator: OutboundCallInitiator,
messageFetcherJob: MessageFetcherJob,
notificationsManager: NotificationsManager,
accountManager: AccountManager,
callNotificationsAdapter: CallNotificationsAdapter,
pushRegistrationManager: PushRegistrationManager) {
self.callMessageHandler = callMessageHandler
self.callService = callService
self.outboundCallInitiator = outboundCallInitiator
self.messageFetcherJob = messageFetcherJob
self.notificationsManager = notificationsManager
self.accountManager = accountManager
self.callNotificationsAdapter = callNotificationsAdapter
self.pushRegistrationManager = pushRegistrationManager
super.init()
SwiftSingletons.register(self)
}
private override init() { private override init() {
let accountManager = AccountManager() self.callMessageHandler = WebRTCCallMessageHandler()
let notificationsManager = NotificationsManager() self.callService = CallService()
let callNotificationsAdapter = CallNotificationsAdapter() self.outboundCallInitiator = OutboundCallInitiator()
let callService = CallService() self.messageFetcherJob = MessageFetcherJob()
let callMessageHandler = WebRTCCallMessageHandler() self.notificationsManager = NotificationsManager()
let outboundCallInitiator = OutboundCallInitiator() self.accountManager = AccountManager()
let messageFetcherJob = MessageFetcherJob() self.callNotificationsAdapter = CallNotificationsAdapter()
let pushRegistrationManager = PushRegistrationManager() self.pushRegistrationManager = PushRegistrationManager()
self.pushManager = PushManager()
self.callMessageHandler = callMessageHandler
self.callService = callService
self.outboundCallInitiator = outboundCallInitiator
self.messageFetcherJob = messageFetcherJob
self.notificationsManager = notificationsManager
self.accountManager = accountManager
self.callNotificationsAdapter = callNotificationsAdapter
self.pushRegistrationManager = pushRegistrationManager
super.init() super.init()

@ -15,8 +15,6 @@ NS_ASSUME_NONNULL_BEGIN
@interface NotificationsManager : NSObject <NotificationsProtocol, OWSCallNotificationsAdaptee> @interface NotificationsManager : NSObject <NotificationsProtocol, OWSCallNotificationsAdaptee>
- (void)clearAllNotifications;
#ifdef DEBUG #ifdef DEBUG
+ (void)presentDebugNotification; + (void)presentDebugNotification;

@ -39,8 +39,6 @@ typedef void (^pushTokensSuccessBlock)(NSString *pushToken, NSString *voipToken)
@property (nonatomic) BOOL hasPresentedConversationSinceLastDeactivation; @property (nonatomic) BOOL hasPresentedConversationSinceLastDeactivation;
- (instancetype)init NS_UNAVAILABLE;
+ (PushManager *)sharedManager; + (PushManager *)sharedManager;
/** /**

@ -35,47 +35,26 @@ NSString *const Signal_Message_MarkAsRead_Identifier = @"Signal_Message_MarkAsRe
@property (nonatomic) NSMutableArray *currentNotifications; @property (nonatomic) NSMutableArray *currentNotifications;
@property (nonatomic) UIBackgroundTaskIdentifier callBackgroundTask; @property (nonatomic) UIBackgroundTaskIdentifier callBackgroundTask;
@property (nonatomic, readonly) OWSMessageSender *messageSender;
@property (nonatomic, readonly) OWSMessageFetcherJob *messageFetcherJob;
@property (nonatomic, readonly) NotificationsManager *notificationsManager;
@end @end
@implementation PushManager @implementation PushManager
+ (instancetype)sharedManager { + (instancetype)sharedManager {
static PushManager *sharedManager = nil; OWSAssertDebug(AppEnvironment.shared.pushManager);
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedManager = [[self alloc] initDefault];
});
return sharedManager;
}
- (instancetype)initDefault return AppEnvironment.shared.pushManager;
{
return [self initWithMessageFetcherJob:AppEnvironment.shared.messageFetcherJob
primaryStorage:[OWSPrimaryStorage sharedManager]
messageSender:SSKEnvironment.shared.messageSender
notificationsManager:AppEnvironment.shared.notificationsManager];
} }
- (instancetype)initWithMessageFetcherJob:(OWSMessageFetcherJob *)messageFetcherJob - (instancetype)init {
primaryStorage:(OWSPrimaryStorage *)primaryStorage
messageSender:(OWSMessageSender *)messageSender
notificationsManager:(NotificationsManager *)notificationsManager
{
self = [super init]; self = [super init];
if (!self) { if (!self) {
return self; return self;
} }
_messageSender = messageSender;
_messageFetcherJob = messageFetcherJob;
_callBackgroundTask = UIBackgroundTaskInvalid; _callBackgroundTask = UIBackgroundTaskInvalid;
// TODO: consolidate notification tracking with NotificationsManager, which also maintains a list of notifications. // TODO: consolidate notification tracking with NotificationsManager, which also maintains a list of notifications.
_currentNotifications = [NSMutableArray array]; _currentNotifications = [NSMutableArray array];
_notificationsManager = notificationsManager;
OWSSingletonAssert(); OWSSingletonAssert();
@ -87,6 +66,22 @@ NSString *const Signal_Message_MarkAsRead_Identifier = @"Signal_Message_MarkAsRe
return self; return self;
} }
#pragma mark - Dependencies
- (OWSMessageSender *)messageSender {
return SSKEnvironment.shared.messageSender;
}
- (OWSMessageFetcherJob *)messageFetcherJob {
return AppEnvironment.shared.messageFetcherJob;
}
- (id<NotificationsProtocol>)notificationsManager {
return SSKEnvironment.shared.notificationsManager;
}
#pragma mark -
- (CallUIAdapter *)callUIAdapter - (CallUIAdapter *)callUIAdapter
{ {
return AppEnvironment.shared.callService.callUIAdapter; return AppEnvironment.shared.callService.callUIAdapter;

@ -13,7 +13,7 @@ NS_ASSUME_NONNULL_BEGIN
- (void)setUp - (void)setUp
{ {
NSLog(@"%@ setUp", self.logTag); OWSLogInfo(@"");
[super setUp]; [super setUp];
@ -29,7 +29,7 @@ NS_ASSUME_NONNULL_BEGIN
- (void)tearDown - (void)tearDown
{ {
NSLog(@"%@ tearDown", self.logTag); OWSLogInfo(@"");
[super tearDown]; [super tearDown];
} }

@ -156,7 +156,7 @@ NS_ASSUME_NONNULL_BEGIN
[self waitForExpectationsWithTimeout:5.0 [self waitForExpectationsWithTimeout:5.0
handler:^(NSError *error) { handler:^(NSError *error) {
if (error) { if (error) {
NSLog(@"Timeout Error: %@", error); OWSLogInfo(@"Timeout Error: %@", error);
} }
}]; }];
} }

@ -103,7 +103,7 @@
NSDateFormatter *formatter = [NSDateFormatter new]; NSDateFormatter *formatter = [NSDateFormatter new];
formatter.dateStyle = NSDateFormatterLongStyle; formatter.dateStyle = NSDateFormatterLongStyle;
formatter.timeStyle = NSDateFormatterLongStyle; formatter.timeStyle = NSDateFormatterLongStyle;
NSLog(@"now: %@", [formatter stringFromDate:now]); OWSLogInfo(@"now: %@", [formatter stringFromDate:now]);
NSDate *oneSecondAgo = NSDate *oneSecondAgo =
[NSDate dateWithTimeIntervalSinceReferenceDate:[now timeIntervalSinceReferenceDate] - kSecondInterval]; [NSDate dateWithTimeIntervalSinceReferenceDate:[now timeIntervalSinceReferenceDate] - kSecondInterval];
@ -135,7 +135,7 @@
NSDate *twoYearsAhead = NSDate *twoYearsAhead =
[NSDate dateWithTimeIntervalSinceReferenceDate:[now timeIntervalSinceReferenceDate] + kYearInterval * 2]; [NSDate dateWithTimeIntervalSinceReferenceDate:[now timeIntervalSinceReferenceDate] + kYearInterval * 2];
NSLog(@"oneSecondAgo: %@", [formatter stringFromDate:oneSecondAgo]); OWSLogInfo(@"oneSecondAgo: %@", [formatter stringFromDate:oneSecondAgo]);
XCTAssertTrue([DateUtil dateIsToday:oneSecondAgo now:now]); XCTAssertTrue([DateUtil dateIsToday:oneSecondAgo now:now]);
XCTAssertTrue([DateUtil dateIsToday:oneMinuteAgo now:now]); XCTAssertTrue([DateUtil dateIsToday:oneMinuteAgo now:now]);
@ -236,13 +236,13 @@
formatter.timeStyle = NSDateFormatterLongStyle; formatter.timeStyle = NSDateFormatterLongStyle;
NSDate *yesterdayBeforeMidnight = [self dateWithYear:2015 month:8 day:10 hour:23 minute:55]; NSDate *yesterdayBeforeMidnight = [self dateWithYear:2015 month:8 day:10 hour:23 minute:55];
NSLog(@"yesterdayBeforeMidnight: %@", [formatter stringFromDate:yesterdayBeforeMidnight]); OWSLogInfo(@"yesterdayBeforeMidnight: %@", [formatter stringFromDate:yesterdayBeforeMidnight]);
NSDate *todayAfterMidnight = [self dateWithYear:2015 month:8 day:11 hour:0 minute:5]; NSDate *todayAfterMidnight = [self dateWithYear:2015 month:8 day:11 hour:0 minute:5];
NSLog(@"todayAfterMidnight: %@", [formatter stringFromDate:todayAfterMidnight]); OWSLogInfo(@"todayAfterMidnight: %@", [formatter stringFromDate:todayAfterMidnight]);
NSDate *todayNoon = [self dateWithYear:2015 month:8 day:11 hour:12 minute:0]; NSDate *todayNoon = [self dateWithYear:2015 month:8 day:11 hour:12 minute:0];
NSLog(@"todayNoon: %@", [formatter stringFromDate:todayNoon]); OWSLogInfo(@"todayNoon: %@", [formatter stringFromDate:todayNoon]);
// Before Midnight, after Midnight. // Before Midnight, after Midnight.
XCTAssertFalse([DateUtil dateIsToday:yesterdayBeforeMidnight now:todayAfterMidnight]); XCTAssertFalse([DateUtil dateIsToday:yesterdayBeforeMidnight now:todayAfterMidnight]);

@ -18,4 +18,8 @@ public class NoopNotificationsManager: NSObject, NotificationsProtocol {
public func notifyUser(forThreadlessErrorMessage error: TSErrorMessage, transaction: YapDatabaseReadWriteTransaction) { public func notifyUser(forThreadlessErrorMessage error: TSErrorMessage, transaction: YapDatabaseReadWriteTransaction) {
Logger.warn("skipping notification for: \(error.description)") Logger.warn("skipping notification for: \(error.description)")
} }
public func clearAllNotifications() {
Logger.warn("clearAllNotifications")
}
} }

@ -4,6 +4,7 @@
#import "OWSDatabaseMigration.h" #import "OWSDatabaseMigration.h"
#import <SignalServiceKit/OWSPrimaryStorage.h> #import <SignalServiceKit/OWSPrimaryStorage.h>
#import <SignalServiceKit/SSKEnvironment.h>
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@ -81,13 +82,7 @@ NS_ASSUME_NONNULL_BEGIN
+ (YapDatabaseConnection *)dbReadWriteConnection + (YapDatabaseConnection *)dbReadWriteConnection
{ {
static dispatch_once_t onceToken; return SSKEnvironment.shared.migrationDBConnection;
static YapDatabaseConnection *sharedDBConnection;
dispatch_once(&onceToken, ^{
sharedDBConnection = [OWSPrimaryStorage sharedManager].newDatabaseConnection;
});
return sharedDBConnection;
} }
- (YapDatabaseConnection *)dbReadConnection - (YapDatabaseConnection *)dbReadConnection

@ -220,12 +220,7 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
+ (YapDatabaseConnection *)dbMigrationConnection + (YapDatabaseConnection *)dbMigrationConnection
{ {
static YapDatabaseConnection *connection = nil; return SSKEnvironment.shared.migrationDBConnection;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
connection = [[OWSPrimaryStorage sharedManager] newDatabaseConnection];
});
return connection;
} }
+ (instancetype)outgoingMessageInThread:(nullable TSThread *)thread + (instancetype)outgoingMessageInThread:(nullable TSThread *)thread

@ -26,6 +26,8 @@ NS_ASSUME_NONNULL_BEGIN
- (void)notifyUserForThreadlessErrorMessage:(TSErrorMessage *)error - (void)notifyUserForThreadlessErrorMessage:(TSErrorMessage *)error
transaction:(YapDatabaseReadWriteTransaction *)transaction; transaction:(YapDatabaseReadWriteTransaction *)transaction;
- (void)clearAllNotifications;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

@ -90,6 +90,9 @@ NS_ASSUME_NONNULL_BEGIN
@property (atomic, nullable) id<NotificationsProtocol> notificationsManager; @property (atomic, nullable) id<NotificationsProtocol> notificationsManager;
@property (atomic, readonly) YapDatabaseConnection *objectReadWriteConnection; @property (atomic, readonly) YapDatabaseConnection *objectReadWriteConnection;
@property (atomic, readonly) YapDatabaseConnection *sessionStoreDBConnection;
@property (atomic, readonly) YapDatabaseConnection *migrationDBConnection;
@property (atomic, readonly) YapDatabaseConnection *analyticsDBConnection;
- (BOOL)isComplete; - (BOOL)isComplete;

@ -42,6 +42,9 @@ static SSKEnvironment *sharedSSKEnvironment;
@synthesize callMessageHandler = _callMessageHandler; @synthesize callMessageHandler = _callMessageHandler;
@synthesize notificationsManager = _notificationsManager; @synthesize notificationsManager = _notificationsManager;
@synthesize objectReadWriteConnection = _objectReadWriteConnection; @synthesize objectReadWriteConnection = _objectReadWriteConnection;
@synthesize sessionStoreDBConnection = _sessionStoreDBConnection;
@synthesize migrationDBConnection = _migrationDBConnection;
@synthesize analyticsDBConnection = _analyticsDBConnection;
- (instancetype)initWithContactsManager:(id<ContactsManagerProtocol>)contactsManager - (instancetype)initWithContactsManager:(id<ContactsManagerProtocol>)contactsManager
messageSender:(OWSMessageSender *)messageSender messageSender:(OWSMessageSender *)messageSender
@ -188,6 +191,34 @@ static SSKEnvironment *sharedSSKEnvironment;
return _objectReadWriteConnection; return _objectReadWriteConnection;
} }
} }
- (YapDatabaseConnection *)sessionStoreDBConnection {
@synchronized(self) {
if (!_sessionStoreDBConnection) {
_sessionStoreDBConnection = self.primaryStorage.newDatabaseConnection;
}
return _sessionStoreDBConnection;
}
}
- (YapDatabaseConnection *)migrationDBConnection {
@synchronized(self) {
if (!_migrationDBConnection) {
_migrationDBConnection = self.primaryStorage.newDatabaseConnection;
}
return _migrationDBConnection;
}
}
- (YapDatabaseConnection *)analyticsDBConnection {
@synchronized(self) {
if (!_analyticsDBConnection) {
_analyticsDBConnection = self.primaryStorage.newDatabaseConnection;
}
return _analyticsDBConnection;
}
}
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

@ -2,8 +2,9 @@
// Copyright (c) 2018 Open Whisper Systems. All rights reserved. // Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// //
#import "OWSPrimaryStorage+SessionStore.h"
#import "OWSFileSystem.h" #import "OWSFileSystem.h"
#import "OWSPrimaryStorage+SessionStore.h"
#import "SSKEnvironment.h"
#import "YapDatabaseConnection+OWS.h" #import "YapDatabaseConnection+OWS.h"
#import "YapDatabaseTransaction+OWS.h" #import "YapDatabaseTransaction+OWS.h"
#import <AxolotlKit/SessionRecord.h> #import <AxolotlKit/SessionRecord.h>
@ -23,14 +24,7 @@ NSString *const kSessionStoreDBConnectionKey = @"kSessionStoreDBConnectionKey";
*/ */
+ (YapDatabaseConnection *)sessionStoreDBConnection + (YapDatabaseConnection *)sessionStoreDBConnection
{ {
static dispatch_once_t onceToken; return SSKEnvironment.shared.sessionStoreDBConnection;
static YapDatabaseConnection *sessionStoreDBConnection;
dispatch_once(&onceToken, ^{
sessionStoreDBConnection = [OWSPrimaryStorage sharedManager].newDatabaseConnection;
sessionStoreDBConnection.objectCacheEnabled = NO;
});
return sessionStoreDBConnection;
} }
- (YapDatabaseConnection *)sessionStoreDBConnection - (YapDatabaseConnection *)sessionStoreDBConnection

@ -12,27 +12,27 @@ NS_ASSUME_NONNULL_BEGIN
- (void)receivedOffer:(SSKProtoCallMessageOffer *)offer fromCallerId:(NSString *)callerId - (void)receivedOffer:(SSKProtoCallMessageOffer *)offer fromCallerId:(NSString *)callerId
{ {
NSLog(@"%s", __PRETTY_FUNCTION__); OWSLogInfo(@"");
} }
- (void)receivedAnswer:(SSKProtoCallMessageAnswer *)answer fromCallerId:(NSString *)callerId - (void)receivedAnswer:(SSKProtoCallMessageAnswer *)answer fromCallerId:(NSString *)callerId
{ {
NSLog(@"%s", __PRETTY_FUNCTION__); OWSLogInfo(@"");
} }
- (void)receivedIceUpdate:(SSKProtoCallMessageIceUpdate *)iceUpdate fromCallerId:(NSString *)callerId - (void)receivedIceUpdate:(SSKProtoCallMessageIceUpdate *)iceUpdate fromCallerId:(NSString *)callerId
{ {
NSLog(@"%s", __PRETTY_FUNCTION__); OWSLogInfo(@"");
} }
- (void)receivedHangup:(SSKProtoCallMessageHangup *)hangup fromCallerId:(NSString *)callerId - (void)receivedHangup:(SSKProtoCallMessageHangup *)hangup fromCallerId:(NSString *)callerId
{ {
NSLog(@"%s", __PRETTY_FUNCTION__); OWSLogInfo(@"");
} }
- (void)receivedBusy:(SSKProtoCallMessageBusy *)busy fromCallerId:(NSString *)callerId - (void)receivedBusy:(SSKProtoCallMessageBusy *)busy fromCallerId:(NSString *)callerId
{ {
NSLog(@"%s", __PRETTY_FUNCTION__); OWSLogInfo(@"");
} }
@end @end

@ -11,7 +11,7 @@ NS_ASSUME_NONNULL_BEGIN
//- (nullable SignalRecipient *)synchronousLookup:(NSString *)identifier error:(NSError **)error //- (nullable SignalRecipient *)synchronousLookup:(NSString *)identifier error:(NSError **)error
//{ //{
// NSLog(@"[OWSFakeContactsUpdater] Faking contact lookup."); // OWSLogInfo(@"[OWSFakeContactsUpdater] Faking contact lookup.");
// return [[SignalRecipient alloc] initWithTextSecureIdentifier:@"fake-recipient-id" // return [[SignalRecipient alloc] initWithTextSecureIdentifier:@"fake-recipient-id"
// relay:nil]; // relay:nil];
//} //}

@ -13,15 +13,24 @@ NS_ASSUME_NONNULL_BEGIN
- (void)notifyUserForIncomingMessage:(TSIncomingMessage *)incomingMessage - (void)notifyUserForIncomingMessage:(TSIncomingMessage *)incomingMessage
inThread:(TSThread *)thread inThread:(TSThread *)thread
contactsManager:(id<ContactsManagerProtocol>)contactsManager contactsManager:(id<ContactsManagerProtocol>)contactsManager
{ transaction:(YapDatabaseReadTransaction *)transaction {
NSLog(@"%s", __PRETTY_FUNCTION__); OWSLogInfo(@"");
} }
- (void)notifyUserForErrorMessage:(TSErrorMessage *)error inThread:(TSThread *)thread - (void)notifyUserForErrorMessage:(TSErrorMessage *)error
{ thread:(TSThread *)thread
NSLog(@"%s", __PRETTY_FUNCTION__); transaction:(YapDatabaseReadWriteTransaction *)transaction {
OWSLogInfo(@"");
} }
- (void)notifyUserForThreadlessErrorMessage:(TSErrorMessage *)error
transaction:(YapDatabaseReadWriteTransaction *)transaction {
OWSLogInfo(@"");
}
- (void)clearAllNotifications {
OWSLogInfo(@"");
}
@end @end

@ -7,6 +7,7 @@
#import "OWSBackgroundTask.h" #import "OWSBackgroundTask.h"
#import "OWSPrimaryStorage.h" #import "OWSPrimaryStorage.h"
#import "OWSQueues.h" #import "OWSQueues.h"
#import "SSKEnvironment.h"
#import "YapDatabaseConnection+OWS.h" #import "YapDatabaseConnection+OWS.h"
#import <CocoaLumberjack/CocoaLumberjack.h> #import <CocoaLumberjack/CocoaLumberjack.h>
#import <Reachability/Reachability.h> #import <Reachability/Reachability.h>
@ -66,15 +67,7 @@ NSString *NSStringForOWSAnalyticsSeverity(OWSAnalyticsSeverity severity)
// errors that occur while initializing OWSPrimaryStorage. // errors that occur while initializing OWSPrimaryStorage.
+ (YapDatabaseConnection *)dbConnection + (YapDatabaseConnection *)dbConnection
{ {
static YapDatabaseConnection *instance = nil; return SSKEnvironment.shared.analyticsDBConnection;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
OWSPrimaryStorage *primaryStorage = [OWSPrimaryStorage sharedManager];
OWSAssertDebug(primaryStorage);
// Use a newDatabaseConnection so as not to block reads in the launch path.
instance = primaryStorage.newDatabaseConnection;
});
return instance;
} }
- (instancetype)initDefault - (instancetype)initDefault

@ -20,7 +20,7 @@
success:(void (^)())successCallback success:(void (^)())successCallback
failure:(void (^)(NSError *))failureCallback failure:(void (^)(NSError *))failureCallback
{ {
NSLog(@"faking successful provisioning"); OWSLogInfo(@"faking successful provisioning");
successCallback(); successCallback();
} }
@ -35,7 +35,7 @@
- (void)requestProvisioningCodeWithSuccess:(void (^)(NSString *))successCallback - (void)requestProvisioningCodeWithSuccess:(void (^)(NSString *))successCallback
failure:(void (^)(NSError *))failureCallback failure:(void (^)(NSError *))failureCallback
{ {
NSLog(@"faking successful provisioning code fetching"); OWSLogInfo(@"faking successful provisioning code fetching");
successCallback(@"fake-provisioning-code"); successCallback(@"fake-provisioning-code");
} }
@ -90,7 +90,7 @@
[self waitForExpectationsWithTimeout:5.0 [self waitForExpectationsWithTimeout:5.0
handler:^(NSError *error) { handler:^(NSError *error) {
if (error) { if (error) {
NSLog(@"Timeout Error: %@", error); OWSLogInfo(@"Timeout Error: %@", error);
} }
}]; }];
} }

@ -86,7 +86,7 @@ NS_ASSUME_NONNULL_BEGIN
[self waitForExpectationsWithTimeout:5 [self waitForExpectationsWithTimeout:5
handler:^(NSError *error) { handler:^(NSError *error) {
NSLog(@"No message submitted."); OWSLogInfo(@"No message submitted.");
}]; }];
} }

@ -54,7 +54,7 @@ NS_ASSUME_NONNULL_BEGIN
forRecipient:(SignalRecipient *)recipient forRecipient:(SignalRecipient *)recipient
inThread:(TSThread *)thread inThread:(TSThread *)thread
{ {
NSLog(@"[OWSFakeMessagesManager] Faking deviceMessages."); OWSLogInfo(@"[OWSFakeMessagesManager] Faking deviceMessages.");
return @[]; return @[];
} }
@ -298,7 +298,7 @@ NS_ASSUME_NONNULL_BEGIN
[self waitForExpectationsWithTimeout:5 [self waitForExpectationsWithTimeout:5
handler:^(NSError *error) { handler:^(NSError *error) {
NSLog(@"Expiration timer not set in time."); OWSLogInfo(@"Expiration timer not set in time.");
}]; }];
} }
@ -324,7 +324,7 @@ NS_ASSUME_NONNULL_BEGIN
[self waitForExpectationsWithTimeout:5 [self waitForExpectationsWithTimeout:5
handler:^(NSError *error) { handler:^(NSError *error) {
NSLog(@"Expiration timer not set in time."); OWSLogInfo(@"Expiration timer not set in time.");
}]; }];
} }

@ -7,6 +7,9 @@
#import "SSKEnvironment.h" #import "SSKEnvironment.h"
#import "TestAppContext.h" #import "TestAppContext.h"
@import CocoaLumberjack;
#import <CocoaLumberjack/DDTTYLogger.h>
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
#ifdef DEBUG #ifdef DEBUG
@ -15,10 +18,12 @@ NS_ASSUME_NONNULL_BEGIN
- (void)setUp - (void)setUp
{ {
NSLog(@"%@ setUp", self.logTag); OWSLogInfo(@"%@ setUp", self.logTag);
[super setUp]; [super setUp];
[DDLog addLogger:DDTTYLogger.sharedInstance];
ClearCurrentAppContextForTests(); ClearCurrentAppContextForTests();
SetCurrentAppContext([TestAppContext new]); SetCurrentAppContext([TestAppContext new]);
@ -27,7 +32,7 @@ NS_ASSUME_NONNULL_BEGIN
- (void)tearDown - (void)tearDown
{ {
NSLog(@"%@ tearDown", self.logTag); OWSLogInfo(@"%@ tearDown", self.logTag);
[super tearDown]; [super tearDown];
} }

@ -4,6 +4,7 @@
import XCTest import XCTest
import SignalServiceKit import SignalServiceKit
import CocoaLumberjack
@objc @objc
public class SSKBaseTestSwift: XCTestCase { public class SSKBaseTestSwift: XCTestCase {
@ -12,6 +13,8 @@ public class SSKBaseTestSwift: XCTestCase {
public override func setUp() { public override func setUp() {
super.setUp() super.setUp()
DDLog.add(DDTTYLogger.sharedInstance)
ClearCurrentAppContextForTests() ClearCurrentAppContextForTests()
SetCurrentAppContext(TestAppContext()) SetCurrentAppContext(TestAppContext())

Loading…
Cancel
Save