def test_cancel(self): """ This test will pass if an action is successfully cancelled. """ target = Database.create_target() action_id = Database.create_action( target.name, 'exec echo hello world')['action_id'] action = Database.get_action(action_id) self.assertEqual(action.cancelled, False) data = APIClient.cancel_action(self.client, action_id) self.assertEqual(data['error'], False) action = Database.get_action(action_id) self.assertEqual(action.status, ACTION_STATUSES.get('cancelled')) self.assertEqual(action.cancelled, True)
def test_target_rename_association(self): """ Tests the RenameTarget API function, check to make sure Sessions, Targets, and Groups. """ target = Database.create_target() target_name = target.name session_id = Database.create_session(target_name).session_id orig_group = Database.create_group('some_group') orig_group.whitelist_member(target.name) action_id = Database.create_action(target_name).action_id data = APIClient.rename_target(self.client, target_name, 'TEST') self.assertEqual(data['error'], False) target = Database.get_target('TEST') self.assertIsNotNone(target) with self.assertRaises(DoesNotExist): Database.get_target(target_name) self.assertEqual(target.name, 'TEST') session = Database.get_session(session_id) self.assertEqual(session.target_name, 'TEST') action = Database.get_action(action_id) self.assertEqual(action.target_name, 'TEST') group = Database.get_group(orig_group.name) self.assertIn(target.name, group.member_names)
def test_find_pass(self): """ This test will attempt to create an action model object, save it to the database, and then find it. """ action1 = Database.create_action() action2 = Database.get_action(action1.action_id) self.assertIsNotNone(action1) self.assertIsNotNone(action2) self.assertEqual(action1, action2) self.assertEqual(action1.action_id, action2.action_id)
def test_get(self): """ This test will pass if it finds the correct action. """ target = Database.create_target() action_id = Database.create_action(target.name, 'exec ls')['action_id'] data = APIClient.get_action(self.client, action_id) action = Database.get_action(action_id) self.assertEqual(data['error'], False) self.assertIsNotNone(data['action']) self.assertEqual(action_id, action.action_id) self.assertEqual(target.name, action.target_name) self.assertEqual('ls', action.command)
def test_create(self): """ This test will pass if the action is created and content matches. """ target = Database.create_target() data = APIClient.create_action(self.client, target.name, 'exec ls -al /dir') action_id = data['action_id'] self.assertEqual(False, data['error']) action = Database.get_action(action_id) self.assertIsNotNone(action) self.assertEqual(action.action_type, ACTION_TYPES.get('exec', 1)) self.assertEqual(action.command, 'ls') self.assertListEqual(action.args, ['-al', '/dir']) self.assertEqual(action.cancelled, False)