-
-
Notifications
You must be signed in to change notification settings - Fork 446
/
Copy pathmapping_test.go
58 lines (54 loc) · 1.11 KB
/
mapping_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package openapi3
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestMapping(t *testing.T) {
schema := `
openapi: 3.0.0
info:
title: ACME
version: 1.0.0
components:
schemas:
Pet:
type: object
required:
- petType
properties:
petType:
type: string
discriminator:
propertyName: petType
mapping:
dog: Dog
Cat:
allOf:
- $ref: '#/components/schemas/Pet'
- type: object
# all other properties specific to a Cat
properties:
name:
type: string
Dog:
allOf:
- $ref: '#/components/schemas/Pet'
- type: object
# all other properties specific to a Dog
properties:
bark:
type: string
Lizard:
allOf:
- $ref: '#/components/schemas/Pet'
- type: object
# all other properties specific to a Lizard
properties:
lovesRocks:
type: boolean
`
loader := NewLoader()
loader.IsExternalRefsAllowed = true
_, err := loader.LoadFromData([]byte(schema))
require.NoError(t, err)
}