Addon Manager: Add unit tests for _fetch_raw_code

This commit is contained in:
Chris Hennes
2022-11-27 18:00:44 -06:00
parent d3261b3fc9
commit 796ef07625

View File

@@ -179,4 +179,46 @@ static char * blarg_xpm[] = {
m = Macro("Unit Test Macro")
m.fill_details_from_file(outfile)
os.unlink(outfile)
return m
return m
def test_fetch_raw_code_no_data(self):
class MockNetworkManagerNoData():
def __init__(self):
self.fetched_url = None
def blocking_get(self, url):
self.fetched_url = url
return None
nmNoData = MockNetworkManagerNoData()
m = Macro("Unit Test Macro")
Macro.network_manager = nmNoData
returned_data = m._fetch_raw_code("rawcodeurl <a href=\"https://fake_url.com\">Totally fake</a>")
self.assertIsNone(returned_data)
self.assertEqual(nmNoData.fetched_url,"https://fake_url.com")
nmNoData.fetched_url = None
returned_data = m._fetch_raw_code("Fake pagedata with no URL at all.")
self.assertIsNone(returned_data)
self.assertIsNone(nmNoData.fetched_url)
Macro.network_manager = None
def test_fetch_raw_code_with_data(self):
class MockNetworkManagerWithData():
class MockQByteArray:
def data(self):
return "Data returned to _fetch_raw_code".encode("utf-8")
def __init__(self):
self.fetched_url = None
def blocking_get(self, url):
self.fetched_url = url
return MockNetworkManagerWithData.MockQByteArray()
nmWithData = MockNetworkManagerWithData()
m = Macro("Unit Test Macro")
Macro.network_manager = nmWithData
returned_data = m._fetch_raw_code("rawcodeurl <a href=\"https://fake_url.com\">Totally fake</a>")
self.assertEqual(returned_data,"Data returned to _fetch_raw_code")
Macro.network_manager = None