def test_construction_of_get_query_sql_text_with_parameters_replaced(self): cluster = RedshiftCluster(cluster_endpoint='test') db_name = 'testdb' cluster.set_db(db_name) sql = DBResource(rs_cluster=cluster).get_query_sql_text_with_parameters_replaced(GET_DATABASE_NAME_OWNER_ACL) expected_sql = GET_DATABASE_NAME_OWNER_ACL.format(db=db_name) self.assertEquals(sql, expected_sql)
def test_temporary_credential_expiration_predicate(self): example_url = 'my-cluSter.a1bcdefghijk.eU-west-1.redshift.amazonaws.com' rs_cluster = RedshiftCluster(example_url) rs_cluster.has_temporary_password = True expiration_time = (datetime.datetime.now(pytz.utc) + datetime.timedelta(minutes=1, milliseconds=300)) rs_cluster._user_creds_expiration = expiration_time self.assertFalse(rs_cluster.is_temporary_credential_expired()) time.sleep(0.4) self.assertTrue(rs_cluster.is_temporary_credential_expired())
def get_cluster_from_cluster_dict(cluster_dict, kms_region): cluster = RedshiftCluster(cluster_dict['clusterEndpoint']) cluster.set_port(cluster_dict['clusterPort']) cluster.set_user(cluster_dict['connectUser']) cluster.set_host(cluster_dict['clusterEndpoint']) cluster.set_db(cluster_dict['db']) if 'connectPwd' in cluster_dict: if kms_region is None: kms_region = cluster.get_region_name() kms_helper = KMSHelper(kms_region) cluster.set_password(kms_helper.decrypt( cluster_dict['connectPwd'])) cluster.set_user_auto_create(False) if 'userAutoCreate' in cluster_dict \ and cluster_dict['userAutoCreate'].lower() == 'true': cluster.set_user_auto_create(True) cluster.user_db_groups = [] if 'userDbGroups' in cluster_dict: cluster.set_user_db_groups(cluster_dict['userDbGroups']) return cluster
def get_cluster_from_cluster_dict(cluster_dict, kms_region): cluster = RedshiftCluster(cluster_dict['clusterEndpoint']) cluster.set_port(cluster_dict['clusterPort']) cluster.set_user(cluster_dict['connectUser']) cluster.set_host(cluster_dict['clusterEndpoint']) cluster.set_db(cluster_dict['db']) if 'connectPwd' in cluster_dict: if kms_region is None: kms_region = cluster.get_region_name() kms_helper = KMSHelper(kms_region) cluster.set_password(kms_helper.decrypt(cluster_dict['connectPwd'])) cluster.set_user_auto_create(False) if 'userAutoCreate' in cluster_dict \ and cluster_dict['userAutoCreate'].lower() == 'true': cluster.set_user_auto_create(True) cluster.user_db_groups = [] if 'userDbGroups' in cluster_dict: cluster.set_user_db_groups(cluster_dict['userDbGroups']) return cluster
def test_identifier_extract_example_bad_cased_url(self): example_url = 'my-cluSter.a1bcdefghijk.eU-west-1.redshift.amazonaws.com' rs_cluster = RedshiftCluster(example_url) self.assertEqual('my-cluster', rs_cluster.get_cluster_identifier())
def test_region_extract_example_bad_cased_url(self): example_url = 'my-cluSter.a1bcdefghijk.eU-west-1.redshift.amazonaws.com' rs_cluster = RedshiftCluster(example_url) self.assertEqual('eu-west-1', rs_cluster.get_region_name())