def test_25_aliases(self): session = Session(self._session_file_path) # set store_passwords to true, to avoid password promt during tests session.option('store_passwords', True) cl = session.connect(self.env.host, dbname=self.env.dbname, user=self.env.user, pwd=self.env.password, protocol=self.env.protocol, port=self.env.port, interactive=False) self.assertEqual(len(session.aliases), 0) res = session.aliase('cl1', cl) self.assertIs(res, cl) res = session.aliase('cl2', 1) # use index self.assertIs(res, 1) res = session.aliase('cl3', cl.get_url()) # use url self.assertEqual(res, cl.get_url()) with self.assertRaises(ValueError): session.aliase('cl4', 'bad url') self.assertIn('cl1', session.aliases) self.assertIs(session.get_db('cl1'), cl) self.assertIs(session['cl1'], cl) self.assertIs(session.cl1, cl) self.assertIs(session.cl1, session.cl2) self.assertIs(session.cl1, session.cl3) self.assertIn('cl1', dir(session)) # Test taht normal attributes in dir self.assertIn('aliases', dir(session)) # save the session session.save() del session # recreate session session = Session(self._session_file_path) # and test again self.assertTrue(bool(session.index)) self.assertEqual(len(session.aliases), 3) self.assertIn('cl1', session.aliases) self.assertEqual(session.get_db('cl1'), cl) self.assertEqual(session['cl1'], cl) self.assertEqual(session.cl1, cl) self.assertIs(session.cl1, session.cl2) self.assertIs(session.cl1, session.cl3) with self.assertRaises(AttributeError): session.unexistent_aliase self.assertIn('cl1', dir(session))