npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@contentful/integration-test-utils

v2.0.1

Published

Utilities for Contentful integration tests

Downloads

716

Readme

Contentful Integration Test Utils

About

This repository contains utility functions for integration testing of some of Contentful's open source projects.

It supports ad-hoc space creation and deletion, environment creation as well as a test space clean-up function which can be run periodically or ad hoc.

Pre-requisites

Requires at least Node 14

Installation

Using npm:

npm install @contentful/integration-test-utils

Using yarn:

yarn add @contentful/integration-test-utils

Usage

const testUtils = require('@contentful/integration-test-utils')

API

Create Test Space

Creates a test space with strict naming rules. All space names start with '%'. The space name will be built like this: %${language} ${repo} ${testSuiteName}. Its length must be less than 30 characters.

// returns an empty space with space '%JS CMA Entry API';
const testSpace = await testUtils.createTestSpace({
  client,
  organizationId,
  repo: 'CMA',
  language: 'JS',
  testSuiteName: 'Entry API',
})

Create Test Environment

Creates a test environment in the provided space and waits for it to be ready (timeout: 5 minutes). The length of the environment name must be less than 40 characters.

const testEnvironment = await testUtils.createTestEnvironment(testSpace, 'some-test-env-name')

Delete Test Space

Deletes the space with the space name provided.

await testUtils.deleteSpace(client, '%JS CMA Entry API')

Clean up Test Spaces

Deletes spaces whose names start with the prefix % and which were created prior to a specific threshold time. The threshold defaults to one hour (60 * 60 * 1000 ms). The function has a dryRun option, which lists all spaces to be deleted.

// Deletes all spaces starting with '%' 
// that have been created more than one hour (default threshold) ago
await testUtils.cleanUpTestSpaces()

// With options
await testUtils.cleanUpTestSpaces({
  threshold: 60 * 1000,  // changes the threshold to one minute
  dryRun: true           // lists all spaces starting with '%' without deleting them
})

Usage: The test cleaner can be used in different ways, according to need.

  • In your code, e.g. inside an after() within your test suite
after(async () => {
  await testUtils.cleanUpTestSpaces()
})
  • As a bin script (clean-up-test-spaces) in a pipeline or manually
./bin/clean-up-test-spaces
  • As a script to your package.json
"scripts":{
    "clean-up-test-spaces": "clean-up-test-spaces"
}

:warning: cleanUpSpaces initializes a CMA client and, for that, expects to find an environment variable called CONTENTFUL_INTEGRATION_TEST_CMA_TOKEN containing a functioning Contentful Management Token.

:warning: It will delete all spaces connected to that token which match the naming pattern (starting with '%').