Skip to content

Commit 134b269

Browse files
authored
[Infra] Move Firebase user agent tests to sepearate file (#10070)
* [Infra] Move Firebase user agent tests to sepearate file * Add the LLC
1 parent 26075af commit 134b269

File tree

2 files changed

+140
-111
lines changed

2 files changed

+140
-111
lines changed

FirebaseCore/Tests/Unit/FIRAppTest.m

Lines changed: 0 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -825,117 +825,6 @@ - (void)testIsDefaultAppConfigured {
825825
XCTAssertFalse([FIRApp isDefaultAppConfigured]);
826826
}
827827

828-
- (void)testRegisterLibrary_InvalidLibraryName {
829-
NSString *originalFirebaseUserAgent = [FIRApp firebaseUserAgent];
830-
[FIRApp registerLibrary:@"Oops>" withVersion:@"1.0.0"];
831-
XCTAssertTrue([[FIRApp firebaseUserAgent] isEqualToString:originalFirebaseUserAgent]);
832-
}
833-
834-
- (void)testRegisterLibrary_InvalidLibraryVersion {
835-
NSString *originalFirebaseUserAgent = [FIRApp firebaseUserAgent];
836-
[FIRApp registerLibrary:@"ValidName" withVersion:@"1.0.0+"];
837-
XCTAssertTrue([[FIRApp firebaseUserAgent] isEqualToString:originalFirebaseUserAgent]);
838-
}
839-
840-
- (void)testRegisterLibrary_SingleLibrary {
841-
[FIRApp registerLibrary:@"ValidName" withVersion:@"1.0.0"];
842-
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"ValidName/1.0.0"]);
843-
}
844-
845-
- (void)testRegisterLibrary_MultipleLibraries {
846-
[FIRApp registerLibrary:@"ValidName" withVersion:@"1.0.0"];
847-
[FIRApp registerLibrary:@"ValidName2" withVersion:@"2.0.0"];
848-
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"ValidName/1.0.0 ValidName2/2.0.0"]);
849-
}
850-
851-
- (void)testRegisterLibrary_RegisteringConformingLibrary {
852-
Class testClass = [FIRTestClass class];
853-
[FIRApp registerInternalLibrary:testClass withName:@"ValidName" withVersion:@"1.0.0"];
854-
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"ValidName/1.0.0"]);
855-
}
856-
857-
- (void)testRegisterLibrary_RegisteringNonConformingLibrary {
858-
XCTAssertThrows([FIRApp registerInternalLibrary:[NSString class]
859-
withName:@"InvalidLibrary"
860-
withVersion:@"1.0.0"]);
861-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"InvalidLibrary`/1.0.0"]);
862-
}
863-
864-
- (void)testFirebaseUserAgent_ApplePlatformFlag {
865-
// When a Catalyst app is run on macOS then both `TARGET_OS_MACCATALYST` and `TARGET_OS_IOS` are
866-
// `true`.
867-
#if TARGET_OS_MACCATALYST
868-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/ios"]);
869-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/tvos"]);
870-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/macos"]);
871-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/watchos"]);
872-
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"apple-platform/maccatalyst"]);
873-
#elif TARGET_OS_IOS
874-
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"apple-platform/ios"]);
875-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/tvos"]);
876-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/macos"]);
877-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/watchos"]);
878-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/maccatalyst"]);
879-
#endif // TARGET_OS_MACCATALYST
880-
881-
#if TARGET_OS_TV
882-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/ios"]);
883-
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"apple-platform/tvos"]);
884-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/macos"]);
885-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/watchos"]);
886-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/maccatalyst"]);
887-
#endif // TARGET_OS_TV
888-
889-
#if TARGET_OS_OSX
890-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/ios"]);
891-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/tvos"]);
892-
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"apple-platform/macos"]);
893-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/watchos"]);
894-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/maccatalyst"]);
895-
#endif // TARGET_OS_OSX
896-
897-
#if TARGET_OS_WATCH
898-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/ios"]);
899-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/tvos"]);
900-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/macos"]);
901-
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"apple-platform/watchos"]);
902-
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/maccatalyst"]);
903-
#endif // TARGET_OS_WATCH
904-
}
905-
906-
- (void)testFirebaseUserAgent_DeploymentType {
907-
#if SWIFT_PACKAGE
908-
NSString *deploymentType = @"swiftpm";
909-
#elif FIREBASE_BUILD_CARTHAGE
910-
NSString *deploymentType = @"carthage";
911-
#elif FIREBASE_BUILD_ZIP_FILE
912-
NSString *deploymentType = @"zip";
913-
#else
914-
NSString *deploymentType = @"cocoapods";
915-
#endif
916-
917-
NSString *expectedComponent = [NSString stringWithFormat:@"deploy/%@", deploymentType];
918-
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:expectedComponent]);
919-
}
920-
921-
- (void)testFirebaseUserAgent_DeviceModel {
922-
NSString *expectedComponent =
923-
[NSString stringWithFormat:@"device/%@", [GULAppEnvironmentUtil deviceModel]];
924-
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:expectedComponent]);
925-
}
926-
927-
- (void)testFirebaseUserAgent_OSVersion {
928-
NSString *expectedComponent =
929-
[NSString stringWithFormat:@"os-version/%@", [GULAppEnvironmentUtil systemVersion]];
930-
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:expectedComponent]);
931-
}
932-
933-
- (void)testFirebaseUserAgent_IsFromAppStore {
934-
NSString *appStoreValue = [GULAppEnvironmentUtil isFromAppStore] ? @"true" : @"false";
935-
NSString *expectedComponent = [NSString stringWithFormat:@"appstore/%@", appStoreValue];
936-
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:expectedComponent]);
937-
}
938-
939828
#pragma mark - Core Telemetry
940829

941830
- (void)testCoreDiagnosticsLoggedWhenAppDidBecomeActive {
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
// Copyright 2022 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
#import <GoogleUtilities/GULAppEnvironmentUtil.h>
16+
#import <XCTest/XCTest.h>
17+
18+
#import "FirebaseCore/Tests/Unit/FIRTestCase.h"
19+
#import "FirebaseCore/Tests/Unit/FIRTestComponents.h"
20+
21+
#import "FirebaseCore/Extension/FIRAppInternal.h"
22+
23+
@interface FIRFirebaseUserAgentTests : FIRTestCase
24+
25+
@end
26+
27+
@implementation FIRFirebaseUserAgentTests
28+
29+
- (void)testFirebaseUserAgent_ApplePlatformFlag {
30+
// When a Catalyst app is run on macOS then both `TARGET_OS_MACCATALYST` and `TARGET_OS_IOS` are
31+
// `true`.
32+
#if TARGET_OS_MACCATALYST
33+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/ios"]);
34+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/tvos"]);
35+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/macos"]);
36+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/watchos"]);
37+
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"apple-platform/maccatalyst"]);
38+
#elif TARGET_OS_IOS
39+
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"apple-platform/ios"]);
40+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/tvos"]);
41+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/macos"]);
42+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/watchos"]);
43+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/maccatalyst"]);
44+
#endif // TARGET_OS_MACCATALYST
45+
46+
#if TARGET_OS_TV
47+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/ios"]);
48+
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"apple-platform/tvos"]);
49+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/macos"]);
50+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/watchos"]);
51+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/maccatalyst"]);
52+
#endif // TARGET_OS_TV
53+
54+
#if TARGET_OS_OSX
55+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/ios"]);
56+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/tvos"]);
57+
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"apple-platform/macos"]);
58+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/watchos"]);
59+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/maccatalyst"]);
60+
#endif // TARGET_OS_OSX
61+
62+
#if TARGET_OS_WATCH
63+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/ios"]);
64+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/tvos"]);
65+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/macos"]);
66+
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"apple-platform/watchos"]);
67+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"apple-platform/maccatalyst"]);
68+
#endif // TARGET_OS_WATCH
69+
}
70+
71+
- (void)testFirebaseUserAgent_DeploymentType {
72+
#if SWIFT_PACKAGE
73+
NSString *deploymentType = @"swiftpm";
74+
#elif FIREBASE_BUILD_CARTHAGE
75+
NSString *deploymentType = @"carthage";
76+
#elif FIREBASE_BUILD_ZIP_FILE
77+
NSString *deploymentType = @"zip";
78+
#else
79+
NSString *deploymentType = @"cocoapods";
80+
#endif
81+
82+
NSString *expectedComponent = [NSString stringWithFormat:@"deploy/%@", deploymentType];
83+
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:expectedComponent]);
84+
}
85+
86+
- (void)testFirebaseUserAgent_DeviceModel {
87+
NSString *expectedComponent =
88+
[NSString stringWithFormat:@"device/%@", [GULAppEnvironmentUtil deviceModel]];
89+
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:expectedComponent]);
90+
}
91+
92+
- (void)testFirebaseUserAgent_OSVersion {
93+
NSString *expectedComponent =
94+
[NSString stringWithFormat:@"os-version/%@", [GULAppEnvironmentUtil systemVersion]];
95+
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:expectedComponent]);
96+
}
97+
98+
- (void)testFirebaseUserAgent_IsFromAppStore {
99+
NSString *appStoreValue = [GULAppEnvironmentUtil isFromAppStore] ? @"true" : @"false";
100+
NSString *expectedComponent = [NSString stringWithFormat:@"appstore/%@", appStoreValue];
101+
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:expectedComponent]);
102+
}
103+
104+
- (void)testRegisterLibrary_InvalidLibraryName {
105+
NSString *originalFirebaseUserAgent = [FIRApp firebaseUserAgent];
106+
[FIRApp registerLibrary:@"Oops>" withVersion:@"1.0.0"];
107+
XCTAssertTrue([[FIRApp firebaseUserAgent] isEqualToString:originalFirebaseUserAgent]);
108+
}
109+
110+
- (void)testRegisterLibrary_InvalidLibraryVersion {
111+
NSString *originalFirebaseUserAgent = [FIRApp firebaseUserAgent];
112+
[FIRApp registerLibrary:@"ValidName" withVersion:@"1.0.0+"];
113+
XCTAssertTrue([[FIRApp firebaseUserAgent] isEqualToString:originalFirebaseUserAgent]);
114+
}
115+
116+
- (void)testRegisterLibrary_SingleLibrary {
117+
[FIRApp registerLibrary:@"ValidName" withVersion:@"1.0.0"];
118+
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"ValidName/1.0.0"]);
119+
}
120+
121+
- (void)testRegisterLibrary_MultipleLibraries {
122+
[FIRApp registerLibrary:@"ValidName" withVersion:@"1.0.0"];
123+
[FIRApp registerLibrary:@"ValidName2" withVersion:@"2.0.0"];
124+
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"ValidName/1.0.0 ValidName2/2.0.0"]);
125+
}
126+
127+
- (void)testRegisterLibrary_RegisteringConformingLibrary {
128+
Class testClass = [FIRTestClass class];
129+
[FIRApp registerInternalLibrary:testClass withName:@"ValidName" withVersion:@"1.0.0"];
130+
XCTAssertTrue([[FIRApp firebaseUserAgent] containsString:@"ValidName/1.0.0"]);
131+
}
132+
133+
- (void)testRegisterLibrary_RegisteringNonConformingLibrary {
134+
XCTAssertThrows([FIRApp registerInternalLibrary:[NSString class]
135+
withName:@"InvalidLibrary"
136+
withVersion:@"1.0.0"]);
137+
XCTAssertFalse([[FIRApp firebaseUserAgent] containsString:@"InvalidLibrary`/1.0.0"]);
138+
}
139+
140+
@end

0 commit comments

Comments
 (0)