def test_execute_valid_delete_entry(self): database_details_delete = self._copy_database("temp_" + "".join( random.choices(string.ascii_uppercase + string.digits, k=16))) storage = KeepassDatabase(self._display, database_details_delete) actual = storage.execute(self._delete_entry.search, check_mode=False, fail_silently=False) self.assertTrue(actual["changed"]) self.assertFalse(actual["failed"]) self.assertDictEqual(self._delete_entry.search.__dict__, actual["result"]["search"]) self.assertEqual(None, actual["result"]["outcome"]) self._display.assert_has_calls([ call.v("Keepass: database found - %s" % database_details_delete["location"]), call.vvv("Keepass: keyfile found - %s" % database_details_delete["keyfile"]), call.v("Keepass: database opened - %s" % database_details_delete["location"]), call.vvv('Keepass: execute - %s' % [{ 'search': to_native(self._delete_entry.search) }, { 'check_mode': 'False' }, { 'fail_silently': 'False' }]), call.vv("KeePass: entry found - %s" % self._delete_entry.search), call.v("Keepass: database saved - %s" % database_details_delete["location"]) ])
def test_execute_valid_get(self): storage = KeepassDatabase(self._display, self._database_details_valid) actual = storage.execute(self._search_path_valid.search, check_mode=False, fail_silently=True) self.assertFalse(actual["changed"]) self.assertFalse(actual["failed"]) self.assertDictEqual(self._search_path_valid.search.__dict__, actual["result"]["search"]) self.assertDictEqual(self._database_entry, actual["result"]["outcome"]) self._display.assert_has_calls([ call.v("Keepass: database found - %s" % self._database_details_valid["location"]), call.vvv("Keepass: keyfile found - %s" % self._database_details_valid["keyfile"]), call.v("Keepass: database opened - %s" % self._database_details_valid["location"]), call.vvv('Keepass: execute - %s' % [{ 'search': to_native(self._search_path_valid.search) }, { 'check_mode': 'False' }, { 'fail_silently': 'True' }]), call.vv("KeePass: entry found - %s" % self._search_path_valid.search) ])
def run(self, terms, variables=None, **kwargs): self.set_options(var_options=variables, direct=kwargs) check_mode = self.get_option("check_mode") fail_silently = self.get_option("fail_silently") storage = KeepassDatabase(display, self.get_option("database")) display.vvv("keepass: terms %s" % terms) return list( map( lambda term: storage.execute(Query(display, True, term).search, check_mode=check_mode, fail_silently=fail_silently), terms))
def test_execute_invalid_not_updatable_fail_silently(self): database_details_delete = dict(self._copy_database("temp_" + "".join( random.choices(string.ascii_uppercase + string.digits, k=16))), updatable=False) storage = KeepassDatabase(self._display, database_details_delete) actual = storage.execute(self._delete_entry.search, check_mode=False, fail_silently=True) self.assertFalse(actual["changed"]) self.assertTrue(actual["failed"]) self.assertDictEqual(self._delete_entry.search.__dict__, actual["result"]["search"]) self.assertTrue("Invalid query - database is not 'updatable'" in ( actual["result"]["outcome"]["error"])) self._display.assert_has_calls([])