Skip to content

Commit

Permalink
fully updated tests
Browse files Browse the repository at this point in the history
  • Loading branch information
willforde committed Feb 25, 2021
1 parent b496027 commit e44318e
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 30 deletions.
3 changes: 2 additions & 1 deletion script.module.codequick/lib/codequick/route.py
Expand Up @@ -198,7 +198,8 @@ def __call__(self, route, args, kwargs):
elif not session_data:
return None
finally:
cache.close()
if cache:
cache.close()

# Send session data to kodi
return send_to_kodi(self.handle, session_data)
Expand Down
76 changes: 47 additions & 29 deletions tests/test_route.py
Expand Up @@ -3,7 +3,7 @@
import xbmc

from codequick.listing import Listitem
from codequick.support import auto_sort
from codequick.support import auto_sort, Route
from codequick import route, localized

import xbmcplugin
Expand Down Expand Up @@ -35,25 +35,31 @@ def setUp(self):
self.route = route.Route()

def test_gen(self):
def route_gen():
def route_gen(_):
yield Listitem.from_dict(callback_test, "test item")

self.route._process_results(route_gen())
callback_route = Route(route_gen, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])

def test_list(self):
self.route._process_results([Listitem.from_dict(callback_test, "test item")])
def route_list(_):
return [Listitem.from_dict(callback_test, "test item")]

callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])

def test_return_false(self):
self.route._process_results(False)
self.assertFalse(plugin_data["succeeded"])

def test_yield_false(self):
def route_list():
def route_list(_):
yield False

self.route._process_results(route_list())
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertFalse(plugin_data["succeeded"])

def test_no_items(self):
Expand All @@ -65,63 +71,69 @@ def test_no_invalid(self):
self.route._process_results(1)

def test_one_mediatype(self):
def route_list():
def route_list(_):
yield Listitem.from_dict(callback_test, "test item", info={"mediatype": "video"})

self.route._process_results(route_list())
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])
self.assertEqual(plugin_data["contenttype"], "videos")

def test_two_mediatype(self):
def route_list():
def route_list(_):
yield Listitem.from_dict(callback_test, "test item one", info={"mediatype": "video"})
yield Listitem.from_dict(callback_test, "test item two", info={"mediatype": "movie"})
yield Listitem.from_dict(callback_test, "test item three", info={"mediatype": "video"})

self.route._process_results(route_list())
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])
self.assertEqual(plugin_data["contenttype"], "videos")

def test_unsupported_mediatype(self):
def route_list():
def route_list(_):
yield Listitem.from_dict(callback_test, "season one", info={"mediatype": "season"})

self.route._process_results(route_list())
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])
self.assertEqual(plugin_data["contenttype"], "files")

def test_sortmethod(self):
auto_sort.clear()
del plugin_data["sortmethods"][:]

def route_list():
def route_list(_):
yield Listitem.from_dict("http://season one", "test.mkv")

self.route._process_results(route_list())
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])
self.assertListEqual(plugin_data["sortmethods"], [SORT_UNSORT, SORT_TITLE])

def test_sortmethod_date(self):
auto_sort.clear()
del plugin_data["sortmethods"][:]

def route_list():
def route_list(_):
item = Listitem.from_dict("http://season one", "test.mkv")
item.info.date("june 27, 2017", "%B %d, %Y")
yield item

self.route._process_results(route_list())
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])
self.assertListEqual(plugin_data["sortmethods"], [SORT_DATE, SORT_TITLE, SORT_YEAR])

def test_sortmethod_genre(self):
auto_sort.clear()
del plugin_data["sortmethods"][:]

def route_list():
def route_list(_):
yield Listitem.from_dict("http://season one", "test.mkv", info={"genre": "test"})

self.route._process_results(route_list())
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])
self.assertListEqual(plugin_data["sortmethods"], [SORT_UNSORT, SORT_TITLE, SORT_GENRE])

Expand All @@ -133,7 +145,8 @@ def route_list(plugin):
plugin.autosort = False
yield Listitem.from_dict("http://season one", "test.mkv")

self.route._process_results(route_list(self.route))
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])
self.assertListEqual(plugin_data["sortmethods"], [SORT_UNSORT])

Expand All @@ -145,7 +158,8 @@ def route_list(plugin):
plugin.autosort = False
yield Listitem.from_dict("http://season one", "test.mkv", info={"genre": "test"})

self.route._process_results(route_list(self.route))
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])
self.assertListEqual(plugin_data["sortmethods"], [SORT_UNSORT])

Expand All @@ -154,11 +168,11 @@ def test_custom_sort_only(self):
del plugin_data["sortmethods"][:]

def route_list(plugin):
plugin.autosort = False
plugin.add_sort_methods(3)
yield Listitem.from_dict("http://season one", "test.mkv", info={"genre": "test"})
plugin.add_sort_methods(3, disable_autosort=True)
yield Listitem.from_dict("http://seasonone.com/works", "test.mkv", info={"genre": "test"})

self.route._process_results(route_list(self.route))
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])
self.assertListEqual(plugin_data["sortmethods"], [SORT_DATE])

Expand All @@ -170,7 +184,8 @@ def route_list(plugin):
plugin.add_sort_methods(3, disable_autosort=True)
yield Listitem.from_dict("http://season one", "test.mkv", info={"genre": "test"})

self.route._process_results(route_list(self.route))
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])
self.assertListEqual(plugin_data["sortmethods"], [SORT_DATE])

Expand All @@ -182,7 +197,8 @@ def route_list(plugin):
plugin.add_sort_methods(SORT_DATE)
yield Listitem.from_dict("http://season one", "test.mkv", info={"genre": "test"})

self.route._process_results(route_list(self.route))
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])
self.assertListEqual(plugin_data["sortmethods"], [SORT_DATE, SORT_TITLE, SORT_GENRE])

Expand All @@ -197,15 +213,17 @@ def route_list(plugin):
item.info.date("june 27, 2017", "%B %d, %Y")
yield item

self.route._process_results(route_list(self.route))
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])
self.assertListEqual(plugin_data["sortmethods"], [SORT_DATE, SORT_TITLE, SORT_GENRE, SORT_YEAR])

def test_no_content(self):
def route_list():
def route_list(_):
yield Listitem.from_dict(callback_test, "test item")

self.route.content_type = None
self.route._process_results(route_list())
callback_route = Route(route_list, route.Route, "", {})
self.route(callback_route, [], {})
self.assertTrue(plugin_data["succeeded"])
self.assertIsNone(plugin_data["contenttype"])

0 comments on commit e44318e

Please sign in to comment.