Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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())
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
 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())
Ejemplo n.º 6
0
 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())