コード例 #1
0
ファイル: test_references.py プロジェクト: crunk1/connexion
def test_resolve_invalid_reference(api):
    op_spec = {
        'operationId': 'fakeapi.hello.post_greeting',
        'parameters': [{'$ref': '/parameters/fail'}]
    }

    with pytest.raises(RefResolutionError) as exc_info:
        resolve_refs(op_spec, {
            "parameters": PARAMETER_DEFINITIONS
        })

    exception = exc_info.value
    assert "parameters/fail" in str(exception)
コード例 #2
0
def test_resolve_invalid_reference(api):
    op_spec = {
        'operationId': 'fakeapi.hello.post_greeting',
        'parameters': [{
            '$ref': '/parameters/fail'
        }]
    }

    with pytest.raises(RefResolutionError) as exc_info:
        resolve_refs(op_spec, {"parameters": PARAMETER_DEFINITIONS})

    exception = exc_info.value
    assert "parameters/fail" in str(exception)
コード例 #3
0
ファイル: test_references.py プロジェクト: imfht/flaskapps
def test_non_existent_reference(api):
    op_spec = {
        'parameters': [{
            'in': 'body',
            'name': 'new_stack',
            'required': True,
            'schema': {'$ref': '#/definitions/new_stack'}
        }]
    }
    with pytest.raises(RefResolutionError) as exc_info:  # type: py.code.ExceptionInfo
        resolve_refs(op_spec, {})

    exception = exc_info.value
    assert "definitions/new_stack" in str(exception)
コード例 #4
0
ファイル: test_references.py プロジェクト: crunk1/connexion
def test_non_existent_reference(api):
    op_spec = {
        'parameters': [{
            'in': 'body',
            'name': 'new_stack',
            'required': True,
            'schema': {'$ref': '#/definitions/new_stack'}
        }]
    }
    with pytest.raises(RefResolutionError) as exc_info:  # type: py.code.ExceptionInfo
        resolve_refs(op_spec, {})

    exception = exc_info.value
    assert "definitions/new_stack" in str(exception)
コード例 #5
0
ファイル: test_references.py プロジェクト: imfht/flaskapps
def test_invalid_reference(api):
    op_spec = {
        'parameters': [{
            'in': 'body',
            'name': 'new_stack',
            'required': True,
            'schema': {'$ref': '#/notdefinitions/new_stack'}
        }]
    }

    with pytest.raises(RefResolutionError) as exc_info:  # type: py.code.ExceptionInfo
        resolve_refs(op_spec, {
            "definitions": DEFINITIONS,
            "parameters": PARAMETER_DEFINITIONS
        })

    exception = exc_info.value
    assert "notdefinitions/new_stack" in str(exception)
コード例 #6
0
ファイル: test_references.py プロジェクト: crunk1/connexion
def test_invalid_reference(api):
    op_spec = {
        'parameters': [{
            'in': 'body',
            'name': 'new_stack',
            'required': True,
            'schema': {'$ref': '#/notdefinitions/new_stack'}
        }]
    }

    with pytest.raises(RefResolutionError) as exc_info:  # type: py.code.ExceptionInfo
        resolve_refs(op_spec, {
            "definitions": DEFINITIONS,
            "parameters": PARAMETER_DEFINITIONS
        })

    exception = exc_info.value
    assert "notdefinitions/new_stack" in str(exception)
コード例 #7
0
ファイル: test_operation2.py プロジェクト: zenland/connexion
def make_operation(op, definitions=True, parameters=True):
    """ note the wrapper because definitions namespace and
        operation namespace collide
    """
    new_op = {"wrapper": copy.deepcopy(op)}
    if definitions:
        new_op.update({"definitions": DEFINITIONS})
    if parameters:
        new_op.update({"parameters": PARAMETER_DEFINITIONS})
    return resolve_refs(new_op)["wrapper"]
コード例 #8
0
def test_resolve_web_reference(api):
    op_spec = {
        'parameters': [{
            '$ref': 'https://reallyfake.asd/parameters.json'
        }]
    }
    store = {"https://reallyfake.asd/parameters.json": {"name": "test"}}

    spec = resolve_refs(op_spec, store=store)
    assert spec["parameters"][0]["name"] == "test"
コード例 #9
0
ファイル: test_operation2.py プロジェクト: zalando/connexion
def make_operation(op, definitions=True, parameters=True):
    """ note the wrapper because definitions namespace and
        operation namespace collide
    """
    new_op = {"wrapper": copy.deepcopy(op)}
    if definitions:
        new_op.update({"definitions": DEFINITIONS})
    if parameters:
        new_op.update({"parameters": PARAMETER_DEFINITIONS})
    return resolve_refs(new_op)["wrapper"]
コード例 #10
0
ファイル: test_references.py プロジェクト: crunk1/connexion
def test_resolve_web_reference(api):
    op_spec = {
        'parameters': [{'$ref': 'https://reallyfake.asd/parameters.json'}]
    }
    store = {
        "https://reallyfake.asd/parameters.json": {"name": "test"}
    }

    spec = resolve_refs(op_spec, store=store)
    assert spec["parameters"][0]["name"] == "test"
コード例 #11
0
 def __init__(self, raw_spec):
     # Disable validation
     self._raw_spec = copy.deepcopy(raw_spec)
     self._set_defaults(raw_spec)
     #self._validate_spec(raw_spec)
     self._spec = resolve_refs(raw_spec)