def __init__(self, host, usr, db, entry_type="host", authmethod="password", password=None): """ Constructor for GpUserRole @param host: which host to be tested; @param usr: user name to login host and login database; @param db: database name @change: Ritesh Jaltare @param entry_type: if a user is created, then we need the type of entry for pg_hba.conf for authen eg host, local, hostssl @param authmethod: denotes the authentication method used, eg: trust , password, md5 @param address: denotes the IP address of the host. it can be both IPV4 or IPV6 """ self.gpstop = GpStop() self.host = host if password is None: self.password = r"'password'" else: self.password = password self.usr = usr self.db = db if self.db is "all": self.pgpassdb = "*" else: self.pgpassdb=self.db gpconfig = GpConfig() masterSSLValue = gpconfig.getParameterMasterOnly("ssl") if masterSSLValue is "on" and entry_type is "host": self.entry_type = "hostssl" else: self.entry_type = entry_type self.authmethod = authmethod if os.path.exists(PGPASSFILE) is False: file = open(PGPASSFILE, 'w') os.chmod(PGPASSFILE,0600)
class GpConfigTests(unittest.TestCase): def setUp(self): self.gp_config = GpConfig() #HK: disabling test #can't test with hardcoded ports #need better handling or remove test def donttest_getPort(self): port_info = self.gp_config.getPort() expected = {0: 18506, 1: 18507, 2: 18508, -1: 18501} self.assertEquals(port_info, expected) def test_getParameter(self): name = "port" self.assertRaises(Exception, self.gp_config.getParameter, name) #HK: disabling test #these params apparently require restart to actually take effect def donttest_set_get_verify_remove_ParameterMasterOnly(self): name = "max_connections" master_value = "100" self.gp_config.setParameterMasterOnly(name, master_value) self.assertTrue( self.gp_config.verifyParameterMasterOnly(name, master_value)) self.gp_config.removeParameterMasterOnly(name) self.assertRaises(self.gp_config.getParameterMasterOnly(name)) #HK: disabling test #these params apparently require restart to actually take effect def donttest_set_get_verify_remove_Parameter(self): name = "max_connections" master_value = "100" seg_value = "1000" self.gp_config.setParameter(name, master_value, seg_value) self.assertTrue( self.gp_config.verifyParameter(name, master_value, seg_value)) self.gp_config.removeParameter(name) self.assertRaises(self.gp_config.getParameter(name)) #HK: disabling test #these params apparently require restart to actually take effect def donttest_set_get_verify_remove_ParameterSegmentOnly(self): name = "max_connections" seg_value = "1000" self.gp_config.setParameterSegmentOnly(name, seg_value) self.assertTrue( self.gp_config.verifyParameterSegmentOnly(name, seg_value)) self.gp_config.removeParameterSegmentOnly(name) self.assertRaises(self.gp_config.getParameterSegmentOnly(name))
class GpConfigTests(unittest.TestCase): def setUp(self): self.gp_config = GpConfig() #HK: disabling test #can't test with hardcoded ports #need better handling or remove test def donttest_getPort(self): port_info = self.gp_config.getPort() expected = {0: 18506, 1: 18507, 2: 18508, -1: 18501} self.assertEquals(port_info, expected) def test_getParameter(self): name = "port" self.assertRaises(Exception,self.gp_config.getParameter, name) #HK: disabling test #these params apparently require restart to actually take effect def donttest_set_get_verify_remove_ParameterMasterOnly(self): name = "max_connections" master_value = "100" self.gp_config.setParameterMasterOnly(name, master_value) self.assertTrue(self.gp_config.verifyParameterMasterOnly(name, master_value)) self.gp_config.removeParameterMasterOnly(name) self.assertRaises(self.gp_config.getParameterMasterOnly(name)) #HK: disabling test #these params apparently require restart to actually take effect def donttest_set_get_verify_remove_Parameter(self): name = "max_connections" master_value = "100" seg_value = "1000" self.gp_config.setParameter(name, master_value, seg_value) self.assertTrue(self.gp_config.verifyParameter(name, master_value, seg_value)) self.gp_config.removeParameter(name) self.assertRaises(self.gp_config.getParameter(name)) #HK: disabling test #these params apparently require restart to actually take effect def donttest_set_get_verify_remove_ParameterSegmentOnly(self): name = "max_connections" seg_value = "1000" self.gp_config.setParameterSegmentOnly(name, seg_value) self.assertTrue(self.gp_config.verifyParameterSegmentOnly(name, seg_value)) self.gp_config.removeParameterSegmentOnly(name) self.assertRaises(self.gp_config.getParameterSegmentOnly(name))