def testFileSecret(self): """Tests entire lifecycle of a lifecycle secret""" SCOPE = "testSecrets" KEY = "testKey" KEY2 = "testKey2" SECRET = "Abracdabra" SECRET2 = "Abracdabra2" # Create provider provider = secrets.FileSystemProvider("data/secrets/") secrets.provider = provider # Create a Scope secrets.removeAllSecrets(SCOPE) self.assertFalse(os.path.exists(provider.scope_path(SCOPE))) # Store Secret secrets.storeSecret(SCOPE, KEY, SECRET) stored_secret = secrets.getSecret(SCOPE, KEY) self.assertEqual(SECRET, stored_secret) # Store Another Secret, verify original secrets.storeSecret(SCOPE, KEY2, SECRET2) stored_secret = secrets.getSecret(SCOPE, KEY) self.assertEqual(SECRET, stored_secret) # Verify new secret stored_secret = secrets.getSecret(SCOPE, KEY2) self.assertEqual(SECRET2, stored_secret) # Destroy Scope secrets.removeAllSecrets(SCOPE) self.assertFalse(os.path.exists(provider.scope_path(SCOPE)))
def main(args): parser = argparse.ArgumentParser("Secrets command line interface") parser.add_argument("command", choices=["dump", "list", "store", "show"]) options, args = parser.parse_known_args(args) if options.command == "dump": secrets.dumpSecrets() elif options.command == "list": secrets.listScopes() elif options.command == "store": secrets.storeSecret(*args) elif options.command == "show": if len(args) > 1: print secrets.getSecret(*args) if len(args) == 1: secrets.dumpScope(*args) elif options.command == "clear": secrets.removeAllSecrets()