Skip to content

Commit 81fb6a0

Browse files
authored
Remove need for [FIRApp configure] in Messaging unit tests (#1927)
* Remove need for [FIRApp configure] in Messaging unit tests * Add missing file to test target
1 parent 9214f3a commit 81fb6a0

File tree

9 files changed

+41
-19
lines changed

9 files changed

+41
-19
lines changed

Example/Firebase.xcodeproj/project.pbxproj

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -550,6 +550,7 @@
550550
DEE14D941E84468D006FA992 /* FIRTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE14D7C1E844677006FA992 /* FIRTestCase.m */; };
551551
DEF288411F9AB6E100D480CF /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = DEF288401F9AB6E100D480CF /* [email protected] */; };
552552
DEF288421F9AB6E100D480CF /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = DEF288401F9AB6E100D480CF /* [email protected] */; };
553+
DEF61BFD216E8B1100A738D4 /* FIRMessagingReceiverTest.m in Sources */ = {isa = PBXBuildFile; fileRef = DEF61BFC216E8B1000A738D4 /* FIRMessagingReceiverTest.m */; };
553554
DEF6C30D1FBCE72F005D0740 /* FIRAuthDispatcherTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9314FF1E86C6FF0083EDBF /* FIRAuthDispatcherTests.m */; };
554555
DEF6C30F1FBCE775005D0740 /* FIRAdditionalUserInfoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9314FA1E86C6FF0083EDBF /* FIRAdditionalUserInfoTests.m */; };
555556
DEF6C3101FBCE775005D0740 /* FIRApp+FIRAuthUnitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DE9314FC1E86C6FF0083EDBF /* FIRApp+FIRAuthUnitTests.m */; };
@@ -1331,6 +1332,7 @@
13311332
DEE14D7C1E844677006FA992 /* FIRTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRTestCase.m; sourceTree = "<group>"; };
13321333
DEE14D7D1E844677006FA992 /* Tests-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = "<group>"; };
13331334
DEF288401F9AB6E100D480CF /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "[email protected]"; sourceTree = "<group>"; };
1335+
DEF61BFC216E8B1000A738D4 /* FIRMessagingReceiverTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRMessagingReceiverTest.m; sourceTree = "<group>"; };
13341336
E2C2834C90DBAB56D568189F /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
13351337
ED34CF4A20DC16DC000EA5D1 /* FIRComponentContainerTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRComponentContainerTest.m; sourceTree = "<group>"; };
13361338
ED34CF4B20DC16DC000EA5D1 /* FIRTestComponents.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FIRTestComponents.m; sourceTree = "<group>"; };
@@ -2328,6 +2330,7 @@
23282330
DE9315CC1E8738B70083EDBF /* FIRMessagingLinkHandlingTest.m */,
23292331
DE9315CD1E8738B70083EDBF /* FIRMessagingPendingTopicsListTest.m */,
23302332
DE9315CE1E8738B70083EDBF /* FIRMessagingPubSubTest.m */,
2333+
DEF61BFC216E8B1000A738D4 /* FIRMessagingReceiverTest.m */,
23312334
DE9315CF1E8738B70083EDBF /* FIRMessagingRegistrarTest.m */,
23322335
DE9315D01E8738B70083EDBF /* FIRMessagingRemoteNotificationsProxyTest.m */,
23332336
DE9315D11E8738B70083EDBF /* FIRMessagingRmqManagerTest.m */,
@@ -3204,7 +3207,6 @@
32043207
};
32053208
AFD562E41EB13C6D00EA2233 = {
32063209
CreatedOnToolsVersion = 8.3.2;
3207-
DevelopmentTeam = EQHXZ8M8AV;
32083210
LastSwiftMigration = 0830;
32093211
ProvisioningStyle = Automatic;
32103212
SystemCapabilities = {
@@ -4414,6 +4416,7 @@
44144416
DE9315FE1E8738E60083EDBF /* FIRMessagingRegistrarTest.m in Sources */,
44154417
DE9316031E8738E60083EDBF /* FIRMessagingSyncMessageManagerTest.m in Sources */,
44164418
DE9315FF1E8738E60083EDBF /* FIRMessagingRemoteNotificationsProxyTest.m in Sources */,
4419+
DEF61BFD216E8B1100A738D4 /* FIRMessagingReceiverTest.m in Sources */,
44174420
DE9315F81E8738E60083EDBF /* FIRMessagingDataMessageManagerTest.m in Sources */,
44184421
DE9316051E8738E60083EDBF /* FIRMessagingTestNotificationUtilities.m in Sources */,
44194422
DE37C63B2163D5F30025D03E /* FIRMessagingAnalyticsTest.m in Sources */,
@@ -5109,7 +5112,7 @@
51095112
CODE_SIGN_ENTITLEMENTS = Messaging/Sample/iOS/Messaging_Example.entitlements;
51105113
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
51115114
DEBUG_INFORMATION_FORMAT = dwarf;
5112-
DEVELOPMENT_TEAM = EQHXZ8M8AV;
5115+
DEVELOPMENT_TEAM = "";
51135116
INFOPLIST_FILE = "Messaging/Sample/iOS/Messaging-Info.plist";
51145117
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
51155118
MTL_ENABLE_DEBUG_INFO = YES;
@@ -5138,7 +5141,7 @@
51385141
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
51395142
COPY_PHASE_STRIP = NO;
51405143
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
5141-
DEVELOPMENT_TEAM = EQHXZ8M8AV;
5144+
DEVELOPMENT_TEAM = "";
51425145
INFOPLIST_FILE = "Messaging/Sample/iOS/Messaging-Info.plist";
51435146
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
51445147
MTL_ENABLE_DEBUG_INFO = NO;

Example/Messaging/App/iOS/FIRAppDelegate.m

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ @implementation FIRAppDelegate
2020

2121
- (BOOL)application:(UIApplication *)application
2222
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
23-
[FIRApp configure];
2423
return YES;
2524
}
2625

Example/Messaging/Sample/iOS/Messaging-Info.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
33
<plist version="1.0">
44
<dict>
5-
<key>FirebaseMessagingAutoInitEnabled</key>
6-
<false/>
75
<key>CFBundleDevelopmentRegion</key>
86
<string>en</string>
97
<key>CFBundleDisplayName</key>
@@ -24,6 +22,8 @@
2422
<string>????</string>
2523
<key>CFBundleVersion</key>
2624
<string>1.0</string>
25+
<key>FirebaseMessagingAutoInitEnabled</key>
26+
<false/>
2727
<key>LSRequiresIPhoneOS</key>
2828
<true/>
2929
<key>UIBackgroundModes</key>

Example/Messaging/Tests/FIRMessagingLinkHandlingTest.m

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,13 @@
1818

1919
#import <OCMock/OCMock.h>
2020

21-
#import <FirebaseCore/FIRApp.h>
2221
#import "FIRMessaging.h"
2322
#import "FIRMessagingConstants.h"
2423
#import "FIRMessagingTestNotificationUtilities.h"
2524

2625
@interface FIRMessaging ()
2726

28-
- (instancetype)initPrivately;
27+
+ (FIRMessaging *)messagingForTests;
2928
- (NSURL *)linkURLFromMessage:(NSDictionary *)message;
3029

3130
@end
@@ -40,7 +39,7 @@ @implementation FIRMessagingLinkHandlingTest
4039

4140
- (void)setUp {
4241
[super setUp];
43-
_messaging = [FIRMessaging messaging];
42+
_messaging = [FIRMessaging messagingForTests];
4443
}
4544

4645
- (void)tearDown {

Example/Messaging/Tests/FIRMessagingReceiverTest.m

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
#import "FIRMessaging.h"
2424
#import "FIRMessaging_Private.h"
2525

26+
@interface FIRMessaging ()
27+
+ (FIRMessaging *)messagingForTests;
28+
@end
29+
2630
@interface FIRMessagingReceiverTest : XCTestCase
2731
@property(nonatomic, readonly, strong) FIRMessaging *messaging;
2832

@@ -32,7 +36,7 @@ @implementation FIRMessagingReceiverTest
3236
- (void)setUp {
3337
[super setUp];
3438

35-
_messaging = [FIRMessaging messaging];
39+
_messaging = [FIRMessaging messagingForTests];
3640
[[NSUserDefaults standardUserDefaults]
3741
removePersistentDomainForName:[NSBundle mainBundle].bundleIdentifier];
3842
}

Example/Messaging/Tests/FIRMessagingServiceTest.m

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,14 @@
2525
#import "FIRMessagingTopicsCommon.h"
2626
#import "InternalHeaders/FIRMessagingInternalUtilities.h"
2727
#import "NSError+FIRMessaging.h"
28-
#import <FirebaseCore/FIRAppInternal.h>
2928

3029
static NSString *const kFakeToken =
3130
@"fE1e1PZJFSQ:APA91bFAOjp1ahBWn9rTlbjArwBEm_"
3231
@"yUTTzK6dhIvLqzqqCSabaa4TQVM0pGTmF6r7tmMHPe6VYiGMHuCwJFgj5v97xl78sUNMLwuPPhoci8z_"
3332
@"QGlCrTbxCFGzEUfvA3fGpGgIVQU2W6";
3433

3534
@interface FIRMessaging () <FIRMessagingClientDelegate>
36-
35+
+ (FIRMessaging *)messagingForTests;
3736
@property(nonatomic, readwrite, strong) FIRMessagingClient *client;
3837
@property(nonatomic, readwrite, strong) FIRMessagingPubSub *pubsub;
3938
@property(nonatomic, readwrite, strong) NSString *defaultFcmToken;
@@ -56,9 +55,10 @@ @interface FIRMessagingServiceTest : XCTestCase {
5655
@implementation FIRMessagingServiceTest
5756

5857
- (void)setUp {
59-
_messaging = [FIRMessaging messaging];
58+
_messaging = [FIRMessaging messagingForTests];
6059
_messaging.defaultFcmToken = kFakeToken;
6160
_mockPubSub = OCMPartialMock(_messaging.pubsub);
61+
[_mockPubSub setClient:nil];
6262
[super setUp];
6363
}
6464

@@ -151,7 +151,7 @@ - (void)testSubscribeWithoutStart {
151151
topic:@"/topics/hello-world"
152152
options:nil
153153
handler:^(NSError *error) {
154-
XCTAssertNil(error);
154+
XCTAssertNotNil(error);
155155
XCTAssertEqual(kFIRMessagingErrorCodePubSubFIRMessagingNotSetup, error.code);
156156
}];
157157
}

Example/Messaging/Tests/FIRMessagingTest.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
extern NSString *const kFIRMessagingFCMTokenFetchAPNSOption;
2828

2929
@interface FIRMessaging ()
30+
+ (FIRMessaging *)messagingForTests;
3031

3132
@property(nonatomic, readwrite, strong) NSString *defaultFcmToken;
3233
@property(nonatomic, readwrite, strong) NSData *apnsTokenData;
@@ -53,7 +54,7 @@ @implementation FIRMessagingTest
5354

5455
- (void)setUp {
5556
[super setUp];
56-
_messaging = [FIRMessaging messaging];
57+
_messaging = [FIRMessaging messagingForTests];
5758
_mockFirebaseApp = OCMClassMock([FIRApp class]);
5859
OCMStub([_mockFirebaseApp defaultApp]).andReturn(_mockFirebaseApp);
5960
_mockInstanceID = OCMPartialMock(self.messaging.instanceID);

Firebase/Messaging/FIRMessaging.m

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,14 @@ @interface FIRMessaging () <FIRMessagingInstanceProvider,
165165

166166
@implementation FIRMessaging
167167

168+
// File static to support InstanceID tests that call [FIRMessaging messaging] after
169+
// [FIRMessaging messagingForTests].
170+
static FIRMessaging *sMessaging;
171+
168172
+ (FIRMessaging *)messaging {
173+
if (sMessaging != nil) {
174+
return sMessaging;
175+
}
169176
FIRApp *defaultApp = [FIRApp defaultApp]; // Missing configure will be logged here.
170177
id<FIRMessagingInstanceProvider> messaging =
171178
FIR_COMPONENT(FIRMessagingInstanceProvider, defaultApp.container);
@@ -174,7 +181,16 @@ + (FIRMessaging *)messaging {
174181
dispatch_once(&onceToken, ^{
175182
[(FIRMessaging *)messaging start];
176183
});
177-
return (FIRMessaging *)messaging;
184+
sMessaging = (FIRMessaging *)messaging;
185+
return sMessaging;
186+
}
187+
188+
+ (FIRMessaging *)messagingForTests {
189+
sMessaging = [[FIRMessaging alloc] initWithAnalytics:nil
190+
withInstanceID:[FIRInstanceID instanceID]
191+
withUserDefaults:[NSUserDefaults standardUserDefaults]];
192+
[sMessaging start];
193+
return sMessaging;
178194
}
179195

180196
- (instancetype)initWithAnalytics:(nullable id<FIRAnalyticsInterop>)analytics

Firebase/Messaging/FIRMessagingDefines.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ _Pragma("clang diagnostic pop")
5555
#ifndef _FIRMessagingDevAssert
5656
// we directly invoke the NSAssert handler so we can pass on the varargs
5757
// (NSAssert doesn't have a macro we can use that takes varargs)
58-
#if !defined(NS_BLOCK_ASSERTIONS)
58+
#ifdef DEBUG
5959
#define _FIRMessagingDevAssert(condition, ...) \
6060
do { \
6161
if (!(condition)) { \
@@ -67,9 +67,9 @@ _Pragma("clang diagnostic pop")
6767
description:__VA_ARGS__]; \
6868
} \
6969
} while(0)
70-
#else // !defined(NS_BLOCK_ASSERTIONS)
70+
#else // !defined(DEBUG)
7171
#define _FIRMessagingDevAssert(condition, ...) do { } while (0)
72-
#endif // !defined(NS_BLOCK_ASSERTIONS)
72+
#endif // !defined(DEBUG)
7373

7474
#endif // _FIRMessagingDevAssert
7575

0 commit comments

Comments
 (0)