UNPKG

jaws-api-gateway-client

Version:

AWS API Gateway Client for the JAWS Framework

177 lines (139 loc) 4.13 kB
var Client = require('../index') dotenv = require('dotenv'), AWS = require('aws-sdk'), shortid = require('shortid'); dotenv.load(); // Test Data var testData = { credentials: new AWS.SharedIniFileCredentials({ profile: process.env.profile }) }; describe('Test client', function() { var client = new Client({ accessKeyId: testData.credentials.accessKeyId, secretAccessKey: testData.credentials.secretAccessKey, region: 'us-east-1' }); it('restapis: create', function(done) { this.timeout(0); var body = { name: 'test-rest-api-' + shortid.generate(), description: 'temporary, test rest api' }; client.createRestApi(body).then(function(response) { console.log(response); testData.restApiId = response.id; testData.restApiName = response.name; done(); }).catch(done); }); it('restapis: list', function(done) { this.timeout(0); client.listRestApis().then(function(response) { console.log(response); done(); }).catch(done); }); it('restapis: show by id', function(done) { this.timeout(0); client.showRestApi(testData.restApiId).then(function(response) { console.log(response); done(); }) .catch(done); }); it('resources: list', function(done) { this.timeout(0); client.listResources(testData.restApiId).then(function(response) { console.log(response); testData.parentResourceId = response._embedded.item.id; // The default resource is a '/' done(); }).catch(done); }); it('resources: create', function(done) { this.timeout(0); client.createResource(testData.restApiId, testData.parentResourceId, 'users').then(function(response) { console.log(response); testData.childResourceId = response.id; done(); }).catch(done); }); it('resources: create 2', function(done) { this.timeout(0); client.createResource(testData.restApiId, testData.parentResourceId, 'events').then(function(response) { console.log(response); testData.tempResourceId = response.id; done(); }).catch(done); }); it('resources: show', function(done) { this.timeout(0); client.showResource(testData.restApiId, testData.childResourceId).then(function(response) { console.log(response); done(); }).catch(done); }); it('resources: delete', function(done) { this.timeout(0); client.deleteResource(testData.restApiId, testData.tempResourceId).then(function(response) { console.log(response); done(); }).catch(done); }); it('methods: put', function(done) { this.timeout(0); var method = { "authorizationType" : "none", "apiKeyRequired" : false, "requestParameters" : { "method.request.querystring.access_token": true }, "requestModels" : {} }; client.putMethod(testData.restApiId, testData.childResourceId, 'GET', method).then(function(response) { console.log(response); done(); }).catch(done); }); it('stages: list', function(done) { this.timeout(0); client.listStages(testData.restApiId).then(function(response) { console.log(response); done(); }) .catch(done); }); it('stages: create', function(done) { this.timeout(0); client.putStage(testData.restApiId, 'dev').then(function(response) { console.log(response); done(); }) .catch(done); }); it('stages: show', function(done) { this.timeout(0); client.showStage(testData.restApiId, 'dev').then(function(response) { console.log(response); done(); }) .catch(done); }); it('stages: delete', function(done) { this.timeout(0); client.deleteStage(testData.restApiId, 'dev').then(function(response) { console.log(response); done(); }) .catch(done); }); it('restapis: delete', function(done) { this.timeout(0); client.deleteRestApi(testData.restApiId).then(function(response) { console.log(response); done(); }) .catch(done); }); });