# aio-lib-test-proxy **Repository Path**: mirrors_adobe/aio-lib-test-proxy ## Basic Information - **Project Name**: aio-lib-test-proxy - **Description**: Adobe I/O Lib for Test Proxies and Api Servers - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-22 - **Last Updated**: 2026-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![Version](https://img.shields.io/npm/v/@adobe/aio-lib-test-proxy.svg)](https://npmjs.org/package/@adobe/aio-lib-test-proxy) [![Downloads/week](https://img.shields.io/npm/dw/@adobe/aio-lib-test-proxy.svg)](https://npmjs.org/package/@adobe/aio-lib-test-proxy) [![Node.js CI](https://github.com/adobe/aio-lib-test-proxy/actions/workflows/node.js.yml/badge.svg)](https://github.com/adobe/aio-lib-test-proxy/actions/workflows/node.js.yml) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Codecov Coverage](https://img.shields.io/codecov/c/github/adobe/aio-lib-test-proxy/main.svg?style=flat-square)](https://codecov.io/gh/adobe/aio-lib-test-proxy/) # Adobe I/O Lib for Test Proxies and Api Servers ### Installing ```bash $ npm install --save-dev @adobe/aio-lib-test-proxy ``` ### Usage 1) Initialize the SDK ```javascript const { createApiServer, createHttpProxy, createHttpsProxy } = require('@adobe/aio-lib-test-proxy') const httpsProxy = createHttpsProxy() const response = await fetch('https://adobe.com', { agent: new HttpsProxyAgent('https://my-proxy.local:8080') }) httpsProxy.stop() const apiServer = createApiServer() const response2 = await fetch('http://localhost:3000/mirror?foo=bar') const response = await fetch('http://localhost:3000/post', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ foo: 'bar' }) }) apiServer.close() ``` ## Functions
createApiServer(options)object

Create a simple API server.

For use in tests only. Default port is 3000.

  1. GET /mirror will return any query variables as json.
  2. POST /post will return the posted body as json.
createHttpProxy(httpOptions)Promise.<mockttp.Mockttp>

Create a HTTP forwarding proxy

For use in tests only. Default port is 8080.

createHttpsProxy(httpOptions)Promise.<mockttp.Mockttp>

Create a HTTPS forwarding proxy

For use in tests only. Default port is 8081.

This will generate certs for SSL, and add it to the root CAs temporarily. This prevents any self-signed cert errors for tests when using the https proxy.

## Typedefs
HttpOptions : object

HTTP Options

## createApiServer(options) ⇒ object Create a simple API server. For use in tests only. Default port is 3000. 1. GET `/mirror` will return any query variables as json. 2. POST `/post` will return the posted body as json. **Kind**: global function **Returns**: object - the HTTP API server object | Param | Type | Default | Description | | --- | --- | --- | --- | | options | object | | the options object | | [options.port] | number | 3000 | the port number to listen to | | [options.useSsl] | number | false | use ssl (https) | ## createHttpProxy(httpOptions) ⇒ Promise.<mockttp.Mockttp> Create a HTTP forwarding proxy For use in tests only. Default port is 8080. **Kind**: global function **Returns**: Promise.<mockttp.Mockttp> - the proxy server instance | Param | Type | Description | | --- | --- | --- | | httpOptions | [HttpOptions](#HttpOptions) | the http proxy options | ## createHttpsProxy(httpOptions) ⇒ Promise.<mockttp.Mockttp> Create a HTTPS forwarding proxy For use in tests only. Default port is 8081. This will generate certs for SSL, and add it to the root CAs temporarily. This prevents any self-signed cert errors for tests when using the https proxy. **Kind**: global function **Returns**: Promise.<mockttp.Mockttp> - the proxy server instance | Param | Type | Description | | --- | --- | --- | | httpOptions | [HttpOptions](#HttpOptions) | the http proxy options | ## HttpOptions : object HTTP Options **Kind**: global typedef **Properties** | Name | Type | Default | Description | | --- | --- | --- | --- | | port | number | | the port to use | | useBasicAuth | boolean | | use basic authorization | | [username] | boolean | admin | the username for basic authorization | | [password] | boolean | secret | the password for basic authorization | ### Debug Logs ```bash LOG_LEVEL=debug ``` Prepend the `LOG_LEVEL` environment variable and `debug` value to the call that invokes your function, on the command line. This should output a lot of debug data for your SDK calls. ### Contributing Contributions are welcome! Read the [Contributing Guide](./.github/CONTRIBUTING.md) for more information. ### Licensing This project is licensed under the Apache V2 License. See [LICENSE](LICENSE) for more information.