mirror of
https://github.com/serverless/serverless.git
synced 2026-01-18 14:58:43 +00:00
120 lines
3.7 KiB
JavaScript
120 lines
3.7 KiB
JavaScript
'use strict';
|
|
|
|
const expect = require('chai').expect;
|
|
const runServerless = require('../../../../../utils/run-serverless');
|
|
|
|
describe('test/unit/lib/plugins/aws/info/display.test.js', () => {
|
|
let serverless;
|
|
let serviceName;
|
|
|
|
before(async () => {
|
|
({
|
|
serverless,
|
|
fixtureData: {
|
|
serviceConfig: { service: serviceName },
|
|
},
|
|
} = await runServerless({
|
|
fixture: 'api-gateway',
|
|
command: 'info',
|
|
awsRequestStubMap: {
|
|
APIGateway: {
|
|
getApiKey: {
|
|
value: 'test-key-value',
|
|
name: 'test-key-name',
|
|
},
|
|
},
|
|
CloudFormation: {
|
|
describeStacks: {
|
|
Stacks: [
|
|
{
|
|
Outputs: [
|
|
{
|
|
OutputKey: 'ServiceEndpoint',
|
|
OutputValue: 'https://xxxxx.execute-api.us-east-1.amazonaws.com/dev',
|
|
Description: 'URL of the service endpoint',
|
|
ExportName: 'sls-test-api-gw',
|
|
},
|
|
{
|
|
OutputKey: 'ServerlessDeploymentBucketName',
|
|
OutputValue: 'test-api-gw-dev-serverlessdeploymentbucket-xxxxx',
|
|
ExportName: 'sls-test-api-gw-ServerlessDeploymentBucketName',
|
|
},
|
|
{
|
|
OutputKey: 'LayerLambdaLayerQualifiedArn',
|
|
OutputValue: 'arn:aws:lambda:us-east-1:00000000:layer:layer:1',
|
|
},
|
|
{
|
|
OutputKey: 'WithUrlLambdaFunctionUrl',
|
|
OutputValue: 'https://sub.lambda.com',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
describeStackResources: {
|
|
StackResources: [
|
|
{
|
|
PhysicalResourceId: 'test',
|
|
ResourceType: 'AWS::ApiGateway::ApiKey',
|
|
},
|
|
],
|
|
},
|
|
listStackResources: {},
|
|
},
|
|
},
|
|
configExt: {
|
|
provider: {
|
|
apiGateway: {
|
|
apiKeys: [
|
|
{ name: 'full-key', value: 'full-key-asdf-asdf-asdf-adfafdadfadfadfadfafafdafadf' },
|
|
'no-value-key',
|
|
{ value: 'no-name-key-asdf-asdf-asdf-adfafdadfadfadfadfafafdafadf' },
|
|
],
|
|
},
|
|
},
|
|
functions: {
|
|
withUrl: {
|
|
handler: 'index.handler',
|
|
url: true,
|
|
},
|
|
},
|
|
layers: {
|
|
layer: {
|
|
path: 'layer',
|
|
},
|
|
},
|
|
},
|
|
}));
|
|
});
|
|
|
|
it('should register api gateway api keys section', () => {
|
|
expect(serverless.serviceOutputs.get('api keys')).to.deep.equal([
|
|
'test-key-name: test-key-value',
|
|
]);
|
|
});
|
|
|
|
it('should register endpoints section', () => {
|
|
expect(serverless.serviceOutputs.get('endpoints')).to.deep.equal([
|
|
'GET - https://xxxxx.execute-api.us-east-1.amazonaws.com/dev',
|
|
'POST - https://xxxxx.execute-api.us-east-1.amazonaws.com/dev/minimal-1',
|
|
'GET - https://xxxxx.execute-api.us-east-1.amazonaws.com/dev/foo',
|
|
'POST - https://xxxxx.execute-api.us-east-1.amazonaws.com/dev/some-post',
|
|
'GET - https://xxxxx.execute-api.us-east-1.amazonaws.com/dev/bar/{marko}',
|
|
'withUrl: https://sub.lambda.com',
|
|
]);
|
|
});
|
|
it('should register functions section', () => {
|
|
expect(serverless.serviceOutputs.get('functions')).to.deep.equal([
|
|
`minimal: ${serviceName}-dev-minimal`,
|
|
`foo: ${serviceName}-dev-foo`,
|
|
`other: ${serviceName}-dev-other`,
|
|
`withUrl: ${serviceName}-dev-withUrl`,
|
|
]);
|
|
});
|
|
it('should register layers section', () => {
|
|
expect(serverless.serviceOutputs.get('layers')).to.deep.equal([
|
|
'layer: arn:aws:lambda:us-east-1:00000000:layer:layer:1',
|
|
]);
|
|
});
|
|
});
|