serverless-sam
Version:
Serverless framework plugin to export AWS SAM templates for a service
46 lines (35 loc) • 1.94 kB
JavaScript
const chai = require("chai");
const expect = chai.expect;
const yaml = require('js-yaml');
const path = require('path');
const fs = require('fs');
console.log(__dirname + path.sep + ".." + path.sep + "sam.yml");
const serverlessTemplate = yaml.safeLoad(fs.readFileSync(__dirname + path.sep + ".." + path.sep + "serverless.yml"));
const samTemplate = yaml.safeLoad(fs.readFileSync(__dirname + path.sep + ".." + path.sep + "sam.yml"));
describe("Tests for " + __filename, () => {
it("Created the Lambda function resource", () => {
expect(samTemplate.Resources.CurrentTime).to.not.be.null;
});
it("Function runtime is Java8", () => {
expect(samTemplate.Resources.CurrentTime.Properties.Runtime).to.be.equals("java8");
});
it("Function has one event", () => {
expect(Object.keys(samTemplate.Resources.CurrentTime.Properties.Events).length).to.be.equals(1);
})
it("Event type is Api", () => {
expect(samTemplate.Resources.CurrentTime.Properties.Events.Event1.Type).to.be.equals("Api");
});
it("Event to reference Api resource", () => {
expect(samTemplate.Resources.CurrentTime.Properties.Events.Event1.Properties.RestApiId).to.be.not.null;
expect(Object.keys(samTemplate.Resources.CurrentTime.Properties.Events.Event1.Properties.RestApiId)[0]).to.be.equal("Ref");
expect(samTemplate.Resources.CurrentTime.Properties.Events.Event1.Properties.RestApiId.Ref).to.be.equal("AwsJavaSimpleHttpEndpoint");
});
it("Created the API resource", () => {
expect(samTemplate.Resources.AwsJavaSimpleHttpEndpoint).to.not.be.null;
});
it("API has a ping path", () => {
expect(samTemplate.Resources.AwsJavaSimpleHttpEndpoint.Properties.DefinitionBody).to.be.not.null;
expect(Object.keys(samTemplate.Resources.AwsJavaSimpleHttpEndpoint.Properties.DefinitionBody.paths).length).to.be.equal(1);
});
});