# coding: utf-8

from __future__ import absolute_import

{{#imports}}{{import}}
{{/imports}}
from . import BaseTestCase
from six import BytesIO
from flask import json


class {{#operations}}Test{{classname}}(BaseTestCase):
    """ {{classname}} integration test stubs """

   {{#operation}}
    def test_{{operationId}}(self):
        """
        Test case for {{{operationId}}}

        {{{summary}}}
        """
        {{#bodyParam}}
        {{paramName}} = {{{example}}}
        {{/bodyParam}}
        {{#queryParams}}
        {{#-first}}query_string = [{{/-first}}{{^-first}}                {{/-first}}('{{paramName}}', {{{example}}}){{#hasMore}},{{/hasMore}}{{#-last}}]{{/-last}}
        {{/queryParams}}
        {{#headerParams}}
        {{#-first}}headers = [{{/-first}}{{^-first}}           {{/-first}}('{{paramName}}', {{{example}}}){{#hasMore}},{{/hasMore}}{{#-last}}]{{/-last}}
        {{/headerParams}}
        {{#formParams}}
        {{#-first}}data = dict({{/-first}}{{^-first}}            {{/-first}}{{paramName}}={{{example}}}{{#hasMore}},{{/hasMore}}{{#-last}}){{/-last}}
        {{/formParams}}
        response = self.client.open('{{#contextPath}}{{.}}{{/contextPath}}{{path}}'{{#pathParams}}{{#-first}}.format({{/-first}}{{paramName}}={{{example}}}{{#hasMore}}, {{/hasMore}}{{^hasMore}}){{/hasMore}}{{/pathParams}},
                                    method='{{httpMethod}}'{{#bodyParam}},
                                    data=json.dumps({{paramName}}){{^consumes}},
                                    content_type='application/json'{{/consumes}}{{/bodyParam}}{{#headerParams}}{{#-first}},
                                    headers=headers{{/-first}}{{/headerParams}}{{#formParams}}{{#-first}},
                                    data=data{{/-first}}{{/formParams}}{{#consumes}}{{#-first}},
                                    content_type='{{{mediaType}}}'{{/-first}}{{/consumes}}{{#queryParams}}{{#-first}},
                                    query_string=query_string{{/-first}}{{/queryParams}})
        self.assert200(response, "Response body is : " + response.data.decode('utf-8'))

   {{/operation}}
{{/operations}}

if __name__ == '__main__':
    import unittest
    unittest.main()
