chore: re-add oas tests for generated OAS (#9036)
* chore: re-add oas tests for generated OAS * test fix
This commit is contained in:
1 parent
7a80593b68
commit
cf387aafa2
3 files changed
+45
-47
No files matched your search
@@ -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(
|
||||||
|
|||||||
Reference in new issue
Block a user