• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2024 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5from unittest import mock
6
7from crossbench.network.live import LiveNetwork
8from tests import test_helper
9from tests.crossbench.base import BaseCrossbenchTestCase
10
11
12class LiveNetworkTestCase(BaseCrossbenchTestCase):
13
14  def test_defaults(self):
15    network = LiveNetwork(browser_platform=self.platform)
16    self.assertTrue(network.traffic_shaper.is_live)
17    self.assertFalse(network.traffic_shaper.is_running)
18    self.assertFalse(network.is_running)
19    self.assertIn("live", str(network).lower())
20
21  def test_open(self):
22    network = LiveNetwork(browser_platform=self.platform)
23    mock_browser_session = mock.Mock()
24    with network.open(mock_browser_session):
25      self.assertTrue(network.is_running)
26      self.assertFalse(network.extra_flags(self.browsers[0].attributes))
27      # Should not be able to double open the network.
28      with self.assertRaises(AssertionError):
29        with network.open(mock_browser_session):
30          pass
31    self.assertFalse(network.is_running)
32
33
34if __name__ == "__main__":
35  test_helper.run_pytest(__file__)
36