Skip to content

Commit c2164ae

Browse files
authored
Workaround for Unit Tests until #4877 is figured out. (#4882)
* Disable multi-instance tests until partial mocking for OCMock is figured out. * Remove extra OCMStub. * Explicitely cast partial mocks to id to stopMocking. * Fix typo.
1 parent 904c183 commit c2164ae

File tree

3 files changed

+20
-8
lines changed

3 files changed

+20
-8
lines changed

FirebaseRemoteConfig/Tests/Unit/RCNConfigContentTest.m

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ - (void)setUp {
5555
/// Passing in a nil bundleID should not crash the app
5656
- (void)testCrashShouldNotHappenWithoutMainBundleID {
5757
id mockBundle = OCMPartialMock([NSBundle mainBundle]);
58-
OCMStub([NSBundle mainBundle]).andReturn(mockBundle);
5958
OCMStub([mockBundle bundleIdentifier]).andReturn(nil);
6059
_configContent = [[RCNConfigContent alloc] initWithDBManager:nil];
6160
[mockBundle stopMocking];

FirebaseRemoteConfig/Tests/Unit/RCNInstanceIDTest.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ + (NSUserDefaults *)sharedUserDefaultsForBundleIdentifier:(NSString *)bundleIden
5252

5353
typedef NS_ENUM(NSInteger, RCNTestRCInstance) {
5454
RCNTestRCInstanceDefault,
55+
RCNTestRCNumTotalInstances, // TODO(mandard): Remove once OCMock issue is resolved (#4877).
5556
RCNTestRCInstanceSecondNamespace,
5657
RCNTestRCInstanceSecondApp,
57-
RCNTestRCNumTotalInstances
5858
};
5959

6060
@interface FIRInstanceID (Tests)

FirebaseRemoteConfig/Tests/Unit/RCNRemoteConfigTest.m

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ + (NSUserDefaults *)sharedUserDefaultsForBundleIdentifier:(NSString *)bundleIden
8181

8282
typedef NS_ENUM(NSInteger, RCNTestRCInstance) {
8383
RCNTestRCInstanceDefault,
84+
RCNTestRCNumTotalInstances, // TODO(mandard): Remove once OCMock issue is resolved (#4877).
8485
RCNTestRCInstanceSecondNamespace,
8586
RCNTestRCInstanceSecondApp,
86-
RCNTestRCNumTotalInstances
8787
};
8888

8989
@interface RCNRemoteConfigTest : XCTestCase {
@@ -99,6 +99,8 @@ @interface RCNRemoteConfigTest : XCTestCase {
9999
NSUserDefaults *_userDefaults;
100100
NSString *_userDefaultsSuiteName;
101101
NSString *_DBPath;
102+
id _DBManagerMock;
103+
id _userDefaultsMock;
102104
}
103105
@end
104106

@@ -112,14 +114,14 @@ - (void)setUp {
112114

113115
// Always remove the database at the start of testing.
114116
_DBPath = [RCNTestUtilities remoteConfigPathForTestDatabase];
115-
id classMock = OCMClassMock([RCNConfigDBManager class]);
116-
OCMStub([classMock remoteConfigPathForDatabase]).andReturn(_DBPath);
117+
_DBManagerMock = OCMClassMock([RCNConfigDBManager class]);
118+
OCMStub([_DBManagerMock remoteConfigPathForDatabase]).andReturn(_DBPath);
117119
_DBManager = [[RCNConfigDBManager alloc] init];
118120

119121
_userDefaultsSuiteName = [RCNTestUtilities userDefaultsSuiteNameForTestSuite];
120122
_userDefaults = [[NSUserDefaults alloc] initWithSuiteName:_userDefaultsSuiteName];
121-
id userDefaultsClassMock = OCMClassMock([RCNUserDefaultsManager class]);
122-
OCMStub([userDefaultsClassMock sharedUserDefaultsForBundleIdentifier:[OCMArg any]])
123+
_userDefaultsMock = OCMClassMock([RCNUserDefaultsManager class]);
124+
OCMStub([_userDefaultsMock sharedUserDefaultsForBundleIdentifier:[OCMArg any]])
123125
.andReturn(_userDefaults);
124126

125127
RCNConfigContent *configContent = [[RCNConfigContent alloc] initWithDBManager:_DBManager];
@@ -193,7 +195,6 @@ - (void)setUp {
193195
OCMStub([_configFetch[i] fetchConfigWithExpirationDuration:43200 completionHandler:OCMOCK_ANY])
194196
.andDo(^(NSInvocation *invocation) {
195197
void (^handler)(FIRRemoteConfigFetchStatus status, NSError *_Nullable error) = nil;
196-
// void (^handler)(FIRRemoteConfigFetchCompletion);
197198
[invocation getArgument:&handler atIndex:3];
198199
[_configFetch[i] fetchWithUserProperties:[[NSDictionary alloc] init]
199200
completionHandler:handler];
@@ -225,6 +226,18 @@ - (void)setUp {
225226
- (void)tearDown {
226227
[_DBManager removeDatabaseOnDatabaseQueueAtPath:_DBPath];
227228
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:_userDefaultsSuiteName];
229+
[_DBManagerMock stopMocking];
230+
_DBManagerMock = nil;
231+
[_userDefaultsMock stopMocking];
232+
_userDefaultsMock = nil;
233+
for (int i = 0; i < RCNTestRCNumTotalInstances; i++) {
234+
[(id)_configInstances[i] stopMocking];
235+
[(id)_configFetch[i] stopMocking];
236+
}
237+
[_configInstances removeAllObjects];
238+
[_configFetch removeAllObjects];
239+
_configInstances = nil;
240+
_configFetch = nil;
228241
[super tearDown];
229242
}
230243

0 commit comments

Comments
 (0)