summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozdevice/tests/test_socket_connection.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /testing/mozbase/mozdevice/tests/test_socket_connection.py
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/mozbase/mozdevice/tests/test_socket_connection.py')
-rw-r--r--testing/mozbase/mozdevice/tests/test_socket_connection.py113
1 files changed, 113 insertions, 0 deletions
diff --git a/testing/mozbase/mozdevice/tests/test_socket_connection.py b/testing/mozbase/mozdevice/tests/test_socket_connection.py
new file mode 100644
index 0000000000..af047b199a
--- /dev/null
+++ b/testing/mozbase/mozdevice/tests/test_socket_connection.py
@@ -0,0 +1,113 @@
+#!/usr/bin/env python
+
+from __future__ import absolute_import
+
+import mozunit
+import pytest
+
+from conftest import random_tcp_port
+
+
+@pytest.fixture(params=["tcp:{}".format(random_tcp_port()) for _ in range(5)])
+def select_test_port(request):
+ """Generate a list of ports to be used for testing."""
+ yield request.param
+
+
+def test_list_socket_connections_reverse(mock_adb_object):
+ assert [("['reverse',", "'--list']")] == mock_adb_object.list_socket_connections(
+ "reverse"
+ )
+
+
+def test_list_socket_connections_forward(mock_adb_object):
+ assert [("['forward',", "'--list']")] == mock_adb_object.list_socket_connections(
+ "forward"
+ )
+
+
+def test_create_socket_connection_reverse(
+ mock_adb_object, select_test_port, redirect_stdout_and_assert
+):
+ _expected = "['reverse', '{0}', '{0}']".format(select_test_port)
+ redirect_stdout_and_assert(
+ mock_adb_object.create_socket_connection,
+ direction="reverse",
+ local=select_test_port,
+ remote=select_test_port,
+ text=_expected,
+ )
+
+
+def test_create_socket_connection_forward(
+ mock_adb_object, select_test_port, redirect_stdout_and_assert
+):
+ _expected = "['forward', '{0}', '{0}']".format(select_test_port)
+ redirect_stdout_and_assert(
+ mock_adb_object.create_socket_connection,
+ direction="forward",
+ local=select_test_port,
+ remote=select_test_port,
+ text=_expected,
+ )
+
+
+def test_remove_socket_connections_reverse(mock_adb_object, redirect_stdout_and_assert):
+ _expected = "['reverse', '--remove-all']"
+ redirect_stdout_and_assert(
+ mock_adb_object.remove_socket_connections, direction="reverse", text=_expected
+ )
+
+
+def test_remove_socket_connections_forward(mock_adb_object, redirect_stdout_and_assert):
+ _expected = "['forward', '--remove-all']"
+ redirect_stdout_and_assert(
+ mock_adb_object.remove_socket_connections, direction="forward", text=_expected
+ )
+
+
+def test_legacy_forward(mock_adb_object, select_test_port, redirect_stdout_and_assert):
+ _expected = "['forward', '{0}', '{0}']".format(select_test_port)
+ redirect_stdout_and_assert(
+ mock_adb_object.forward,
+ local=select_test_port,
+ remote=select_test_port,
+ text=_expected,
+ )
+
+
+def test_legacy_reverse(mock_adb_object, select_test_port, redirect_stdout_and_assert):
+ _expected = "['reverse', '{0}', '{0}']".format(select_test_port)
+ redirect_stdout_and_assert(
+ mock_adb_object.reverse,
+ local=select_test_port,
+ remote=select_test_port,
+ text=_expected,
+ )
+
+
+def test_validate_port_invalid_prefix(mock_adb_object):
+ with pytest.raises(ValueError):
+ mock_adb_object._validate_port("{}".format("invalid"), is_local=True)
+
+
+@pytest.mark.xfail
+def test_validate_port_non_numerical_port_identifier(mock_adb_object):
+ with pytest.raises(AttributeError):
+ mock_adb_object._validate_port(
+ "{}".format("tcp:this:is:not:a:number"), is_local=True
+ )
+
+
+def test_validate_port_identifier_length_short(mock_adb_object):
+ with pytest.raises(ValueError):
+ mock_adb_object._validate_port("{}".format("tcp"), is_local=True)
+
+
+def test_validate_direction(mock_adb_object):
+ with pytest.raises(ValueError):
+ mock_adb_object._validate_direction("{}".format("bad direction"))
+
+
+if __name__ == "__main__":
+ mozunit.main()