Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
serverless-testing-library
Advanced tools
serverless-testing-library is a small library to make integration or smoke testing your API's easier.
serverless-testing-library
makes it easier to write integration and smoke tests for your serverless APIs.
A simple request.
const test = require(‘serverless-testing-library’);
it(‘gets a 200 response’, async () => {
const app = test()
const response = await app.get('/')
assert.equal(response.status, 200)
assert.equal(response.body.foo, 'bar')
})
Here, we import the top-level function test
from serverless-testing-library
and call it. This method reads the serverless configuration file in the root of your project and configures a simple express server wrapped in some convenient testing methods. We then call the get
method, passing it a URL path that exists on our API. The response
object returned from get
contains the HTTP status code and parsed header and body objects.
serverless-testing-library
supports the 5 major HTTP methods: GET
, DELETE
, PATCH
, POST
and PUT
. Each method called on the app
instance returns a Promise to be handled in your tests.
The test
method optionally accepts a serverless configuration file path:
const app = test('my_api.yml') // resolves <project_root>/my_api.yml
const app = test('foo/api.yml') // resolves <project_root>/foo/api.yml
If you are testing a project that lives outside of your project root, resolve the path to the serverless configuration file:
const path = require('path')
const test = require('serverless-testing-library')
const filePath = path.resolve(process.cwd(), '../other-project/serverless.yml')
const app = test(filePath)
You can find the complete API documentation here.
For those using mocha and chai to test their API's, serverless-testing-library
ships with a simple set of chai assertions.
const chai = require('chai')
const stlChai = require('serverless-testing-library/chai')
chai.use(stlChai)
You can then use the assertions like so:
expect(response).to.have.status(200)
expect(response).to.have.header('x-api-key')
expect(response).to.be.json
Jest users are not left out: serverless-testing-library
also ships with the same matchers for jest.
// test.setup.js
require('serverless-testing-library/jest')
Then configure jest to use the above setup script in either the jest
key of package.json
or jest.config.js
:
// package.json
"jest": {
"setupTestFrameworkScriptFile": "./test.setup.js"
}
Then use it in your test:
expect(response).toHaveStatus(200)
expect(response).toHaveHeader('x-api-key')
expect(response).toBeJson()
serverless-testing-library
is heavily inspired by chai-http. The name for this library was inspired by react-testing-library.
See LICENSE
FAQs
serverless-testing-library is a small library to make integration or smoke testing your API's easier.
The npm package serverless-testing-library receives a total of 5 weekly downloads. As such, serverless-testing-library popularity was classified as not popular.
We found that serverless-testing-library demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.