Exemple #1
0
class TestStorageKeyring(unittest.TestCase):
    data = (
        "https://python-reference.readthedocs.io/en/latest/docs/statements/assert.html"
    )

    def setUp(self):
        """Surpress RessourceWarnings.

        Link:
            https://github.com/jaraco/keyring/issues/380&https://github.com/jaraco/keyring/pull/381
        """
        with warnings.catch_warnings():
            warnings.filterwarnings(action="ignore",
                                    message="unclosed",
                                    category=ResourceWarning)

            self.storage = Storage(backend=Storage.STORAGE_BACKEND_KEYRING)
            self.storage.del_data()
            self.storage.set_data(self.data)

    def tearDown(self):
        self.storage.del_data()

    def test_get_data_keyring(self):
        rdata = self.storage.get_data()
        self.assertEqual(self.data, rdata)

    def test_del_data_keyring(self):
        self.storage.del_data()
        self.assertIsNone(self.storage.get_data())
Exemple #2
0
class TestStorageSession(unittest.TestCase):
    data = (
        "https://python-reference.readthedocs.io/en/latest/docs/statements/assert.html"
    )

    def setUp(self):
        self.storage = Storage(backend=Storage.STORAGE_BACKEND_SESSION)
        self.storage.del_data()
        self.storage.set_data(self.data)

    def tearDown(self):
        self.storage.del_data()

    def test_get_data_session(self):
        rdata = self.storage.get_data()
        self.assertEqual(self.data, rdata)

    def test_del_data_session(self):
        with captured_output() as (del_out, del_err):
            self.storage.del_data

        self.assertIn(del_out.getvalue().strip(), "unset")

        try:
            rdata = os.environ[Storage.SESSION_STORAGE_VARIABLE]
            self.assertIsNot(self.data, rdata)
        except KeyError:
            self.assertIsNone(None)
    def action_environment(args):
        """Load ENV from keyrings to active SESSION."""
        storage = Storage()
        json_data = storage.get_data()
        data = json.loads(json_data)

        # print("List of available environments:\n")
        if data:
            for osenv in data:
                env = next(iter(osenv)).split("_")[0]

                if env == args.environment:
                    tenant = Tenant(env)
                    tenant.import_data(data=osenv, prefix=env)
                    print(tenant.export_ostackrc())
        else:
            print("No environments loaded...")
    def action_list():
        """Show available ENV's from keyring."""
        storage = Storage()
        if (storage.active_storage_backend == storage.STORAGE_BACKEND_SESSION
                and os.environ.get(Storage.SESSION_STORAGE_VARIABLE) is None):
            print("Active session not found. Please load with \"{0} -r\".".
                  format(_program))
            sys.exit(1)

        storage = Storage()
        json_data = storage.get_data()
        data = json.loads(json_data)

        # print("List of available environments:\n")
        if data:
            for osenv in data:
                env = next(iter(osenv)).split("_")[0]
                print("{0}".format(env))
        else:
            print("No environments loaded...")