Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 26 additions & 26 deletions tst/e2e/ResourceState.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ describe('ResourceState E2E', () => {

await client.send('aws/cfn/resources/list', {
resources: [{ resourceType: 'AWS::Lambda::Function' }],
} as ListResourcesParams);
} satisfies ListResourcesParams);

const result = (await client.send('aws/cfn/resources/types', {})) as ResourceTypesResult;

Expand All @@ -88,7 +88,7 @@ describe('ResourceState E2E', () => {
it('should return empty array when no resources requested', async () => {
const result = (await client.send('aws/cfn/resources/list', {
resources: [],
} as ListResourcesParams)) as ListResourcesResult;
} satisfies ListResourcesParams)) as ListResourcesResult;

expect(result.resources).toEqual([]);
});
Expand All @@ -101,7 +101,7 @@ describe('ResourceState E2E', () => {

const result = (await client.send('aws/cfn/resources/list', {
resources: [{ resourceType: 'AWS::Lambda::Function' }],
} as ListResourcesParams)) as ListResourcesResult;
} satisfies ListResourcesParams)) as ListResourcesResult;

expect(result.resources).toHaveLength(1);
expect(result.resources[0].typeName).toBe('AWS::Lambda::Function');
Expand All @@ -122,7 +122,7 @@ describe('ResourceState E2E', () => {

const result = (await client.send('aws/cfn/resources/list', {
resources: [{ resourceType: 'AWS::Lambda::Function' }, { resourceType: 'AWS::DynamoDB::Table' }],
} as ListResourcesParams)) as ListResourcesResult;
} satisfies ListResourcesParams)) as ListResourcesResult;

expect(result.resources).toHaveLength(2);
expect(result.resources.map((r) => r.typeName)).toContain('AWS::Lambda::Function');
Expand All @@ -138,7 +138,7 @@ describe('ResourceState E2E', () => {

const result = (await client.send('aws/cfn/resources/list', {
resources: [{ resourceType: 'AWS::Lambda::Function' }],
} as ListResourcesParams)) as ListResourcesResult;
} satisfies ListResourcesParams)) as ListResourcesResult;

expect(result.resources[0].nextToken).toBe('token-123');
});
Expand All @@ -153,7 +153,7 @@ describe('ResourceState E2E', () => {

await client.send('aws/cfn/resources/list', {
resources: [{ resourceType: 'AWS::Lambda::Function' }],
} as ListResourcesParams);
} satisfies ListResourcesParams);

mockCloudControlSend.resolves({
TypeName: 'AWS::Lambda::Function',
Expand All @@ -166,7 +166,7 @@ describe('ResourceState E2E', () => {
const result = (await client.send('aws/cfn/resources/search', {
resourceType: 'AWS::Lambda::Function',
identifier: 'my-function',
} as SearchResourceParams)) as SearchResourceResult;
} satisfies SearchResourceParams)) as SearchResourceResult;

expect(result.found).toBe(true);
expect(result.resource?.resourceIdentifiers).toContain('my-function');
Expand All @@ -180,14 +180,14 @@ describe('ResourceState E2E', () => {

await client.send('aws/cfn/resources/list', {
resources: [{ resourceType: 'AWS::Lambda::Function' }],
} as ListResourcesParams);
} satisfies ListResourcesParams);

mockCloudControlSend.rejects(new Error('ResourceNotFoundException'));

const result = (await client.send('aws/cfn/resources/search', {
resourceType: 'AWS::Lambda::Function',
identifier: 'non-existent',
} as SearchResourceParams)) as SearchResourceResult;
} satisfies SearchResourceParams)) as SearchResourceResult;

expect(result.found).toBe(false);
expect(result.resource).toBeUndefined();
Expand All @@ -203,7 +203,7 @@ describe('ResourceState E2E', () => {

const result = (await client.send('aws/cfn/resources/refresh', {
resources: [{ resourceType: 'AWS::Lambda::Function' }],
} as RefreshResourcesParams)) as RefreshResourcesResult;
} satisfies RefreshResourcesParams)) as RefreshResourcesResult;

expect(result.resources).toHaveLength(1);
expect(result.resources[0].typeName).toBe('AWS::Lambda::Function');
Expand All @@ -217,7 +217,7 @@ describe('ResourceState E2E', () => {

await client.send('aws/cfn/resources/list', {
resources: [{ resourceType: 'AWS::Lambda::Function' }],
} as ListResourcesParams);
} satisfies ListResourcesParams);

mockCloudControlSend.resolves({
TypeName: 'AWS::Lambda::Function',
Expand All @@ -226,7 +226,7 @@ describe('ResourceState E2E', () => {

const result = (await client.send('aws/cfn/resources/refresh', {
resources: [{ resourceType: 'AWS::Lambda::Function' }],
} as RefreshResourcesParams)) as RefreshResourcesResult;
} satisfies RefreshResourcesParams)) as RefreshResourcesResult;

expect(result.resources[0].resourceIdentifiers).toHaveLength(2);
});
Expand All @@ -241,7 +241,7 @@ describe('ResourceState E2E', () => {

const listResult = (await client.send('aws/cfn/resources/list', {
resources: [{ resourceType: 'AWS::Lambda::Function' }],
} as ListResourcesParams)) as ListResourcesResult;
} satisfies ListResourcesParams)) as ListResourcesResult;

expect(listResult.resources).toHaveLength(1);
expect(listResult.resources[0].typeName).toBe('AWS::Lambda::Function');
Expand All @@ -256,7 +256,7 @@ describe('ResourceState E2E', () => {

const listAfterRemove = (await client.send('aws/cfn/resources/list', {
resources: [{ resourceType: 'AWS::Lambda::Function' }],
} as ListResourcesParams)) as ListResourcesResult;
} satisfies ListResourcesParams)) as ListResourcesResult;

expect(listAfterRemove.resources[0].resourceIdentifiers).toHaveLength(0);
});
Expand Down Expand Up @@ -287,7 +287,7 @@ describe('ResourceState E2E', () => {
},
],
purpose: ResourceStatePurpose.IMPORT,
} as ResourceStateParams)) as ResourceStateResult;
} satisfies ResourceStateParams)) as ResourceStateResult;

expect(result.successfulImports['AWS::S3::Bucket']).toContain('my-bucket');
expect(result.failedImports).toEqual({});
Expand Down Expand Up @@ -323,7 +323,7 @@ describe('ResourceState E2E', () => {
},
],
purpose: ResourceStatePurpose.IMPORT,
} as ResourceStateParams)) as ResourceStateResult;
} satisfies ResourceStateParams)) as ResourceStateResult;

expect(result.successfulImports['AWS::S3::Bucket']).toHaveLength(2);
expect(result.successfulImports['AWS::S3::Bucket']).toContain('bucket-1');
Expand Down Expand Up @@ -355,7 +355,7 @@ describe('ResourceState E2E', () => {
},
],
purpose: ResourceStatePurpose.IMPORT,
} as ResourceStateParams)) as ResourceStateResult;
} satisfies ResourceStateParams)) as ResourceStateResult;

// Verify at least one resource was processed
expect(result.successfulImports['AWS::S3::Bucket']).toBeDefined();
Expand All @@ -370,7 +370,7 @@ describe('ResourceState E2E', () => {
textDocument: { uri },
resourceSelections: undefined,
purpose: ResourceStatePurpose.IMPORT,
} as ResourceStateParams)) as ResourceStateResult;
} satisfies ResourceStateParams)) as ResourceStateResult;

expect(result.successfulImports).toEqual({});
expect(result.completionItem).toBeUndefined();
Expand Down Expand Up @@ -403,7 +403,7 @@ describe('ResourceState E2E', () => {
},
],
purpose: ResourceStatePurpose.IMPORT,
} as ResourceStateParams)) as ResourceStateResult;
} satisfies ResourceStateParams)) as ResourceStateResult;

expect(result.successfulImports['AWS::Lambda::Function']).toContain('my-function');
expect(result.completionItem).toBeDefined();
Expand Down Expand Up @@ -442,7 +442,7 @@ describe('ResourceState E2E', () => {
},
],
purpose: ResourceStatePurpose.IMPORT,
} as ResourceStateParams)) as ResourceStateResult;
} satisfies ResourceStateParams)) as ResourceStateResult;

expect(result.successfulImports['AWS::S3::Bucket']).toContain('my-bucket');
expect(result.successfulImports['AWS::Lambda::Function']).toContain('my-function');
Expand Down Expand Up @@ -473,7 +473,7 @@ describe('ResourceState E2E', () => {
},
],
purpose: ResourceStatePurpose.IMPORT,
} as ResourceStateParams)) as ResourceStateResult;
} satisfies ResourceStateParams)) as ResourceStateResult;

expect(result.successfulImports['AWS::Lambda::Function']).toContain('function-1');
expect(result.failedImports['AWS::Lambda::Function']).toContain('function-2');
Expand Down Expand Up @@ -505,7 +505,7 @@ describe('ResourceState E2E', () => {
},
],
purpose: ResourceStatePurpose.CLONE,
} as ResourceStateParams)) as ResourceStateResult;
} satisfies ResourceStateParams)) as ResourceStateResult;

expect(result.successfulImports['AWS::S3::Bucket']).toContain('source-bucket');
expect(result.completionItem).toBeDefined();
Expand Down Expand Up @@ -537,7 +537,7 @@ describe('ResourceState E2E', () => {
},
],
purpose: ResourceStatePurpose.CLONE,
} as ResourceStateParams)) as ResourceStateResult;
} satisfies ResourceStateParams)) as ResourceStateResult;

expect(result.successfulImports['AWS::Lambda::Function']).toContain('source-function');
});
Expand Down Expand Up @@ -628,7 +628,7 @@ Resources:

await client.send('aws/cfn/resources/list', {
resources: [{ resourceType: 'AWS::Lambda::Function' }],
} as ListResourcesParams);
} satisfies ListResourcesParams);

// Mock GetResource for search
mockCloudControlSend.resolves({
Expand All @@ -642,7 +642,7 @@ Resources:
const searchResult = (await client.send('aws/cfn/resources/search', {
resourceType: 'AWS::Lambda::Function',
identifier: 'integration-function',
} as SearchResourceParams)) as SearchResourceResult;
} satisfies SearchResourceParams)) as SearchResourceResult;

expect(searchResult.found).toBe(true);

Expand All @@ -667,7 +667,7 @@ Resources:
},
],
purpose: ResourceStatePurpose.IMPORT,
} as ResourceStateParams)) as ResourceStateResult;
} satisfies ResourceStateParams)) as ResourceStateResult;

expect(importResult.successfulImports['AWS::Lambda::Function']).toContain('integration-function');
});
Expand Down
Loading