@@ -202,6 +202,10 @@ export const sampleFromSchemaGeneric = (schema, config={}, exampleOverride = und | |||||
if (schema && props[propName] && props[propName].writeOnly && !includeWriteOnly) { | if (schema && props[propName] && props[propName].writeOnly && !includeWriteOnly) { | ||||
continue | continue | ||||
} | } | ||||
if (schema && props[propName] && props[propName].xml && props[propName].xml.attribute && !(example && example[propName])) { | |||||
_attr[props[propName].xml.name || propName] = sample[propName] | |||||
continue | |||||
} | |||||
if (schema && props[propName] && props[propName].xml && props[propName].xml.attribute) { | if (schema && props[propName] && props[propName].xml && props[propName].xml.attribute) { | ||||
_attr[props[propName].xml.name || propName] = example[propName] | _attr[props[propName].xml.name || propName] = example[propName] | ||||
continue | continue | ||||
@@ -0,0 +1,41 @@ | |||||
openapi: 3.0.1 | |||||
info: | |||||
title: XML array schema with array-level example | |||||
version: 1.0.0 | |||||
paths: | |||||
/users: | |||||
get: | |||||
responses: | |||||
"200": | |||||
description: '' | |||||
content: | |||||
application/xml: | |||||
schema: | |||||
$ref: '#/components/schemas/Users' | |||||
components: | |||||
schemas: | |||||
Users: | |||||
type: array | |||||
example: | |||||
- id: 123 | |||||
name: bob | |||||
- id: 456 | |||||
name: jane | |||||
xml: | |||||
name: Users | |||||
wrapped: true | |||||
items: | |||||
type: object | |||||
xml: | |||||
name: User | |||||
properties: | |||||
id: | |||||
type: integer | |||||
xml: | |||||
attribute: true | |||||
name: | |||||
type: string | |||||
xml: | |||||
attribute: true |
@@ -0,0 +1,11 @@ | |||||
describe("#6627: XML example when defined as array", () => { | |||||
it("should render xml like json", () => { | |||||
const expected = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Users>\n\t<User id=\"123\" name=\"bob\">\n\t</User>\n\t<User id=\"456\" name=\"jane\">\n\t</User>\n</Users>" | |||||
cy | |||||
.visit("/?url=/documents/bugs/6627.yaml") | |||||
.get("#operations-default-get_users") | |||||
.click() | |||||
.get(".microlight") | |||||
.contains(expected) | |||||
}) | |||||
}) |