本文整理汇总了Python中pyswagger.SwaggerApp类的典型用法代码示例。如果您正苦于以下问题:Python SwaggerApp类的具体用法?Python SwaggerApp怎么用?Python SwaggerApp使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SwaggerApp类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_parameter
def test_parameter(self):
""" Parameter -> Parameter
"""
# body
o = self.app.root.paths['/api/pet/{petId}'].patch
p = [p for p in o.parameters if getattr(p, 'in') == 'body'][0]
self.assertEqual(getattr(p, 'in'), 'body')
self.assertEqual(p.required, True)
self.assertEqual(getattr(p.schema, '$ref'), _pf('/definitions/pet!##!Pet'))
# form
o = self.app.root.paths['/api/pet/uploadImage'].post
p = [p for p in o.parameters if getattr(p, 'in') == 'formData' and p.type == 'string'][0]
self.assertEqual(p.name, 'additionalMetadata')
self.assertEqual(p.required, False)
# file
o = self.app.root.paths['/api/pet/uploadImage'].post
p = [p for p in o.parameters if getattr(p, 'in') == 'formData' and p.type == 'file'][0]
self.assertEqual(p.name, 'file')
self.assertEqual(p.required, False)
# non-body can't have $ref
try:
SwaggerApp._create_(get_test_data_folder(
version='1.2',
which='upgrade_parameter'
))
except errs.SchemaError as e:
self.failUnlessEqual(e.args, ("Can't have $ref in non-body Parameters",))
else:
self.fail('SchemaError not raised')
示例2: test_parameter
def test_parameter(self):
""" Parameter -> Parameter
"""
# body
o = self.app.root.paths["/api/pet/{petId}"].patch
p = [p for p in o.parameters if getattr(p, "in") == "body"][0]
self.assertEqual(getattr(p, "in"), "body")
self.assertEqual(p.required, True)
self.assertEqual(getattr(p.schema, "norm_ref"), _pf("/definitions/pet!##!Pet"))
# form
o = self.app.root.paths["/api/pet/uploadImage"].post
p = [p for p in o.parameters if getattr(p, "in") == "formData" and p.type == "string"][0]
self.assertEqual(p.name, "additionalMetadata")
self.assertEqual(p.required, False)
# file
o = self.app.root.paths["/api/pet/uploadImage"].post
p = [p for p in o.parameters if getattr(p, "in") == "formData" and p.type == "file"][0]
self.assertEqual(p.name, "file")
self.assertEqual(p.required, False)
# non-body can't have $ref
try:
SwaggerApp._create_(get_test_data_folder(version="1.2", which="upgrade_parameter"))
except errs.SchemaError as e:
self.failUnlessEqual(e.args, ("Can't have $ref in non-body Parameters",))
else:
self.fail("SchemaError not raised")
示例3: test_load
def test_load(self):
""" make sure the result of yaml and json are identical """
app_json = SwaggerApp.load(get_test_data_folder(
version='2.0',
which='wordnik'
))
app_yaml = SwaggerApp.load(get_test_data_folder(
version='2.0',
which='yaml',
)
)
s = Scanner(app_yaml)
s.scan(route=[YamlFixer()], root=app_yaml.raw, leaves=[Operation])
self.assertEqual((True, ''), app_json.raw.compare(app_yaml.raw))
示例4: test_v2_0
def test_v2_0(self):
""" convert from 2.0 to 2.0 """
path = get_test_data_folder(version="2.0", which="wordnik")
app = SwaggerApp.create(path)
# load swagger.json into dict
origin = None
with open(os.path.join(path, "swagger.json")) as r:
origin = json.loads(r.read())
# diff for empty list or dict is allowed
d = app.dump()
self.assertEqual(
sorted(_diff_(origin, d, exclude=["$ref"])),
sorted(
[
("paths/~1pet~1{petId}/get/security/0/api_key", "list", "NoneType"),
("paths/~1store~1inventory/get/parameters", None, None),
("paths/~1store~1inventory/get/security/0/api_key", "list", "NoneType"),
("paths/~1user~1logout/get/parameters", None, None),
]
),
)
# try to load the dumped dict back, to see if anything wrong
tmp = {"_tmp_": {}}
with SwaggerContext(tmp, "_tmp_") as ctx:
ctx.parse(d)
示例5: test_primfactory
def test_primfactory(self):
app = SwaggerApp.create(
get_test_data_folder(version="2.0", which=os.path.join("circular", "schema")), strict=False
)
s = app.resolve("#/definitions/s1")
self.assertRaises(errs.CycleDetectionError, app.prim_factory.produce, s, {})
示例6: test_deref
def test_deref(self):
app = SwaggerApp.create(
get_test_data_folder(version="2.0", which=os.path.join("circular", "schema")), strict=False
)
s = app.resolve("#/definitions/s1")
self.assertRaises(errs.CycleDetectionError, utils.deref, s)
示例7: test_schema
def test_schema(self):
folder = get_test_data_folder(version="2.0", which=os.path.join("circular", "schema"))
def _pf(s):
return six.moves.urllib.parse.urlunparse(("file", "", folder, "", "", s))
app = SwaggerApp.load(folder)
app.prepare(strict=False)
s = Scanner(app)
c = CycleDetector()
s.scan(root=app.raw, route=[c])
self.maxDiff = None
self.assertEqual(
sorted(c.cycles["schema"]),
sorted(
[
[_pf("/definitions/s10"), _pf("/definitions/s11"), _pf("/definitions/s9"), _pf("/definitions/s10")],
[_pf("/definitions/s5"), _pf("/definitions/s5")],
[
_pf("/definitions/s1"),
_pf("/definitions/s2"),
_pf("/definitions/s3"),
_pf("/definitions/s4"),
_pf("/definitions/s1"),
],
[_pf("/definitions/s12"), _pf("/definitions/s13"), _pf("/definitions/s12")],
[_pf("/definitions/s6"), _pf("/definitions/s7"), _pf("/definitions/s6")],
[_pf("/definitions/s14"), _pf("/definitions/s15"), _pf("/definitions/s14")],
]
),
)
示例8: test_authorization
def test_authorization(self):
"""
"""
app = SwaggerApp.create(get_test_data_folder(
version='1.2', which='simple_auth')
)
expect = {
'type':'apiKey',
'in':'query',
'name':'simpleQK'
}
self.assertEqual(_diff_(
expect,
app.resolve('#/securityDefinitions/simple_key').dump()
), [])
expect = {
'type':'apiKey',
'in':'header',
'name':'simpleHK'
}
self.assertEqual(_diff_(
expect,
app.resolve('#/securityDefinitions/simple_key2').dump()
), [])
expect = {
'type':'basic',
}
self.assertEqual(_diff_(
expect,
app.resolve('#/securityDefinitions/simple_basic').dump()
), [])
示例9: setUpClass
def setUpClass(kls):
kls.app = SwaggerApp.load(get_test_data_folder(
version='2.0',
which='bitbucket'
))
# bypass cyclic testing
kls.app.prepare(strict=False)
示例10: setUpClass
def setUpClass(kls):
global folder
kls.app = SwaggerApp.load(
url='file:///root/swagger.json',
url_load_hook=_hook
)
kls.app.prepare()
示例11: setUpClass
def setUpClass(kls):
kls.app = SwaggerApp.load(get_test_data_folder(
version='1.2', which='wordnik'), sep=':'
)
kls.app.prepare()
with open('./test.json', 'w') as r:
r.write(json.dumps(kls.app.dump(), indent=3))
示例12: test_relative_schema
def test_relative_schema(self):
""" test case for issue#53,
relative file, which root is a Schema Object
"""
app = SwaggerApp.load(
url="file:///relative/internal.yaml",
url_load_hook=_gen_hook(get_test_data_folder(version="2.0", which="ex")),
)
app.prepare()
示例13: test_item
def test_item(self):
""" make sure to raise exception for invalid item
"""
try:
SwaggerApp._create_(get_test_data_folder(version="1.2", which=os.path.join("upgrade_items", "with_ref")))
except errs.SchemaError as e:
self.failUnlessEqual(e.args, ("Can't have $ref for Items",))
else:
self.fail("SchemaError not raised")
try:
SwaggerApp._create_(
get_test_data_folder(version="1.2", which=os.path.join("upgrade_items", "invalid_primitive"))
)
except errs.SchemaError as e:
self.failUnlessEqual(e.args, ("Non primitive type is not allowed for Items",))
else:
self.fail("SchemaError not raised")
示例14: test_model_inheritance
def test_model_inheritance(self):
"""
"""
app = SwaggerApp.load(get_test_data_folder(version="1.2", which="model_subtypes"), sep=":")
app.prepare()
expect = {"allOf": [{"$ref": u"#/definitions/user:User"}]}
self.assertEqual(_diff_(expect, app.resolve("#/definitions/user:UserWithInfo").dump(), include=["allOf"]), [])
示例15: test_overwrite
def test_overwrite(self):
""" overrite type/format handler used in pyswagger """
m1 = self.app.resolve("#/definitions/m1")
v = m1._prim_({"job": "man"}, self.app.prim_factory)
# should not raise
self.assertEqual(v.job, "man")
app = SwaggerApp.create(get_test_data_folder(version="2.0", which=os.path.join("schema", "extension")))
m1 = app.resolve("#/definitions/m1")
self.assertRaises(errs.ValidationError, m1._prim_, {"job": "man"}, app.prim_factory)