diff options
Diffstat (limited to 'Example/Core/Tests/FIRAppTest.m')
-rw-r--r-- | Example/Core/Tests/FIRAppTest.m | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Example/Core/Tests/FIRAppTest.m b/Example/Core/Tests/FIRAppTest.m index abf1d38..549c1ab 100644 --- a/Example/Core/Tests/FIRAppTest.m +++ b/Example/Core/Tests/FIRAppTest.m @@ -14,6 +14,7 @@ #import "FIRTestCase.h" +#import <FirebaseCore/FIRAnalyticsConfiguration+Internal.h> #import <FirebaseCore/FIRAppInternal.h> #import <FirebaseCore/FIROptionsInternal.h> @@ -682,6 +683,43 @@ NSString *const kFIRTestAppName2 = @"test-app-name-2"; [[FIRApp defaultApp] sendLogsWithServiceName:@"Service" version:@"Version" error:error]; } +#pragma mark - Analytics Flag Tests + +- (void)testAnalyticsSetByGlobalDataCollectionSwitch { + // Test that the global data collection switch triggers setting Analytics when no explicit flag is + // set. + [FIRApp configure]; + + id configurationMock = OCMClassMock([FIRAnalyticsConfiguration class]); + OCMStub([configurationMock sharedInstance]).andReturn(configurationMock); + OCMStub([configurationMock setAnalyticsCollectionEnabled:OCMOCK_ANY persistSetting:OCMOCK_ANY]); + OCMStub([self.optionsInstanceMock isAnalyticsCollectionExpicitlySet]).andReturn(NO); + + // Ensure Analytics is set after the global flag is set. + [[FIRApp defaultApp] setAutomaticDataCollectionEnabled:YES]; + OCMVerify([configurationMock setAnalyticsCollectionEnabled:YES persistSetting:NO]); + + [[FIRApp defaultApp] setAutomaticDataCollectionEnabled:NO]; + OCMVerify([configurationMock setAnalyticsCollectionEnabled:NO persistSetting:NO]); +} + +- (void)testAnalyticsNotSetByGlobalDataCollectionSwitch { + // Test that the global data collection switch doesn't override an explicitly set Analytics flag. + [FIRApp configure]; + + id configurationMock = OCMClassMock([FIRAnalyticsConfiguration class]); + OCMStub([configurationMock sharedInstance]).andReturn(configurationMock); + OCMStub([configurationMock setAnalyticsCollectionEnabled:OCMOCK_ANY persistSetting:OCMOCK_ANY]); + OCMStub([self.optionsInstanceMock isAnalyticsCollectionExpicitlySet]).andReturn(YES); + + // Reject any changes to Analytics when the data collection changes. + [[FIRApp defaultApp] setAutomaticDataCollectionEnabled:YES]; + OCMReject([configurationMock setAnalyticsCollectionEnabled:OCMOCK_ANY persistSetting:OCMOCK_ANY]); + + [[FIRApp defaultApp] setAutomaticDataCollectionEnabled:NO]; + OCMReject([configurationMock setAnalyticsCollectionEnabled:OCMOCK_ANY persistSetting:OCMOCK_ANY]); +} + #pragma mark - Internal Methods - (void)testAuthGetUID { |