Ejemplo n.º 1
0
 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"])
     ])
Ejemplo n.º 2
0
 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)
     ])
Ejemplo n.º 3
0
    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))
Ejemplo n.º 4
0
 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([])