Skip to content

integ-tests-alpha: Can't use full SDKv3 package name in an awsApiCall #28844

@dontirun

Description

@dontirun

Describe the bug

Using the full SDKv3 package name (as described here #27313) causes the CDK to throw an error when attempting to run a test

Expected Behavior

Using the full SDKv3 package name does not throw an error

Current Behavior

The / in the full SDKv3 package name causes the naming constraints for the custom resource type name to errir

Error: Custom resource type name can only include alphanumeric characters and _@- (DeployAssert@SdkCall@aws-sdk/client-redshift-serverl)

Reproduction Steps

import * as integ from '@aws-cdk/integ-tests-alpha';
import * as cdk from 'aws-cdk-lib';

const app = new cdk.App();
const stack = new cdk.Stack();
const test = new integ.IntegTest(app, 'integ', {
  testCases: [stack],
});

const describeUsageLimit = test.assertions.awsApiCall('@aws-sdk/client-redshift-serverless', 'GetUsageLimitCommand' {
  UsageLimitId: 'foo',
});

describeUsageLimit.expect(
  integ.ExpectedResult.objectLike({
    amount: 100,
    breachAction: 'deactivate',
    period: 'monthly',
  }),
);

app.synth();

Possible Solution

Remove the @aws-sdk/client- from the full SDKv3 package name when naming the custom resource type

Additional Information/Context

No response

CDK CLI Version

2.121.0 (build 9f2b78c)

Framework Version

No response

Node.js Version

v18.15.0

OS

Osx

Language

TypeScript

Language Version

No response

Other information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions