Skip to content

Commit

Permalink
Fix prefix validation logic in aws-glue-alpha.
Browse files Browse the repository at this point in the history
  • Loading branch information
Mike Wrighton committed Oct 9, 2023
1 parent 6c34c9a commit f6cca37
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
10 changes: 5 additions & 5 deletions packages/@aws-cdk/aws-glue-alpha/lib/job.ts
Original file line number Diff line number Diff line change
Expand Up @@ -840,12 +840,12 @@ export class Job extends JobBase {

const errors: string[] = [];

if (!prefix.startsWith('/')) {
errors.push('Prefix must begin with \'/\'');
if (prefix.startsWith('/')) {
errors.push('Prefix must not begin with \'/\'');
}

if (prefix.endsWith('/')) {
errors.push('Prefix must not end with \'/\'');
if (!prefix.endsWith('/')) {
errors.push('Prefix must end with \'/\'');
}

if (errors.length > 0) {
Expand All @@ -854,7 +854,7 @@ export class Job extends JobBase {
}

private cleanPrefixForGrant(prefix?: string): string | undefined {
return prefix !== undefined ? prefix.slice(1) + '/*' : undefined;
return prefix !== undefined ? `${prefix}*` : undefined;
}

private setupContinuousLogging(role: iam.IRole, props: ContinuousLoggingProps) {
Expand Down
12 changes: 6 additions & 6 deletions packages/@aws-cdk/aws-glue-alpha/test/job.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -632,14 +632,14 @@ describe('Job', () => {
});
describe('with bucket and path provided', () => {
const sparkUIBucketName = 'sparkbucketname';
const prefix = '/foob/bart';
const badPrefix = 'foob/bart/';
const prefix = 'foob/bart/';
const badPrefix = '/foob/bart';
let sparkUIBucket: s3.IBucket;

const expectedErrors = [
`Invalid prefix format (value: ${badPrefix})`,
'Prefix must begin with \'/\'',
'Prefix must not end with \'/\'',
'Prefix must not begin with \'/\'',
'Prefix must end with \'/\'',
].join(EOL);
it('fails if path is mis-formatted', () => {
expect(() => new glue.Job(stack, 'BadPrefixJob', {
Expand Down Expand Up @@ -699,7 +699,7 @@ describe('Job', () => {
[
'arn:',
{ Ref: 'AWS::Partition' },
`:s3:::sparkbucketname${prefix}/*`,
`:s3:::sparkbucketname/${prefix}*`,
],
],
},
Expand All @@ -718,7 +718,7 @@ describe('Job', () => {
Template.fromStack(stack).hasResourceProperties('AWS::Glue::Job', {
DefaultArguments: {
'--enable-spark-ui': 'true',
'--spark-event-logs-path': `s3://${sparkUIBucketName}${prefix}`,
'--spark-event-logs-path': `s3://${sparkUIBucketName}/${prefix}`,
},
});
});
Expand Down

0 comments on commit f6cca37

Please sign in to comment.