https://github.com/serverless-operations/poc-pact-members-backend
Sample WebAPI for Pact-based testing spike
https://github.com/serverless-operations/poc-pact-members-backend
Last synced: 11 months ago
JSON representation
Sample WebAPI for Pact-based testing spike
- Host: GitHub
- URL: https://github.com/serverless-operations/poc-pact-members-backend
- Owner: serverless-operations
- Created: 2020-04-12T10:24:27.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-24T02:15:19.000Z (over 3 years ago)
- Last Synced: 2025-01-16T14:54:41.914Z (over 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 2.12 MB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# poc-pact-members-backend
Sample WebAPI and backend components for spiking Pact contract testing
## Pact テストのデモ実行手順
HTTP API の場合 Provider となる WebAPI のテストを実行して Pact を検証、ブローカーへ結果を送信します。
非同期テストの場合、イベントハンドラーとなる Consumer とイベントを発行する Provider のテストをぞれぞれ実行して Pact を発行・検証、ブローカーへ結果を送信します。
### 前提条件
HTTP API Provider テストの場合、予め Consumer からブローカーへ登録された Pact のタグ(e.g.`master`)の有無を確認した上でタグの指定・検証を行う必要があります。
### 実行環境
- Node.js `v12.13.0` 以上
- Yarn `1.22.0` 以上
### 依存関係のセットアップ
```shell
yarn setup
```
### 環境変数の設定
`.env.example` をコピーして `.env` ファイルを作成、以下の環境変数をセットします
```
# Lambda environment variables
ASYNC_DOWNLOAD_MEMBERS_TOPIC_ARN=
S3_BUCKET=
# Testing environment variables
PROVIDER_BASE_URL=
PACT_BROKER_URL=
PACT_BROKER_TOKEN=
```
### Pact テストの実行
```shell
# 非同期処理の Consumer テスト
yarn test:pact-consumer
# 非同期処理の Consumer テスト結果をブローカーへ送信する
yarn test:publish
# HTTP API, 非同期処理の Provider テスト
yarn test:pact-provider
```