bottle-sqlite/test.py
Iuri de Silvio e0d85fbc44 Make it work with two plugins.
bottle>=0.10 changed behaviour to replace plugins with the same name,
so I have to patch the name if a plugin with the same name already
exists.
2014-03-29 15:29:16 -03:00

46 lines
1.3 KiB
Python

import unittest
import os
import bottle
from bottle.ext import sqlite
import sqlite3
class SQLiteTest(unittest.TestCase):
def setUp(self):
self.app = bottle.Bottle(catchall=False)
def test_with_keyword(self):
self.plugin = self.app.install(sqlite.Plugin())
@self.app.get('/')
def test(db):
self.assertEqual(type(db), type(sqlite3.connect(':memory:')))
self.app({'PATH_INFO':'/', 'REQUEST_METHOD':'GET'}, lambda x, y: None)
def test_without_keyword(self):
self.plugin = self.app.install(sqlite.Plugin())
@self.app.get('/')
def test():
pass
self.app({'PATH_INFO':'/', 'REQUEST_METHOD':'GET'}, lambda x, y: None)
@self.app.get('/2')
def test(**kw):
self.assertFalse('db' in kw)
self.app({'PATH_INFO':'/2', 'REQUEST_METHOD':'GET'}, lambda x, y: None)
def test_install_conflicts(self):
self.app.install(sqlite.Plugin())
self.app.install(sqlite.Plugin(keyword='db2'))
@self.app.get('/')
def test(db, db2):
pass
# I have two plugins working with different names
self.app({'PATH_INFO': '/', 'REQUEST_METHOD': 'GET'}, lambda x, y: None)
if __name__ == '__main__':
unittest.main()