Compare commits
5
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
98fdca67c9 | ||
|
|
0cd3f43fec | ||
|
|
3f06bb50fb | ||
|
|
f7001f8011 | ||
|
|
742f4bcfb3 |
@@ -13,11 +13,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"extends": ["eslint:recommended", "plugin:react/recommended"],
|
"extends": [
|
||||||
|
"eslint:recommended",
|
||||||
|
"plugin:react/recommended"
|
||||||
|
],
|
||||||
|
|
||||||
"plugins": [
|
"plugins": [
|
||||||
"react",
|
"react",
|
||||||
"mocha"
|
"mocha",
|
||||||
|
"import"
|
||||||
],
|
],
|
||||||
|
|
||||||
"rules": {
|
"rules": {
|
||||||
@@ -34,6 +38,7 @@
|
|||||||
"no-console": ["error", { allow: ["warn", "error"] }],
|
"no-console": ["error", { allow: ["warn", "error"] }],
|
||||||
"react/jsx-no-bind": 1,
|
"react/jsx-no-bind": 1,
|
||||||
"react/display-name": 0,
|
"react/display-name": 0,
|
||||||
"mocha/no-exclusive-tests": "error"
|
"mocha/no-exclusive-tests": "error",
|
||||||
|
"import/no-extraneous-dependencies": [2]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -30,7 +30,7 @@
|
|||||||
"lint-fix": "eslint --cache --ext '.js,.jsx' src test --fix",
|
"lint-fix": "eslint --cache --ext '.js,.jsx' src test --fix",
|
||||||
"test": "run-s just-test-in-node lint-errors",
|
"test": "run-s just-test-in-node lint-errors",
|
||||||
"test-in-node": "run-s lint-errors just-test-in-node",
|
"test-in-node": "run-s lint-errors just-test-in-node",
|
||||||
"just-test-in-node": "mocha --require test/setup.js --recursive --compilers js:babel-core/register test/core test/components test/bugs test/swagger-ui-dist-package test/xss",
|
"just-test-in-node": "mocha --require test/setup.js --recursive --compilers js:babel-core/register --require source-map-support test/core test/components test/bugs test/swagger-ui-dist-package test/xss",
|
||||||
"just-check-coverage": "nyc npm run just-test-in-node",
|
"just-check-coverage": "nyc npm run just-test-in-node",
|
||||||
"test-e2e": "sleep 3 && nightwatch test/e2e/scenarios/ --config test/e2e/nightwatch.json",
|
"test-e2e": "sleep 3 && nightwatch test/e2e/scenarios/ --config test/e2e/nightwatch.json",
|
||||||
"e2e-initial-render": "nightwatch test/e2e/scenarios/ --config test/e2e/nightwatch.json --group initial-render",
|
"e2e-initial-render": "nightwatch test/e2e/scenarios/ --config test/e2e/nightwatch.json --group initial-render",
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
"redux": "^3.x.x",
|
"redux": "^3.x.x",
|
||||||
"redux-immutable": "3.0.8",
|
"redux-immutable": "3.0.8",
|
||||||
"remarkable": "^1.7.1",
|
"remarkable": "^1.7.1",
|
||||||
"reselect": "^3.0.1",
|
"reselect": "^2.5.4",
|
||||||
"serialize-error": "^2.1.0",
|
"serialize-error": "^2.1.0",
|
||||||
"swagger-client": "^3.8.7",
|
"swagger-client": "^3.8.7",
|
||||||
"url-parse": "^1.1.8",
|
"url-parse": "^1.1.8",
|
||||||
@@ -100,7 +100,7 @@
|
|||||||
"deepmerge": "^2.1.0",
|
"deepmerge": "^2.1.0",
|
||||||
"enzyme": "^2.7.1",
|
"enzyme": "^2.7.1",
|
||||||
"eslint": "^4.1.1",
|
"eslint": "^4.1.1",
|
||||||
"eslint-plugin-import": "^2.6.0",
|
"eslint-plugin-import": "^2.13.0",
|
||||||
"eslint-plugin-mocha": "^4.11.0",
|
"eslint-plugin-mocha": "^4.11.0",
|
||||||
"eslint-plugin-react": "~7.7.0",
|
"eslint-plugin-react": "~7.7.0",
|
||||||
"expect": "^1.20.2",
|
"expect": "^1.20.2",
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"rules": {
|
||||||
|
"import/no-extraneous-dependencies": [
|
||||||
|
2,
|
||||||
|
{
|
||||||
|
"devDependencies": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,8 +21,8 @@ export default class TryItOutButton extends React.Component {
|
|||||||
return (
|
return (
|
||||||
<div className="try-out">
|
<div className="try-out">
|
||||||
{
|
{
|
||||||
enabled ? <button className="btn try-out__btn cancel" onClick={ onTryoutClick }>Cancel</button>
|
enabled ? <button className="btn try-out__btn cancel" onClick={ onCancelClick }>Cancel</button>
|
||||||
: <button className="btn try-out__btn" onClick={ onCancelClick }>Try it out </button>
|
: <button className="btn try-out__btn" onClick={ onTryoutClick }>Try it out </button>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -113,11 +113,11 @@ export default class OperationContainer extends PureComponent {
|
|||||||
layoutActions.show(["operations", tag, operationId], !isShown)
|
layoutActions.show(["operations", tag, operationId], !isShown)
|
||||||
}
|
}
|
||||||
|
|
||||||
onTryoutClick =() => {
|
onCancelClick=() => {
|
||||||
this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})
|
this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})
|
||||||
}
|
}
|
||||||
|
|
||||||
onCancelClick =() => {
|
onTryoutClick =() => {
|
||||||
let { specActions, path, method } = this.props
|
let { specActions, path, method } = this.props
|
||||||
this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})
|
this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})
|
||||||
specActions.clearValidateParams([path, method])
|
specActions.clearValidateParams([path, method])
|
||||||
|
|||||||
@@ -2,16 +2,20 @@ import React from "react"
|
|||||||
|
|
||||||
export function isOAS3(jsSpec) {
|
export function isOAS3(jsSpec) {
|
||||||
const oasVersion = jsSpec.get("openapi")
|
const oasVersion = jsSpec.get("openapi")
|
||||||
if(!oasVersion) {
|
if(typeof oasVersion !== "string") {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
return oasVersion.startsWith("3.0.")
|
// we gate against `3.1` becasue we want to explicitly opt into supporting it
|
||||||
|
// at some point in the future -- KS, 7/2018
|
||||||
|
|
||||||
|
// starts with, but is not `3.0.` exactly
|
||||||
|
return oasVersion.startsWith("3.0.") && oasVersion.length > 4
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isSwagger2(jsSpec) {
|
export function isSwagger2(jsSpec) {
|
||||||
const swaggerVersion = jsSpec.get("swagger")
|
const swaggerVersion = jsSpec.get("swagger")
|
||||||
if(!swaggerVersion) {
|
if(typeof swaggerVersion !== "string") {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,68 @@
|
|||||||
|
import { fromJS } from "immutable"
|
||||||
|
import { isOAS3, isSwagger2 } from "corePlugins/oas3/helpers"
|
||||||
|
import expect from "expect"
|
||||||
|
|
||||||
|
const isOAS3Shorthand = (version) => isOAS3(fromJS({
|
||||||
|
openapi: version
|
||||||
|
}))
|
||||||
|
|
||||||
|
const isSwagger2Shorthand = (version) => isSwagger2(fromJS({
|
||||||
|
swagger: version
|
||||||
|
}))
|
||||||
|
|
||||||
|
describe("isOAS3", function () {
|
||||||
|
it("should recognize valid OAS3 version values", function () {
|
||||||
|
expect(isOAS3Shorthand("3.0.0")).toEqual(true)
|
||||||
|
expect(isOAS3Shorthand("3.0.1")).toEqual(true)
|
||||||
|
expect(isOAS3Shorthand("3.0.11111")).toEqual(true)
|
||||||
|
expect(isOAS3Shorthand("3.0.0-rc0")).toEqual(true)
|
||||||
|
})
|
||||||
|
|
||||||
|
it("should fail for invalid OAS3 version values", function () {
|
||||||
|
expect(isOAS3Shorthand("3.0")).toEqual(false)
|
||||||
|
expect(isOAS3Shorthand("3.0.")).toEqual(false)
|
||||||
|
expect(isOAS3Shorthand("2.0")).toEqual(false)
|
||||||
|
})
|
||||||
|
|
||||||
|
it("should gracefully fail for non-string values", function () {
|
||||||
|
expect(isOAS3Shorthand(3.0)).toEqual(false)
|
||||||
|
expect(isOAS3Shorthand(3)).toEqual(false)
|
||||||
|
expect(isOAS3Shorthand({})).toEqual(false)
|
||||||
|
expect(isOAS3Shorthand(null)).toEqual(false)
|
||||||
|
})
|
||||||
|
|
||||||
|
it("should gracefully fail when `openapi` field is missing", function () {
|
||||||
|
expect(isOAS3(fromJS({
|
||||||
|
openApi: "3.0.0"
|
||||||
|
}))).toEqual(false)
|
||||||
|
expect(isOAS3Shorthand(null)).toEqual(false)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe("isSwagger2", function () {
|
||||||
|
it("should recognize valid Swagger 2.0 version values", function () {
|
||||||
|
expect(isSwagger2Shorthand("2.0")).toEqual(true)
|
||||||
|
expect(isSwagger2Shorthand("2.0-rc0")).toEqual(true)
|
||||||
|
})
|
||||||
|
|
||||||
|
it("should fail for invalid Swagger 2.0 version values", function () {
|
||||||
|
expect(isSwagger2Shorthand("3.0")).toEqual(false)
|
||||||
|
expect(isSwagger2Shorthand("3.0.")).toEqual(false)
|
||||||
|
expect(isSwagger2Shorthand("2.1")).toEqual(false)
|
||||||
|
expect(isSwagger2Shorthand("1.2")).toEqual(false)
|
||||||
|
expect(isSwagger2Shorthand("2")).toEqual(false)
|
||||||
|
})
|
||||||
|
|
||||||
|
it("should gracefully fail for non-string values", function () {
|
||||||
|
expect(isSwagger2Shorthand(2.0)).toEqual(false)
|
||||||
|
expect(isSwagger2Shorthand(2)).toEqual(false)
|
||||||
|
expect(isSwagger2Shorthand({})).toEqual(false)
|
||||||
|
expect(isSwagger2Shorthand(null)).toEqual(false)
|
||||||
|
})
|
||||||
|
|
||||||
|
it("should gracefully fail when `swagger` field is missing", function () {
|
||||||
|
expect(isSwagger2(fromJS({
|
||||||
|
Swagger: "2.0"
|
||||||
|
}))).toEqual(false)
|
||||||
|
})
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user