Esempio n. 1
0
    def setUp(self):

        # Create mock dependencies
        self.mock_page_server = mock.MagicMock(SuitePageServer)
        self.mock_page_server.suite_url_list.return_value = [self.SUITE_URL]
        self.mock_webbrowser = mock.MagicMock(webbrowser)

        # Create the runner instance, and configure it to
        # exit immediately.
        self.runner = SuiteDevRunner(self.mock_page_server,
                                     webbrowser_module=self.mock_webbrowser,
                                     stop_fast=True)
Esempio n. 2
0
class SuiteDevRunnerTest(TestCase):

    SUITE_URL = 'http://localhost:1234/suite/0'

    def setUp(self):

        # Create mock dependencies
        self.mock_page_server = mock.MagicMock(SuitePageServer)
        self.mock_page_server.suite_url_list.return_value = [self.SUITE_URL]
        self.mock_webbrowser = mock.MagicMock(webbrowser)

        # Create the runner instance, and configure it to
        # exit immediately.
        self.runner = SuiteDevRunner(self.mock_page_server,
                                     webbrowser_module=self.mock_webbrowser,
                                     stop_fast=True)

    def test_run(self):

        # Run the tests in dev mode
        self.runner.run()

        # Expect that the page server was started/stopped
        self.mock_page_server.start.assert_called_once_with()
        self.mock_page_server.stop.assert_called_once_with()

        # Expect that the webbrowser opened the suite URL
        self.mock_webbrowser.open_new.assert_called_once_with(self.SUITE_URL)

    def test_no_urls(self):

        # This should get caught by argument validation, but check anyway
        self.mock_page_server.suite_url_list.return_value = []

        with self.assertRaises(ValueError):
            self.runner.run()

    def test_multiple_urls(self):

        # This should get caught by argument validation, but check anyway
        self.mock_page_server.suite_url_list.return_value = [self.SUITE_URL] * 5

        # Run the tests in dev mode
        self.runner.run()

        # Expect that the webbrowser opened only the first URL
        self.mock_webbrowser.open_new.assert_called_once_with(self.SUITE_URL)