# Copyright 2024 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. from unittest import mock from crossbench.network.live import LiveNetwork from tests import test_helper from tests.crossbench.base import BaseCrossbenchTestCase class LiveNetworkTestCase(BaseCrossbenchTestCase): def test_defaults(self): network = LiveNetwork(browser_platform=self.platform) self.assertTrue(network.traffic_shaper.is_live) self.assertFalse(network.traffic_shaper.is_running) self.assertFalse(network.is_running) self.assertIn("live", str(network).lower()) def test_open(self): network = LiveNetwork(browser_platform=self.platform) mock_browser_session = mock.Mock() with network.open(mock_browser_session): self.assertTrue(network.is_running) self.assertFalse(network.extra_flags(self.browsers[0].attributes)) # Should not be able to double open the network. with self.assertRaises(AssertionError): with network.open(mock_browser_session): pass self.assertFalse(network.is_running) if __name__ == "__main__": test_helper.run_pytest(__file__)