Skip to content

Commit

Permalink
test: remove single-threaded tests (#1065)
Browse files Browse the repository at this point in the history
| 🚥 Resolves ISSUE_ID |
| :------------------- |

## 🧰 Changes

before `vitest@2` made the default pool type `forks`, we split out our
tests for the sake of "making our testbed faster". it was cumbersome to
maintain and in reality the testbed gains were minimal at best. instead,
i'm just consolidating everything into one test suite again.

## 🧬 QA & Testing

do tests pass?
  • Loading branch information
kanadgupta authored Nov 12, 2024
1 parent 0ad5843 commit 93a989b
Show file tree
Hide file tree
Showing 16 changed files with 811 additions and 1,676 deletions.
335 changes: 335 additions & 0 deletions __tests__/cmds/openapi/__snapshots__/index.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,47 @@ jobs:
"
`;

exports[`rdme openapi > GHA onboarding E2E tests > should create GHA workflow (including workingDirectory) 1`] = `
"
Your GitHub Actions workflow file has been created! ✨
Almost done! Just a couple more steps:
1. Push your newly created file (.github/workflows/openapi-file-workingdirectory.yml) to GitHub 🚀
2. Create a GitHub secret called README_API_KEY and populate the value with your ReadMe API key (••••••••••••I_KEY) 🔑
🔐 Check out GitHub's docs for more info on creating encrypted secrets (https://docs.github.com/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository)
🦉 If you have any more questions, feel free to drop us a line! [email protected]
"
`;

exports[`rdme openapi > GHA onboarding E2E tests > should create GHA workflow (including workingDirectory) 2`] = `
"# This GitHub Actions workflow was auto-generated by the \`rdme\` cli on 2022-01-01T00:00:00.000Z
# You can view our full documentation here: https://docs.readme.com/docs/rdme
name: ReadMe GitHub Action 🦉
on:
push:
branches:
# This workflow will run every time you push code to the following branch: \`openapi-branch-workingdirectory\`
# Check out GitHub's docs for more info on configuring this:
# https://docs.github.com/actions/using-workflows/events-that-trigger-workflows
- openapi-branch-workingdirectory
jobs:
rdme-openapi:
runs-on: ubuntu-latest
steps:
- name: Check out repo 📚
uses: actions/checkout@v4
- name: Run \`openapi\` command 🚀
uses: readmeio/rdme@v7
with:
rdme: openapi petstore.json --key=\${{ secrets.README_API_KEY }} --id=1 --workingDirectory=./__tests__/__fixtures__/relative-ref-oas
"
`;

exports[`rdme openapi > GHA onboarding E2E tests > should create GHA workflow (update spec via prompt) 1`] = `
"
Your GitHub Actions workflow file has been created! ✨
Expand Down Expand Up @@ -262,6 +303,300 @@ REQUIRED must have required property 'name'
exports[`rdme openapi > error handling > should throw an error if an invalid ref is supplied 1`] = `[MissingPointerError: Token "Petty" does not exist.]`;
exports[`rdme openapi > updates / resyncs > should use specified working directory and upload the expected content 1`] = `
{
"components": {
"securitySchemes": {
"api_key": {
"in": "header",
"name": "api_key",
"type": "apiKey",
},
"petstore_auth": {
"flows": {
"implicit": {
"authorizationUrl": "http://petstore.swagger.io/oauth/dialog",
"scopes": {
"read:pets": "read your pets",
"write:pets": "modify pets in your account",
},
},
},
"type": "oauth2",
},
},
},
"info": {
"title": "Example petstore to demo our handling of relative external $ref pointers",
"version": "1.0.0",
},
"openapi": "3.0.0",
"paths": {
"/pet": {
"post": {
"description": "",
"operationId": "addPet",
"requestBody": {
"$ref": "#/paths/~1pet/put/requestBody",
},
"responses": {
"405": {
"description": "Invalid input",
},
},
"security": [
{
"petstore_auth": [
"write:pets",
"read:pets",
],
},
],
"summary": "Add a new pet to the store",
"tags": [
"pet",
],
},
"put": {
"description": "",
"operationId": "updatePet",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1pet~1%7BpetId%7D/get/responses/200/content/application~1xml/schema",
},
},
"application/xml": {
"schema": {
"$ref": "#/paths/~1pet~1%7BpetId%7D/get/responses/200/content/application~1xml/schema",
},
},
},
"description": "Pet object that needs to be added to the store",
"required": true,
},
"responses": {
"400": {
"description": "Invalid ID supplied",
},
"404": {
"description": "Pet not found",
},
"405": {
"description": "Validation exception",
},
},
"security": [
{
"petstore_auth": [
"write:pets",
"read:pets",
],
},
],
"summary": "Update an existing pet",
"tags": [
"pet",
],
},
},
"/pet/{petId}": {
"get": {
"description": "Returns a single pet",
"operationId": "getPetById",
"parameters": [
{
"description": "ID of pet to return",
"in": "path",
"name": "petId",
"required": true,
"schema": {
"format": "int64",
"type": "integer",
},
},
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1pet~1%7BpetId%7D/get/responses/200/content/application~1xml/schema",
},
},
"application/xml": {
"schema": {
"properties": {
"category": {
"properties": {
"id": {
"format": "int64",
"type": "integer",
},
"name": {
"type": "string",
},
},
"type": "object",
"xml": {
"name": "Category",
},
},
"id": {
"default": 40,
"example": 25,
"format": "int64",
"type": "integer",
},
"name": {
"example": "doggie",
"type": "string",
},
"photoUrls": {
"items": {
"example": "https://example.com/photo.png",
"type": "string",
},
"type": "array",
"xml": {
"name": "photoUrl",
"wrapped": true,
},
},
"status": {
"description": "pet status in the store",
"enum": [
"available",
"pending",
"sold",
],
"type": "string",
},
"tags": {
"items": {
"properties": {
"id": {
"format": "int64",
"type": "integer",
},
"name": {
"type": "string",
},
},
"type": "object",
"xml": {
"name": "Tag",
},
},
"type": "array",
"xml": {
"name": "tag",
"wrapped": true,
},
},
},
"required": [
"name",
"photoUrls",
],
"type": "object",
"xml": {
"name": "Pet",
},
},
},
},
"description": "successful operation",
},
"400": {
"description": "Invalid ID supplied",
},
"404": {
"description": "Pet not found",
},
"default": {
"description": "successful response",
},
},
"security": [
{
"api_key": [],
},
],
"summary": "Find pet by ID",
"tags": [
"pet",
],
},
},
"/user": {
"post": {
"description": "This can only be done by the logged in user.",
"operationId": "createUser",
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"email": {
"type": "string",
},
"firstName": {
"type": "string",
},
"id": {
"format": "int64",
"type": "integer",
},
"lastName": {
"type": "string",
},
"password": {
"type": "string",
},
"phone": {
"type": "string",
},
"userStatus": {
"description": "User Status",
"format": "int32",
"type": "integer",
},
"username": {
"type": "string",
},
},
"type": "object",
"xml": {
"name": "User",
},
},
},
},
"description": "Created user object",
"required": true,
},
"responses": {
"default": {
"description": "successful operation",
},
},
"summary": "Create user",
"tags": [
"user",
],
},
},
},
"servers": [
{
"url": "http://petstore.swagger.io/v2",
},
],
}
`;
exports[`rdme openapi > upload > should bundle and upload the expected content 1`] = `
{
"components": {
Expand Down
37 changes: 37 additions & 0 deletions __tests__/cmds/openapi/__snapshots__/validate.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,43 @@ jobs:
"
`;

exports[`rdme openapi:validate > GHA onboarding E2E tests > should create GHA workflow if user passes in spec via opt (including workingDirectory) 1`] = `
"
Your GitHub Actions workflow file has been created! ✨
Almost done! Push your newly created file (.github/workflows/validate-test-opt-spec-workdir-file.yml) to GitHub and you're all set 🚀
🦉 If you have any more questions, feel free to drop us a line! [email protected]
"
`;

exports[`rdme openapi:validate > GHA onboarding E2E tests > should create GHA workflow if user passes in spec via opt (including workingDirectory) 2`] = `
"# This GitHub Actions workflow was auto-generated by the \`rdme\` cli on 2022-01-01T00:00:00.000Z
# You can view our full documentation here: https://docs.readme.com/docs/rdme
name: ReadMe GitHub Action 🦉
on:
push:
branches:
# This workflow will run every time you push code to the following branch: \`validate-test-opt-spec-github-branch\`
# Check out GitHub's docs for more info on configuring this:
# https://docs.github.com/actions/using-workflows/events-that-trigger-workflows
- validate-test-opt-spec-github-branch
jobs:
rdme-openapi-validate:
runs-on: ubuntu-latest
steps:
- name: Check out repo 📚
uses: actions/checkout@v4
- name: Run \`openapi:validate\` command 🚀
uses: readmeio/rdme@v7
with:
rdme: openapi:validate petstore.json --workingDirectory=./__tests__/__fixtures__/relative-ref-oas
"
`;

exports[`rdme openapi:validate > GHA onboarding E2E tests > should create GHA workflow if user passes in spec via opt 1`] = `
"
Your GitHub Actions workflow file has been created! ✨
Expand Down
Loading

0 comments on commit 93a989b

Please sign in to comment.