Beispiel #1
0
    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)))
Beispiel #2
0
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()