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())
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...")