Пример #1
0
    def test_terminate_all_session_call_terminate_on_all_sessions(self):
        """Tests sl4a_manager.Sl4aManager.terminate_all_sessions().

        Tests to see that the manager has called terminate on all sessions.
        """
        called_terminate_on = list()

        def called_on(session):
            called_terminate_on.append(session)

        adb = mock.Mock()
        manager = sl4a_manager.Sl4aManager(adb)

        session_1 = mock.Mock()
        session_1.terminate = lambda *args, **kwargs: called_on(session_1)
        manager.sessions[1] = session_1
        session_4 = mock.Mock()
        session_4.terminate = lambda *args, **kwargs: called_on(session_4)
        manager.sessions[4] = session_4
        session_5 = mock.Mock()
        session_5.terminate = lambda *args, **kwargs: called_on(session_5)
        manager.sessions[5] = session_5

        manager._get_all_ports = lambda: []
        manager.terminate_all_sessions()
        # No duplicates calls to terminate.
        self.assertEqual(len(called_terminate_on),
                         len(set(called_terminate_on)))
        # One call for each session
        self.assertSetEqual(set(called_terminate_on),
                            {session_1, session_4, session_5})
Пример #2
0
    def test_terminate_all_session_close_each_server(self):
        """Tests sl4a_manager.Sl4aManager.terminate_all_sessions().

        Tests to see that the manager has called terminate on all sessions.
        """
        closed_ports = list()

        def close(command):
            if str.isdigit(command):
                closed_ports.append(command)
            return ''

        adb = mock.Mock()
        adb.shell = close
        sl4a_manager._SL4A_CLOSE_SERVER_CMD = '%s'
        ports_to_close = {'12345', '67890', '24680', '13579'}

        manager = sl4a_manager.Sl4aManager(adb)
        manager._sl4a_ports = set(ports_to_close)
        manager._get_all_ports = lambda: []
        manager.terminate_all_sessions()

        # No duplicate calls to close port
        self.assertEqual(len(closed_ports), len(set(closed_ports)))
        # One call for each port
        self.assertSetEqual(ports_to_close, set(closed_ports))
Пример #3
0
    def test_sl4a_ports_in_use(self):
        """Tests sl4a_manager.Sl4aManager.sl4a_ports_in_use

        Tests to make sure all server ports are returned with no duplicates.
        """
        adb = mock.Mock()
        manager = sl4a_manager.Sl4aManager(adb)
        session_1 = mock.Mock()
        session_1.server_port = 12345
        manager.sessions[1] = session_1
        session_2 = mock.Mock()
        session_2.server_port = 15973
        manager.sessions[2] = session_2
        session_3 = mock.Mock()
        session_3.server_port = 12345
        manager.sessions[3] = session_3
        session_4 = mock.Mock()
        session_4.server_port = 67890
        manager.sessions[4] = session_4
        session_5 = mock.Mock()
        session_5.server_port = 75638
        manager.sessions[5] = session_5

        returned_ports = manager.sl4a_ports_in_use

        # No duplicated ports.
        self.assertEqual(len(returned_ports), len(set(returned_ports)))
        # One call for each session
        self.assertSetEqual(set(returned_ports), {12345, 15973, 67890, 75638})
Пример #4
0
    def test_obtain_sl4a_server_starts_new_server(self):
        """Tests sl4a_manager.Sl4aManager.obtain_sl4a_server().

        Tests that a new server can be returned if the server does not exist.
        """
        adb = mock.Mock()
        manager = sl4a_manager.Sl4aManager(adb)
        manager.start_sl4a_server = mock.Mock()

        manager.obtain_sl4a_server(0)

        self.assertTrue(manager.start_sl4a_server.called)
Пример #5
0
    def test_obtain_sl4a_server_returns_existing_server(
            self, sl4a_ports_in_use):
        """Tests sl4a_manager.Sl4aManager.obtain_sl4a_server().

        Tests that an existing server is returned if it is already opened.
        """
        adb = mock.Mock()
        manager = sl4a_manager.Sl4aManager(adb)
        manager.start_sl4a_server = mock.Mock()
        sl4a_ports_in_use.return_value = [12345]

        ret = manager.obtain_sl4a_server(12345)

        self.assertFalse(manager.start_sl4a_server.called)
        self.assertEqual(12345, ret)