Example #1
0
    def test_handle_stream_output_stream(self, args: Mock,
                                         mock_output_stream: Mock):
        """
        Test that the formatter does define the correct variables
        """
        args.json = False
        args.subprocess_cmdline = False
        args.stream_url = False
        args.output = False
        args.stdout = False
        args.url = "URL"
        args.player_passthrough = []
        args.player_external_http = False
        args.player_continuous_http = False
        mock_output_stream.return_value = True

        plugin = _TestPlugin("")
        plugin.author = "AUTHOR"
        plugin.category = "CATEGORY"
        plugin.title = "TITLE"
        stream = Stream(session=Mock())
        streams = {"best": stream}

        handle_stream(plugin, streams, "best")
        self.assertEqual(mock_output_stream.call_count, 1)
        paramStream, paramFormatter = mock_output_stream.call_args[0]
        self.assertIs(paramStream, stream)
        self.assertIsInstance(paramFormatter, Formatter)
        self.assertEqual(
            paramFormatter.title(
                "{url} - {author} - {category}/{game} - {title}"),
            "URL - AUTHOR - CATEGORY/CATEGORY - TITLE")
 def test_user_input_console(self):
     p = _TestPlugin("http://example.com/stream")
     with self._mock_console_input() as console_input:
         p.bind(self.session, 'test_plugin', console_input)
         self.assertEqual("username", p.input_ask("username"))
         self.assertEqual("password", p.input_ask_password("password"))
         console_input.console.ask.assert_called_with("username: "******"password: ")
 def test_user_input_console_no_tty(self):
     p = _TestPlugin("http://example.com/stream")
     with self._mock_console_input(isatty=False) as console_input:
         p.bind(self.session, 'test_plugin', console_input)
         self.assertRaises(PluginError, p.input_ask, "username")
         self.assertRaises(PluginError, p.input_ask_password, "password")
 def test_user_input_not_implemented(self):
     p = _TestPlugin("http://example.com/stream")
     p.bind(self.session, 'test_plugin', UserInputRequester())
     self.assertRaises(PluginError, p.input_ask, 'test')
     self.assertRaises(PluginError, p.input_ask_password, 'test')
 def test_user_input_bad_class(self):
     p = _TestPlugin("http://example.com/stream")
     self.assertRaises(RuntimeError, p.bind, self.session, 'test_plugin',
                       object())