def __init__(self, edw_service_spec): super(Redshift, self).__init__(edw_service_spec) # pkb setup attribute self.project = None self.cmd_prefix = list(util.AWS_PREFIX) if FLAGS.zones: self.zone = FLAGS.zones[0] self.region = util.GetRegionFromZone(self.zone) else: self.region = GetDefaultRegion() self.cmd_prefix += ['--region', self.region] # Redshift specific attribute (see if they can be set) self.cluster_subnet_group = None self.cluster_parameter_group = None self.arn = '' self.cluster_subnet_group = aws_cluster_subnet_group.RedshiftClusterSubnetGroup( self.cmd_prefix) self.cluster_parameter_group = aws_cluster_parameter_group.RedshiftClusterParameterGroup( self.cmd_prefix) if self.db is None: self.db = DEFAULT_DATABASE_NAME self.client_interface = GetRedshiftClientInterface( self.db, self.user, self.password)
def testValidClusterParameterGroupCreation(self): cpg = aws_cluster_parameter_group.RedshiftClusterParameterGroup( list(util.AWS_PREFIX)) self.assertEqual(cpg.name, 'pkb-%s' % TEST_RUN_URI) with mock.patch(vm_util.__name__ + '.IssueCommand', return_value=('out_', 'err_', 0)) as mock_issue: cpg._Create() self.assertEqual(mock_issue.call_count, 1)
def testValidClusterParameterGroupDeletion(self): cpg = aws_cluster_parameter_group.RedshiftClusterParameterGroup( 1, list(util.AWS_PREFIX)) self.assertEqual(cpg.name, 'pkb-%s' % TEST_RUN_URI) with mock.patch(vm_util.__name__ + '.IssueCommand', return_value=('out_', 'err_', 0)) as mock_issue: cpg._Delete() mock_issue.assert_called_once() mock_issue.assert_called_with([ 'aws', '--output', 'json', 'redshift', 'delete-cluster-parameter-group', '--parameter-group-name', 'pkb-%s' % TEST_RUN_URI ])
def testValidClusterParameterGroupCreation(self): cpg = aws_cluster_parameter_group.RedshiftClusterParameterGroup( 1, list(util.AWS_PREFIX)) self.assertEqual(cpg.name, 'pkb-%s' % TEST_RUN_URI) with mock.patch(vm_util.__name__ + '.IssueCommand', return_value=('out_', 'err_', 0)) as mock_issue: cpg._Create() self.assertEqual(mock_issue.call_count, 2) mock_issue.assert_called_with([ 'aws', '--output', 'json', 'redshift', 'modify-cluster-parameter-group', '--parameter-group-name', 'pkb-%s' % TEST_RUN_URI, '--parameters', ('[{"ParameterName":"wlm_json_configuration","ParameterValue":"' '[{\\"query_concurrency\\":1}]","ApplyType":"dynamic"}]') ])