ApplicationInfoTests.swift 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. //
  2. // Copyright 2022 Google LLC
  3. //
  4. // Licensed under the Apache License, Version 2.0 (the "License");
  5. // you may not use this file except in compliance with the License.
  6. // You may obtain a copy of the License at
  7. //
  8. // http://www.apache.org/licenses/LICENSE-2.0
  9. //
  10. // Unless required by applicable law or agreed to in writing, software
  11. // distributed under the License is distributed on an "AS IS" BASIS,
  12. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. // See the License for the specific language governing permissions and
  14. // limitations under the License.
  15. import XCTest
  16. @testable import FirebaseSessions
  17. class ApplicationInfoTests: XCTestCase {
  18. var appInfo: ApplicationInfo!
  19. var mockNetworkInfo: MockNetworkInfo!
  20. override func setUp() {
  21. super.setUp()
  22. mockNetworkInfo = MockNetworkInfo()
  23. appInfo = ApplicationInfo(appID: "testAppID", networkInfo: mockNetworkInfo)
  24. }
  25. func test_LogEnvironment_hasProdAsDefault() {
  26. XCTAssertEqual(appInfo.environment, .prod)
  27. }
  28. func test_LogEnvironment_takesOverrideValues() {
  29. var envValues = ["FirebaseSessionsRunEnvironment": "prod"]
  30. var appInfo = ApplicationInfo(appID: "testAppID", envParams: envValues)
  31. XCTAssertEqual(appInfo.environment, .prod)
  32. envValues = ["FirebaseSessionsRunEnvironment": "PROD"]
  33. appInfo = ApplicationInfo(appID: "testAppID", envParams: envValues)
  34. XCTAssertEqual(appInfo.environment, .prod)
  35. // Verify staging overrides
  36. envValues = ["FirebaseSessionsRunEnvironment": "staging"]
  37. appInfo = ApplicationInfo(appID: "testAppID", envParams: envValues)
  38. XCTAssertEqual(appInfo.environment, .staging)
  39. // Verify staging overrides
  40. envValues = ["FirebaseSessionsRunEnvironment": "STAGING"]
  41. appInfo = ApplicationInfo(appID: "testAppID", envParams: envValues)
  42. XCTAssertEqual(appInfo.environment, .staging)
  43. // Verify autopush overrides
  44. envValues = ["FirebaseSessionsRunEnvironment": "autopush"]
  45. appInfo = ApplicationInfo(appID: "testAppID", envParams: envValues)
  46. XCTAssertEqual(appInfo.environment, .autopush)
  47. envValues = ["FirebaseSessionsRunEnvironment": "AUTOPUSH"]
  48. appInfo = ApplicationInfo(appID: "testAppID", envParams: envValues)
  49. XCTAssertEqual(appInfo.environment, .autopush)
  50. // Verify random overrides
  51. envValues = ["FirebaseSessionsRunEnvironment": "random"]
  52. appInfo = ApplicationInfo(appID: "testAppID", envParams: envValues)
  53. XCTAssertEqual(appInfo.environment, .prod)
  54. envValues = ["FirebaseSessionsRunEnvironment": ""]
  55. appInfo = ApplicationInfo(appID: "testAppID", envParams: envValues)
  56. XCTAssertEqual(appInfo.environment, .prod)
  57. }
  58. func test_bundleVersions_correspondToVersion() {
  59. let appInfo = ApplicationInfo(
  60. appID: "testAppID",
  61. networkInfo: mockNetworkInfo,
  62. envParams: [:],
  63. infoDict: [
  64. "CFBundleVersion": "54321", // Build Version
  65. "CFBundleShortVersionString": "12.34.5", // Display Version
  66. ]
  67. )
  68. XCTAssertEqual(appInfo.appBuildVersion, "54321")
  69. XCTAssertEqual(appInfo.appDisplayVersion, "12.34.5")
  70. }
  71. }