예제 #1
0
 def test_app_initialized_by_init_app(self):
     app = Flask(__name__)
     autodoc = Autodoc()
     autodoc.init_app(app)
     with app.app_context():
         with current_app.test_request_context():
             autodoc.html()
예제 #2
0
class TestMultipleApps(unittest.TestCase):
    def setUp(self):
        self.app1 = Flask(__name__)
        self.app2 = Flask(__name__)
        self.autodoc = Autodoc()
        self.autodoc.init_app(self.app1)
        self.autodoc.init_app(self.app2)

    def testGet(self):
        @self.app1.route('/')
        @self.autodoc.doc()
        def index():
            """Returns a hello world message"""
            return 'Hello World!'

        @self.app2.route('/goodbye')
        @self.autodoc.doc()
        def goodbye():
            """Returns a goodbye message"""
            return 'TTFN!'

        with self.app1.app_context():
            doc = self.autodoc.generate()
        self.assertTrue(len(doc) == 1)
        d = doc[0]
        self.assertIn('GET', d['methods'])
        self.assertNotIn('POST', d['methods'])
        self.assertEqual(d['rule'], '/')
        self.assertEqual(d['endpoint'], 'index')
        self.assertEqual(d['docstring'], 'Returns a hello world message')

        with self.app2.app_context():
            doc = self.autodoc.generate()
        self.assertTrue(len(doc) == 1)
        d = doc[0]
        self.assertIn('GET', d['methods'])
        self.assertNotIn('POST', d['methods'])
        self.assertEqual(d['rule'], '/goodbye')
        self.assertEqual(d['endpoint'], 'goodbye')
        self.assertEqual(d['docstring'], 'Returns a goodbye message')
예제 #3
0
class TestAutodocTwoApps(unittest.TestCase):
    def setUp(self):
        self.app_1 = Flask(__name__)
        self.app_2 = Flask(__name__)
        self.autodoc = Autodoc()
        self.autodoc.init_app(self.app_1)
        self.autodoc.init_app(self.app_2)

    def test_endpoint_on_one_app(self):
        @self.app_1.route('/')
        @self.autodoc.doc()
        def index():
            """Returns a hello world message"""
            return 'Hello World!'

        with self.app_2.app_context():
            with current_app.test_request_context():
                response = self.autodoc.json()

        data = json.loads(response.data.decode('utf-8'))
        self.assertIn('endpoints', data)
        self.assertEqual(data['endpoints'], [])
예제 #4
0
class TestAutodocFactoryPattern(TestAutodoc):
    def setUp(self):
        self.app = Flask(__name__)
        self.autodoc = Autodoc()
        self.autodoc.init_app(self.app)
예제 #5
0
class TestAutodocWithFlaskFactory(TestAutodocWithFlask):
    def setup_app(self):
        self.app = Flask(__name__)
        self.autodoc = Autodoc()
        self.autodoc.init_app(self.app)