chore: re-add oas tests for generated OAS (#9036)

* chore: re-add oas tests for generated OAS

* test fix
This commit is contained in:
Shahed Nasser authored and GitHub committed 2024-09-07 08:01:22 +02:00
1 parent 7a80593b68
commit cf387aafa2
3 files changed
+45 -47

No files matched your search

+40 -38
View File
@@ -1,39 +1,41 @@
#name: OAS Comments Format Validation name: OAS Comments Format Validation
#on: on:
# pull_request: pull_request:
# paths:
#jobs: - www/utils/generated/oas-output/**
# docs-test:
# runs-on: ubuntu-latest jobs:
# env: docs-test:
# TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} runs-on: ubuntu-latest
# TURBO_TEAM: ${{ secrets.TURBO_TEAM }} env:
# steps: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
# - name: Cancel Previous Runs TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
# uses: styfle/cancel-workflow-action@0.11.0 steps:
# with: - name: Cancel Previous Runs
# access_token: ${{ github.token }} uses: styfle/cancel-workflow-action@0.11.0
# with:
# - name: Checkout access_token: ${{ github.token }}
# uses: actions/checkout@v3
# with: - name: Checkout
# fetch-depth: 0 uses: actions/checkout@v3
# with:
# - name: Setup Node.js environment fetch-depth: 0
# uses: actions/setup-node@v3
# with: - name: Setup Node.js environment
# node-version: "16.10.0" uses: actions/setup-node@v3
# cache: "yarn" with:
# node-version: "16.10.0"
# - name: Install dependencies cache: "yarn"
# uses: ./.github/actions/cache-deps
# with: - name: Install dependencies
# extension: oas uses: ./.github/actions/cache-deps
# with:
# - name: Build Packages extension: oas
# run: yarn build
# - name: Build Packages
# - name: Build OAS run: yarn build
# run: |
# yarn openapi:generate --dry-run - name: Build OAS
run: |
yarn openapi:generate --dry-run
# #
@@ -208,7 +208,7 @@ describe("command docs", () => {
configFile = path.resolve(outDir, "redocly-config.json") configFile = path.resolve(outDir, "redocly-config.json")
await writeJson(configFile, config) await writeJson(configFile, config)
configYamlFile = path.resolve(outDir, "redocly-config.yaml") configYamlFile = path.resolve(outDir, "redocly-config.yaml")
await writeYaml(configYamlFile, config) await writeYaml(configYamlFile, JSON.stringify(config))
}) })
it("should fail with unhandled circular reference", async () => { it("should fail with unhandled circular reference", async () => {
@@ -135,10 +135,12 @@ export async function execute(cliParams: OptionValues): Promise<void> {
const srcFileSanitized = path.resolve(tmpDir, "tmp.oas.yaml") const srcFileSanitized = path.resolve(tmpDir, "tmp.oas.yaml")
await sanitizeOAS(srcFile, srcFileSanitized, configTmpFile) await sanitizeOAS(srcFile, srcFileSanitized, configTmpFile)
await fixCirclularReferences(srcFileSanitized, dryRun) await fixCirclularReferences(srcFileSanitized)
if (dryRun) { if (dryRun) {
console.log(`⚫️ Dry run - no files generated`) console.log(`⚫️ Dry run - no files generated`)
// check out possible changes in redocly config
await execa("git", ["checkout", path.join(basePath, "redocly", "redocly-config.yaml")])
return return
} }
if (shouldPreview) { if (shouldPreview) {
@@ -223,7 +225,7 @@ const sanitizeOAS = async (
console.log(logs) console.log(logs)
} }
const fixCirclularReferences = async (srcFile: string, dryRun = false): Promise<void> => { const fixCirclularReferences = async (srcFile: string): Promise<void> => {
const { circularRefs, oas } = await getCircularReferences(srcFile) const { circularRefs, oas } = await getCircularReferences(srcFile)
if (circularRefs.length) { if (circularRefs.length) {
const recommendation = getCircularPatchRecommendation(circularRefs, oas) const recommendation = getCircularPatchRecommendation(circularRefs, oas)
@@ -234,12 +236,6 @@ const fixCirclularReferences = async (srcFile: string, dryRun = false): Promise<
${hint} ${hint}
### ###
` `
if (dryRun) {
throw new Error(
`🔴 Unhandled circular references - Please manually patch using --config ./redocly-config.yaml
Within redocly-config.yaml, try adding the following:` + hintMessage
)
}
const redoclyConfigPath = path.join(basePath, "redocly", "redocly-config.yaml") const redoclyConfigPath = path.join(basePath, "redocly", "redocly-config.yaml")
const originalContent = await readYaml(redoclyConfigPath) as CircularReferenceConfig const originalContent = await readYaml(redoclyConfigPath) as CircularReferenceConfig
originalContent.decorators["medusa/circular-patch"].schemas = Object.assign( originalContent.decorators["medusa/circular-patch"].schemas = Object.assign(