class ClassTest(unittest.TestCase): def setUp(self): self.mock_ao = MagicMock() self.mock_ao.clone.return_value = self.mock_ao self.testobj = ORapi(self.mock_ao) def test_str(self): assert 'ORapi' in str(self.testobj) def test_session_property(self): # The session property is defined in the base class but we # will unit test it here anyway, to make sure nobody changes # the base class in a way that breaks us. aw = self.testobj original_session = aw.session assert original_session # test the setter and getter fake_session = MagicMock() aw.session = fake_session assert aw.session is fake_session # put the real one back aw.session = original_session assert aw.session is original_session def test_get(self): hdrs = {'fake-header': 'fake-value'} expected = 'unit test get result' self.mock_ao.get.return_value = expected suffix = 'milk' actual = self.testobj.get(suffix, headers=hdrs) self.mock_ao.get.assert_called_with(suffix, headers=hdrs) assert actual == expected def test_search(self): hdrs = {'fake-header': 'fake-value'} expected = 'unit test search result' self.mock_ao.get.return_value = expected # the leading ? character is optional so try both. qstring = '?name=marmaduke' qs2 = qstring[1:] # default suffix should be "search" actual = self.testobj.search(pattern=qstring) self.mock_ao.get.assert_called_with('search' + qstring, headers=None) assert actual == expected actual = self.testobj.search(pattern=qs2, headers=hdrs) self.mock_ao.get.assert_called_with('search' + qstring, headers=hdrs) assert actual == expected # try a different suffix suffix = 'toraiocht' actual = self.testobj.search(pattern=qstring, suffix=suffix) self.mock_ao.get.assert_called_with(suffix + qstring, headers=None) assert actual == expected actual = self.testobj.search(pattern=qs2, headers=hdrs, suffix=suffix) self.mock_ao.get.assert_called_with(suffix + qstring, headers=hdrs) assert actual == expected
def check64(self, testfile): with open(testfile, 'rb') as f: content_raw = f.read() content_64 = ORapi.b64encode_payload(testfile) # decode this result and check against the actual content. decoded = base64.b64decode(content_64) return decoded == content_raw
class ClassTest(unittest.TestCase): def setUp(self): self.mock_ao = MagicMock() self.mock_ao.clone.return_value = self.mock_ao self.testobj = ORapi(self.mock_ao) def test_str(self): assert 'ORapi' in str(self.testobj) def test_get(self): hdrs = {'fake-header': 'fake-value'} expected = 'unit test get result' self.mock_ao.get.return_value = expected suffix = 'milk' actual = self.testobj.get(suffix, headers=hdrs) self.mock_ao.get.assert_called_with(suffix, headers=hdrs) assert actual == expected def test_search(self): hdrs = {'fake-header': 'fake-value'} expected = 'unit test search result' self.mock_ao.get.return_value = expected # the leading ? character is optional so try both. qstring = '?name=marmaduke' qs2 = qstring[1:] # default suffix should be "search" actual = self.testobj.search(pattern=qstring) self.mock_ao.get.assert_called_with('search' + qstring, headers=None) assert actual == expected actual = self.testobj.search(pattern=qs2, headers=hdrs) self.mock_ao.get.assert_called_with('search' + qstring, headers=hdrs) assert actual == expected # try a different suffix suffix = 'toraiocht' actual = self.testobj.search(pattern=qstring, suffix=suffix) self.mock_ao.get.assert_called_with(suffix + qstring, headers=None) assert actual == expected actual = self.testobj.search(pattern=qs2, headers=hdrs, suffix=suffix) self.mock_ao.get.assert_called_with(suffix + qstring, headers=hdrs) assert actual == expected
def mkBase(display_name, logo_fname=None): assert display_name retval = { 'displayName': display_name, } if logo_fname: payload = ORapi.b64encode_payload(logo_fname) retval['logo'] = { 'name': os.path.basename(logo_fname), 'file': payload } return retval
def setUp(self): # Several of the tests need a filename, its contents and # the base64 encoded version, so compute all of that up # front and store the data for later use. The actual # contents are not important so use any file that we know # will exist. self.testfile = 'setup.py' with open(self.testfile, 'rb') as f: self.content_raw = f.read() # check it's not empty. assert self.content_raw self.content_64 = ORapi.b64encode_payload(self.testfile)
def setUp(self): self.mock_ao = MagicMock() self.mock_ao.clone.return_value = self.mock_ao self.testobj = ORapi(self.mock_ao)
def mkScript(name, description, platforms, execution_type, payload=None, payload_file=None, parameters=None, script_name=None, install_timeout=0, registry_path=None, registry_value=None, process_name=None, service_name=None, output_directory=None, output_file=None): assert name assert description assert platforms assert execution_type if payload_file: assert not payload payload = ORapi.b64encode_payload(payload_file) assert payload if execution_type not in ('DOWNLOAD', 'EXE', 'MSI'): assert not output_directory assert not output_file if execution_type == 'COMMAND': payload_key = 'command' payload_value = payload else: assert script_name payload_key = 'attachment' payload_value = Category.mkAttachment(script_name, payload) # fields that are always present. retval = { 'name': name, 'description': description, 'platforms': platforms, 'executionType': execution_type, payload_key: payload_value } # optional ones. if parameters: retval['parameters'] = parameters if install_timeout: retval['installTimeout'] = install_timeout if 'WINDOWS' not in platforms: assert not registry_path assert not registry_value else: if registry_path: retval['registryPath'] = registry_path if registry_value: retval['registryValue'] = registry_value if 'LINUX' not in platforms: assert not process_name assert not service_name else: if process_name: retval['processName'] = process_name if service_name: retval['serviceName'] = service_name return retval