allOf.json 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. [
  2. {
  3. "description": "allOf",
  4. "schema": {
  5. "allOf": [
  6. {
  7. "properties": {
  8. "bar": {"type": "integer"}
  9. },
  10. "required": ["bar"]
  11. },
  12. {
  13. "properties": {
  14. "foo": {"type": "string"}
  15. },
  16. "required": ["foo"]
  17. }
  18. ]
  19. },
  20. "tests": [
  21. {
  22. "description": "allOf",
  23. "data": {"foo": "baz", "bar": 2},
  24. "valid": true
  25. },
  26. {
  27. "description": "mismatch second",
  28. "data": {"foo": "baz"},
  29. "valid": false
  30. },
  31. {
  32. "description": "mismatch first",
  33. "data": {"bar": 2},
  34. "valid": false
  35. },
  36. {
  37. "description": "wrong type",
  38. "data": {"foo": "baz", "bar": "quux"},
  39. "valid": false
  40. }
  41. ]
  42. },
  43. {
  44. "description": "allOf with base schema",
  45. "schema": {
  46. "properties": {"bar": {"type": "integer"}},
  47. "required": ["bar"],
  48. "allOf" : [
  49. {
  50. "properties": {
  51. "foo": {"type": "string"}
  52. },
  53. "required": ["foo"]
  54. },
  55. {
  56. "properties": {
  57. "baz": {"type": "null"}
  58. },
  59. "required": ["baz"]
  60. }
  61. ]
  62. },
  63. "tests": [
  64. {
  65. "description": "valid",
  66. "data": {"foo": "quux", "bar": 2, "baz": null},
  67. "valid": true
  68. },
  69. {
  70. "description": "mismatch base schema",
  71. "data": {"foo": "quux", "baz": null},
  72. "valid": false
  73. },
  74. {
  75. "description": "mismatch first allOf",
  76. "data": {"bar": 2, "baz": null},
  77. "valid": false
  78. },
  79. {
  80. "description": "mismatch second allOf",
  81. "data": {"foo": "quux", "bar": 2},
  82. "valid": false
  83. },
  84. {
  85. "description": "mismatch both",
  86. "data": {"bar": 2},
  87. "valid": false
  88. }
  89. ]
  90. },
  91. {
  92. "description": "allOf simple types",
  93. "schema": {
  94. "allOf": [
  95. {"maximum": 30},
  96. {"minimum": 20}
  97. ]
  98. },
  99. "tests": [
  100. {
  101. "description": "valid",
  102. "data": 25,
  103. "valid": true
  104. },
  105. {
  106. "description": "mismatch one",
  107. "data": 35,
  108. "valid": false
  109. }
  110. ]
  111. }
  112. ]