mirror of
https://github.com/serverless/serverless.git
synced 2025-12-08 19:46:03 +00:00
refatored aws plugins structure
This commit is contained in:
parent
a57126f38a
commit
ef2fffe130
@ -4,13 +4,13 @@
|
||||
"./deploy/deploy.js",
|
||||
"./invoke/invoke.js",
|
||||
"./remove/remove.js",
|
||||
"./awsCompileFunctions/awsCompileFunctions.js",
|
||||
"./awsCompileS3Events/awsCompileS3Events.js",
|
||||
"./awsCompileScheduledEvents/awsCompileScheduledEvents.js",
|
||||
"./awsCompileApigEvents/awsCompileApigEvents.js",
|
||||
"./awsDeploy/awsDeploy.js",
|
||||
"./awsInvoke/awsInvoke.js",
|
||||
"./awsRemove/awsRemove.js",
|
||||
"./aws/deploy/index.js",
|
||||
"./aws/invoke/index.js",
|
||||
"./aws/remove/index.js",
|
||||
"./aws/deploy/compile/functions/index.js",
|
||||
"./aws/deploy/compile/events/schedule/index.js",
|
||||
"./aws/deploy/compile/events/s3/index.js",
|
||||
"./aws/deploy/compile/events/apiGateway/index.js",
|
||||
"./helloWorld/helloWorld.js"
|
||||
]
|
||||
}
|
||||
|
||||
@ -3,11 +3,11 @@
|
||||
const BbPromise = require('bluebird');
|
||||
const forEach = require('lodash').forEach;
|
||||
|
||||
const compileRestApi = require('./lib/compileRestApi');
|
||||
const compileResources = require('./lib/compileResources');
|
||||
const compileMethods = require('./lib/compileMethods');
|
||||
const compileDeployment = require('./lib/compileDeployment');
|
||||
const compilePermissions = require('./lib/compilePermissions');
|
||||
const compileRestApi = require('./lib/restApi');
|
||||
const compileResources = require('./lib/resources');
|
||||
const compileMethods = require('./lib/methods');
|
||||
const compileDeployment = require('./lib/deployment');
|
||||
const compilePermissions = require('./lib/permissions');
|
||||
|
||||
class AwsCompileApigEvents {
|
||||
constructor(serverless, options) {
|
||||
@ -0,0 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
require('./index');
|
||||
require('./permissions');
|
||||
require('./restApi');
|
||||
require('./deployment');
|
||||
require('./resources');
|
||||
require('./methods');
|
||||
@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const AwsCompileApigEvents = require('../awsCompileApigEvents');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsCompileApigEvents = require('../index');
|
||||
const Serverless = require('../../../../../../../Serverless');
|
||||
|
||||
describe('#compileDeployment()', () => {
|
||||
let serverless;
|
||||
@ -3,8 +3,8 @@
|
||||
const expect = require('chai').expect;
|
||||
const sinon = require('sinon');
|
||||
const BbPromise = require('bluebird');
|
||||
const AwsCompileApigEvents = require('../awsCompileApigEvents');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsCompileApigEvents = require('../index');
|
||||
const Serverless = require('../../../../../../../Serverless');
|
||||
|
||||
describe('AwsCompileApigEvents', () => {
|
||||
const serverless = new Serverless();
|
||||
@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const AwsCompileApigEvents = require('../awsCompileApigEvents');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsCompileApigEvents = require('../index');
|
||||
const Serverless = require('../../../../../../../Serverless');
|
||||
|
||||
describe('#compileMethods()', () => {
|
||||
let serverless;
|
||||
@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const AwsCompileApigEvents = require('../awsCompileApigEvents');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsCompileApigEvents = require('../index');
|
||||
const Serverless = require('../../../../../../../Serverless');
|
||||
|
||||
describe('#awsCompilePermissions()', () => {
|
||||
let serverless;
|
||||
@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const AwsCompileApigEvents = require('../awsCompileApigEvents');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsCompileApigEvents = require('../index');
|
||||
const Serverless = require('../../../../../../../Serverless');
|
||||
|
||||
describe('#compileResources()', () => {
|
||||
let serverless;
|
||||
@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const AwsCompileApigEvents = require('../awsCompileApigEvents');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsCompileApigEvents = require('../index');
|
||||
const Serverless = require('../../../../../../../Serverless');
|
||||
|
||||
describe('#compileRestApi()', () => {
|
||||
let serverless;
|
||||
@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const AwsCompileS3Events = require('../awsCompileS3Events');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsCompileS3Events = require('../index');
|
||||
const Serverless = require('../../../../../../../Serverless');
|
||||
|
||||
describe('awsCompileS3Events', () => {
|
||||
let serverless;
|
||||
@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const AwsCompileScheduledEvents = require('../awsCompileScheduledEvents');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsCompileScheduledEvents = require('../index');
|
||||
const Serverless = require('../../../../../../../Serverless');
|
||||
|
||||
describe('awsCompileScheduledEvents', () => {
|
||||
let serverless;
|
||||
@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const AwsCompileFunctions = require('../awsCompileFunctions');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsCompileFunctions = require('../index');
|
||||
const Serverless = require('../../../../../../Serverless');
|
||||
|
||||
describe('awsCompileFunctions', () => {
|
||||
let serverless;
|
||||
@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const BbPromise = require('bluebird');
|
||||
const validateInput = require('./lib/validateInput');
|
||||
const validateInput = require('./lib/validate');
|
||||
const initializeResources = require('./lib/initializeResources');
|
||||
const createStack = require('./lib/createStack');
|
||||
const deployFunctions = require('./lib/deployFunctions');
|
||||
@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
require('./validateInput');
|
||||
require('./validate');
|
||||
require('./initializeResources');
|
||||
require('./createStack');
|
||||
require('./deployFunctions');
|
||||
require('./updateStack');
|
||||
require('./awsDeploy');
|
||||
require('./index');
|
||||
@ -6,8 +6,8 @@ const os = require('os');
|
||||
const path = require('path');
|
||||
const AWS = require('aws-sdk');
|
||||
const BbPromise = require('bluebird');
|
||||
const AwsDeploy = require('../awsDeploy');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsDeploy = require('../index');
|
||||
const Serverless = require('../../../../Serverless');
|
||||
|
||||
describe('createStack', () => {
|
||||
let serverless;
|
||||
@ -4,7 +4,7 @@ const expect = require('chai').expect;
|
||||
const path = require('path');
|
||||
const os = require('os');
|
||||
const deployFunctions = require('../lib/deployFunctions');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const Serverless = require('../../../../Serverless');
|
||||
const Zip = require('node-zip');
|
||||
const sinon = require('sinon');
|
||||
const AWS = require('aws-sdk');
|
||||
@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const AwsDeploy = require('../awsDeploy');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsDeploy = require('../index');
|
||||
const Serverless = require('../../../../Serverless');
|
||||
const expect = require('chai').expect;
|
||||
const BbPromise = require('bluebird');
|
||||
const sinon = require('sinon');
|
||||
@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const AwsDeploy = require('../awsDeploy');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsDeploy = require('../index');
|
||||
const Serverless = require('../../../../Serverless');
|
||||
|
||||
describe('#initializeResources()', () => {
|
||||
const serverless = new Serverless();
|
||||
@ -6,8 +6,8 @@ const os = require('os');
|
||||
const path = require('path');
|
||||
const AWS = require('aws-sdk');
|
||||
const BbPromise = require('bluebird');
|
||||
const AwsDeploy = require('../awsDeploy');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsDeploy = require('../index');
|
||||
const Serverless = require('../../../../Serverless');
|
||||
|
||||
describe('updateStack', () => {
|
||||
let serverless;
|
||||
@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const AwsDeploy = require('../awsDeploy');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsDeploy = require('../index');
|
||||
const Serverless = require('../../../../Serverless');
|
||||
|
||||
describe('#validateInput()', () => {
|
||||
let serverless;
|
||||
@ -4,8 +4,8 @@ const expect = require('chai').expect;
|
||||
const sinon = require('sinon');
|
||||
const path = require('path');
|
||||
const os = require('os');
|
||||
const AwsInvoke = require('../awsInvoke');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsInvoke = require('../');
|
||||
const Serverless = require('../../../../Serverless');
|
||||
const BbPromise = require('bluebird');
|
||||
const AWS = require('aws-sdk');
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
const BbPromise = require('bluebird');
|
||||
const validateInput = require('./lib/validateInput');
|
||||
const emptyS3Bucket = require('./lib/emptyS3Bucket');
|
||||
const removeStack = require('./lib/removeStack');
|
||||
const validateInput = require('./lib/validate');
|
||||
const emptyS3Bucket = require('./lib/bucket');
|
||||
const removeStack = require('./lib/stack');
|
||||
|
||||
const AWS = require('aws-sdk');
|
||||
|
||||
6
lib/plugins/aws/remove/tests/all.js
Normal file
6
lib/plugins/aws/remove/tests/all.js
Normal file
@ -0,0 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
require('./');
|
||||
require('./stack');
|
||||
require('./bucket');
|
||||
require('./validate');
|
||||
@ -2,8 +2,8 @@
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const sinon = require('sinon');
|
||||
const AwsRemove = require('../awsRemove');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsRemove = require('../');
|
||||
const Serverless = require('../../../../Serverless');
|
||||
const BbPromise = require('bluebird');
|
||||
const AWS = require('aws-sdk');
|
||||
|
||||
@ -3,8 +3,8 @@
|
||||
const expect = require('chai').expect;
|
||||
const BbPromise = require('bluebird');
|
||||
const sinon = require('sinon');
|
||||
const AwsRemove = require('../awsRemove');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsRemove = require('../');
|
||||
const Serverless = require('../../../../Serverless');
|
||||
|
||||
describe('AwsRemove', () => {
|
||||
const serverless = new Serverless();
|
||||
@ -2,8 +2,8 @@
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const sinon = require('sinon');
|
||||
const AwsRemove = require('../awsRemove');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsRemove = require('../');
|
||||
const Serverless = require('../../../../Serverless');
|
||||
const BbPromise = require('bluebird');
|
||||
const AWS = require('aws-sdk');
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const AwsRemove = require('../awsRemove');
|
||||
const Serverless = require('../../../Serverless');
|
||||
const AwsRemove = require('../');
|
||||
const Serverless = require('../../../../Serverless');
|
||||
|
||||
describe('#validateInput()', () => {
|
||||
const serverless = new Serverless();
|
||||
@ -1,29 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
const merge = require('lodash').merge;
|
||||
const BbPromise = require('bluebird');
|
||||
|
||||
module.exports = {
|
||||
compileStage() {
|
||||
this.serverless.service.getAllFunctions().forEach(() => {
|
||||
const stageTemplate = `
|
||||
{
|
||||
"Type" : "AWS::ApiGateway::Stage",
|
||||
"Properties" : {
|
||||
"DeploymentId": { "Ref": "DeploymentApigEvent" },
|
||||
"RestApiId" : { "Ref": "RestApiApigEvent" },
|
||||
"StageName" : "${this.options.stage}"
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const newStageObject = {
|
||||
StageApigEvent: JSON.parse(stageTemplate),
|
||||
};
|
||||
|
||||
merge(this.serverless.service.resources.aws.Resources, newStageObject);
|
||||
});
|
||||
|
||||
return BbPromise.resolve();
|
||||
},
|
||||
};
|
||||
@ -1,8 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
require('./awsCompileApigEvents');
|
||||
require('./compilePermissions');
|
||||
require('./compileRestApi');
|
||||
require('./compileDeployment');
|
||||
require('./compileResources');
|
||||
require('./compileMethods');
|
||||
@ -1,50 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
const expect = require('chai').expect;
|
||||
const AwsCompileApigEvents = require('../awsCompileApigEvents');
|
||||
const Serverless = require('../../../Serverless');
|
||||
|
||||
describe('#compileStage()', () => {
|
||||
let serverless;
|
||||
let awsCompileApigEvents;
|
||||
|
||||
const serviceResourcesAwsResourcesObjectMock = {
|
||||
Resources: {
|
||||
Type: 'AWS::ApiGateway::Stage',
|
||||
Properties: {
|
||||
DeploymentId: { Ref: 'helloDeploymentApigEvent' },
|
||||
RestApiId: { Ref: 'RestApiApigEvent' },
|
||||
StageName: 'dev',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
beforeEach(() => {
|
||||
serverless = new Serverless();
|
||||
serverless.init();
|
||||
serverless.service.resources = { aws: { Resources: {} } };
|
||||
const options = {
|
||||
stage: 'dev',
|
||||
region: 'us-east-1',
|
||||
};
|
||||
awsCompileApigEvents = new AwsCompileApigEvents(serverless, options);
|
||||
awsCompileApigEvents.serverless.service.functions = {
|
||||
hello: {
|
||||
events: {
|
||||
aws: {
|
||||
http_endpoints: {
|
||||
post: 'foo/bar',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
it('should create a stage resource', () => {
|
||||
awsCompileApigEvents.compileStage().then(() => {
|
||||
expect(JSON.stringify(awsCompileApigEvents.serverless.service.resources.aws.Resources))
|
||||
.to.equal(JSON.stringify(serviceResourcesAwsResourcesObjectMock.Resources));
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -1,6 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
require('./awsRemove');
|
||||
require('./removeStack');
|
||||
require('./emptyS3Bucket');
|
||||
require('./validateInput');
|
||||
@ -29,4 +29,4 @@ class Deploy {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Deploy;
|
||||
module.exports = Deploy;
|
||||
17
tests/all.js
17
tests/all.js
@ -17,10 +17,13 @@ require('../lib/plugins/create/tests/create');
|
||||
require('../lib/plugins/deploy/tests/deploy');
|
||||
require('../lib/plugins/invoke/tests/invoke');
|
||||
require('../lib/plugins/remove/tests/remove');
|
||||
require('../lib/plugins/awsDeploy/tests/all');
|
||||
require('../lib/plugins/awsRemove/tests/all');
|
||||
require('../lib/plugins/awsInvoke/tests/awsInvoke');
|
||||
require('../lib/plugins/awsCompileFunctions/tests/awsCompileFunctions');
|
||||
require('../lib/plugins/awsCompileS3Events/tests/awsCompileS3Events');
|
||||
require('../lib/plugins/awsCompileScheduledEvents/tests/awsCompileScheduledEvents');
|
||||
require('../lib/plugins/awsCompileApigEvents/tests/all');
|
||||
|
||||
// AWS Plugins Tests
|
||||
require('../lib/plugins/aws/deploy/tests/all');
|
||||
require('../lib/plugins/aws/deploy/compile/functions/tests');
|
||||
require('../lib/plugins/aws/deploy/compile/events/s3/tests');
|
||||
require('../lib/plugins/aws/deploy/compile/events/schedule/tests');
|
||||
require('../lib/plugins/aws/deploy/compile/events/apiGateway/tests');
|
||||
require('../lib/plugins/aws/invoke/tests');
|
||||
require('../lib/plugins/aws/remove/tests/all');
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user