Signal-iOS/SignalServiceKit/tests/Calls/RingrtcFieldTrialsTest.swift
Evan Hahn 1ba45411ae
Enable a RingRTC field trial for all users, with kill switch
The successor to 389515b0fa.

This enables the "WebRTC-Network-UseNWPathMonitor" RingRTC field trial
for all users.

The hard part: adding a remote config kill switch. I added a bunch of
comments (and tests) to try to make the intention clear.
2023-02-01 16:20:16 -06:00

36 lines
1.1 KiB
Swift

//
// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import XCTest
@testable import SignalServiceKit
final class RingrtcFieldTrialsTest: XCTestCase {
func testNwPathMonitorEnabledWhenUnspecified() {
let userDefaults = TestUtils.userDefaults()
let trials = RingrtcFieldTrials.trials(with: userDefaults)
XCTAssertEqual(trials["WebRTC-Network-UseNWPathMonitor"], "Enabled")
}
func testNwPathMonitorExplicitlyEnabled() {
let userDefaults = TestUtils.userDefaults()
RingrtcFieldTrials.saveNwPathMonitorTrialState(isEnabled: true, in: userDefaults)
let trials = RingrtcFieldTrials.trials(with: userDefaults)
XCTAssertEqual(trials["WebRTC-Network-UseNWPathMonitor"], "Enabled")
}
func testNwPathMonitorDisabled() {
let userDefaults = TestUtils.userDefaults()
RingrtcFieldTrials.saveNwPathMonitorTrialState(isEnabled: false, in: userDefaults)
let trials = RingrtcFieldTrials.trials(with: userDefaults)
XCTAssertNil(trials["WebRTC-Network-UseNWPathMonitor"])
}
}