python-aiohttp.controller_test.mustache Maven / Gradle / Ivy
# coding: utf-8
import pytest
import json
from aiohttp import web
{{#operations}}
{{#operation}}
{{#isMultipart}}
from aiohttp import FormData
{{/isMultipart}}
{{/operation}}
{{/operations}}
{{#imports}}{{import}}
{{/imports}}
{{#operations}}
{{#operation}}
pytestmark = pytest.mark.asyncio
{{#vendorExtensions.x-skip-test}}
@pytest.mark.skip("{{reason}}")
{{/vendorExtensions.x-skip-test}}
async def test_{{operationId}}(client):
"""Test case for {{{operationId}}}
{{{summary}}}
"""
{{#bodyParam}}
{{paramName}} = {{{example}}}
{{/bodyParam}}
{{#queryParams}}
{{#-first}}params = [{{/-first}}{{^-first}} {{/-first}}('{{^vendorExtensions.x-python-connexion-openapi-name}}{{paramName}}{{/vendorExtensions.x-python-connexion-openapi-name}}{{#vendorExtensions.x-python-connexion-openapi-name}}{{vendorExtensions.x-python-connexion-openapi-name}}{{/vendorExtensions.x-python-connexion-openapi-name}}', {{{example}}}){{^-last}},{{/-last}}{{#-last}}]{{/-last}}
{{/queryParams}}
headers = { {{#vendorExtensions.x-preferred-produce}}
'Accept': '{{{mediaType}}}',{{/vendorExtensions.x-preferred-produce}}{{#vendorExtensions.x-preferred-consume}}
'Content-Type': '{{{mediaType}}}',{{/vendorExtensions.x-preferred-consume}}{{#headerParams}}
'{{paramName}}': {{{example}}},{{/headerParams}}{{#authMethods}}
{{#isOAuth}}'Authorization': 'Bearer special-key',{{/isOAuth}}{{#isApiKey}}'{{name}}': 'special-key',{{/isApiKey}}{{#isBasicBasic}}'Authorization': 'BasicZm9vOmJhcg==',{{/isBasicBasic}}{{#isBasicBearer}}'Authorization': 'Bearer special-key',{{/isBasicBearer}}{{/authMethods}}
}
{{#formParams}}
{{#isMultipart}}
{{#-first}}
data = FormData()
{{/-first}}
data.add_field('{{paramName}}', {{{example}}})
{{/isMultipart}}
{{^isMultipart}}
{{#-first}}
data = {
{{/-first}}
'{{paramName}}': {{{example}}}{{^-last}},{{/-last}}
{{#-last}}
}
{{/-last}}
{{/isMultipart}}
{{/formParams}}
response = await client.request(
method='{{httpMethod}}',
path='{{{contextPath}}}{{{path}}}'{{#pathParams}}{{#-first}}.format({{/-first}}{{paramName}}={{{example}}}{{^-last}}, {{/-last}}{{#-last}}){{/-last}}{{/pathParams}},
headers=headers,{{#bodyParam}}
json={{paramName}},{{/bodyParam}}{{#formParams}}{{#-first}}
data=data,{{/-first}}{{/formParams}}{{#queryParams}}{{#-first}}
params=params,{{/-first}}{{/queryParams}}
)
assert response.status == 200, 'Response body is : ' + (await response.read()).decode('utf-8')
{{/operation}}
{{/operations}}