// // Copyright 2020 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only // import Foundation import LibSignalClient import XCTest @testable import SignalServiceKit class RemoteConfigManagerTests: XCTestCase { func test_bucketCalculation() { let testCases: [(String, String, UInt64, UInt64)] = [ ("research.megaphone.1", "15b9729c-51ea-4ddb-b516-652befe78062", 1_000_000, 243_315), ("research.megaphone.2", "15b9729c-51ea-4ddb-b516-652befe78062", 1_000_000, 551_742), ("research.megaphone.1", "5f5b28bb-f485-4a0a-a85c-13fc047524b1", 1_000_000, 365_381), ("research.megaphone.1", "15b9729c-51ea-4ddb-b516-652befe78062", 100_000, 43_315) ] for (key, uuidString, bucketSize, expectedBucket) in testCases { let actualBucket = RemoteConfig.bucket(key: key, aci: Aci.constantForTesting(uuidString), bucketSize: bucketSize) XCTAssertEqual(actualBucket, expectedBucket) } } }