def test_basic_routing(self): plugin = NewPlugin() @plugin.route('/') def main_menu(): return [{'label': 'Hello XBMC'}] with preserve_cli_mode(cli_mode=False): test_run = _TestPluginRunner(plugin) resp = test_run('/') self.assertEqual('Hello XBMC', resp[0].get_label())
def test_basic_routing(self): plugin = NewPlugin() @plugin.route("/") def main_menu(): return [{"label": "Hello XBMC"}] with preserve_cli_mode(cli_mode=False): test_run = _TestPluginRunner(plugin) resp = test_run("/") self.assertEqual("Hello XBMC", resp[0].get_label())
def test_basic_routing(self): plugin = new_plugin() @plugin.route('/') def main_menu(): return [{'label': 'Hello Kodi'}] with preserve_cli_mode(cli_mode=False): test_run = _test_plugin_runner(plugin) resp = test_run('/') self.assertEqual('Hello Kodi', resp[0].get_label())
def test_init_not_cli_mode_default_args(self): with preserve_cli_mode(cli_mode=False): with preserve_cwd( os.path.join(os.path.dirname(__file__), 'data', 'plugin')): plugin = Plugin() self.assertEqual('plugin.video.academicearth', plugin.id) self.assertEqual(plugin.name, 'Academic Earth') self.assertTrue(os.path.isdir(plugin.storage_path)) self.assertEqual(plugin.added_items, []) self.assertRaises(Exception, getattr, plugin, 'handle') self.assertRaises(Exception, getattr, plugin, 'request')
def test_init_not_cli_mode_default_args(self): name = "Hello XBMC" path = os.path.join(os.path.dirname(__file__), "data", "plugin", "addon.py") with preserve_cli_mode(cli_mode=False): with preserve_cwd(os.path.join(os.path.dirname(__file__), "data", "plugin")): plugin = Plugin() self.assertEqual("plugin.video.academicearth", plugin.id) self.assertEqual(plugin.name, "Academic Earth") self.assertTrue(os.path.isdir(plugin.storage_path)) self.assertEqual(plugin.added_items, []) self.assertRaises(Exception, getattr, plugin, "handle") self.assertRaises(Exception, getattr, plugin, "request")
def test_redirect(self): plugin = NewPlugin() @plugin.route('/') def main_menu(): url = plugin.url_for('videos') return plugin.redirect(url) @plugin.route('/videos/') def videos(): return [{'label': 'Hello Videos'}] with preserve_cli_mode(cli_mode=False): test_run = _TestPluginRunner(plugin) resp = test_run('/') self.assertEqual('Hello Videos', resp[0].get_label())
def test_init_not_cli_mode(self): name = 'Hello XBMC' plugin_id = 'plugin.video.helloxbmc' path = os.path.join(os.path.dirname(__file__), 'data', 'plugin', 'addon.py') with preserve_cwd(os.path.dirname(path)): with preserve_cli_mode(cli_mode=False): plugin = Plugin(name, plugin_id, path) self.assertEqual(plugin_id, plugin.id) self.assertEqual(plugin.name, name) self.assertTrue(os.path.isdir(plugin.storage_path)) self.assertEqual(plugin.added_items, []) self.assertRaises(Exception, getattr, plugin, 'handle') self.assertRaises(Exception, getattr, plugin, 'request')
def test_init_not_cli_mode(self): name = "Hello XBMC" plugin_id = "plugin.video.helloxbmc" path = os.path.join(os.path.dirname(__file__), "data", "plugin", "addon.py") with preserve_cwd(os.path.dirname(path)): with preserve_cli_mode(cli_mode=False): plugin = Plugin(name, plugin_id, path) self.assertEqual(plugin_id, plugin.id) self.assertEqual(plugin.name, name) self.assertTrue(os.path.isdir(plugin.storage_path)) self.assertEqual(plugin.added_items, []) self.assertRaises(Exception, getattr, plugin, "handle") self.assertRaises(Exception, getattr, plugin, "request")
def test_init_not_cli_mode(self): name = 'Hello Kodi' plugin_id = 'plugin.video.hellokodi' path = os.path.join(os.path.dirname(__file__), 'data', 'plugin', 'plugin.py') with preserve_cwd(os.path.dirname(path)): with preserve_cli_mode(cli_mode=False): plugin = Plugin(name, plugin_id, path) self.assertEqual(plugin_id, plugin.id) self.assertEqual(plugin.name, name) self.assertTrue(os.path.isdir(plugin.storage_path)) self.assertEqual(plugin.added_items, []) self.assertRaises(Exception, getattr, plugin, 'handle') self.assertRaises(Exception, getattr, plugin, 'request')
def test_redirect(self): plugin = new_plugin() @plugin.route('/') def main_menu(): url = plugin.url_for('videos') return plugin.redirect(url) @plugin.route('/videos/') def videos(): return [{'label': 'Hello Videos'}] with preserve_cli_mode(cli_mode=False): test_run = _test_plugin_runner(plugin) resp = test_run('/') self.assertEqual('Hello Videos', resp[0].get_label())
def test_redirect(self): plugin = NewPlugin() @plugin.route("/") def main_menu(): url = plugin.url_for("videos") return plugin.redirect(url) @plugin.route("/videos/") def videos(): return [{"label": "Hello Videos"}] with preserve_cli_mode(cli_mode=False): test_run = _TestPluginRunner(plugin) resp = test_run("/") self.assertEqual("Hello Videos", resp[0].get_label())
def test_options_routing(self): plugin = NewPlugin() @plugin.route('/person/<name>/') @plugin.route('/') @plugin.route('/dave/', options={'name': 'dave'}) def person(name='chris'): return [{'label': 'Hello %s' % name}] with preserve_cli_mode(cli_mode=False): test_run = _TestPluginRunner(plugin) resp = test_run('/person/jon/') print plugin.request.url self.assertEqual('Hello jon', resp[0].get_label()) resp = test_run('/dave/') self.assertEqual('Hello dave', resp[0].get_label()) resp = test_run('/') self.assertEqual('Hello chris', resp[0].get_label())
def test_options_routing(self): plugin = new_plugin() @plugin.route('/person/<name>/') @plugin.route('/') @plugin.route('/dave/', options={'name': 'dave'}) def person(name='chris'): return [{'label': 'Hello %s' % name}] with preserve_cli_mode(cli_mode=False): test_run = _test_plugin_runner(plugin) resp = test_run('/person/jon/') self.assertEqual('Hello jon', resp[0].get_label()) resp = test_run('/dave/') self.assertEqual('Hello dave', resp[0].get_label()) resp = test_run('/') self.assertEqual('Hello chris', resp[0].get_label())
def test_options_routing(self): plugin = NewPlugin() @plugin.route("/person/<name>/") @plugin.route("/") @plugin.route("/dave/", options={"name": "dave"}) def person(name="chris"): return [{"label": "Hello %s" % name}] with preserve_cli_mode(cli_mode=False): test_run = _TestPluginRunner(plugin) resp = test_run("/person/jon/") print plugin.request.url self.assertEqual("Hello jon", resp[0].get_label()) resp = test_run("/dave/") self.assertEqual("Hello dave", resp[0].get_label()) resp = test_run("/") self.assertEqual("Hello chris", resp[0].get_label())
def test_info_types(self): name = 'Hello XBMC' path = __file__ # can't parse from id, default to video with preserve_cli_mode(cli_mode=False): with preserve_cwd(os.path.join(os.path.dirname(__file__), 'data', 'plugin')): plugin = Plugin(name, 'script.module.test', path) self.assertEqual(plugin.info_type, 'video') # parse from ID plugin = Plugin(name, 'plugin.audio.test') self.assertEqual(plugin.info_type, 'music') plugin = Plugin(name, 'plugin.video.test') self.assertEqual(plugin.info_type, 'video') plugin = Plugin(name, 'plugin.image.test') self.assertEqual(plugin.info_type, 'pictures') # info_type param should override value parsed from id plugin = Plugin(name, 'plugin.video.test', info_type='music') self.assertEqual(plugin.info_type, 'music')
def test_info_types(self): name = "Hello XBMC" path = __file__ # can't parse from id, default to video with preserve_cli_mode(cli_mode=False): with preserve_cwd(os.path.join(os.path.dirname(__file__), "data", "plugin")): plugin = Plugin(name, "script.module.test", path) self.assertEqual(plugin.info_type, "video") # parse from ID plugin = Plugin(name, "plugin.audio.test") self.assertEqual(plugin.info_type, "music") plugin = Plugin(name, "plugin.video.test") self.assertEqual(plugin.info_type, "video") plugin = Plugin(name, "plugin.image.test") self.assertEqual(plugin.info_type, "pictures") # info_type param should override value parsed from id plugin = Plugin(name, "plugin.video.test", info_type="music") self.assertEqual(plugin.info_type, "music")
def test_info_types(self): name = 'Hello Kodi' path = __file__ # can't parse from id, default to video with preserve_cli_mode(cli_mode=False): with preserve_cwd( os.path.join(os.path.dirname(path), 'data', 'plugin')): plugin = Plugin(name, 'script.module.test', path) self.assertEqual(plugin.info_type, 'video') # parse from ID plugin = Plugin(name, 'plugin.audio.test') self.assertEqual(plugin.info_type, 'music') plugin = Plugin(name, 'plugin.video.test') self.assertEqual(plugin.info_type, 'video') plugin = Plugin(name, 'plugin.image.test') self.assertEqual(plugin.info_type, 'pictures') # info_type param should override value parsed from id plugin = Plugin(name, 'plugin.video.test', info_type='music') self.assertEqual(plugin.info_type, 'music')