tests/test_mymanager.py
author Radek Brich <radek.brich@devl.cz>
Sat, 29 Sep 2012 13:53:54 +0200
changeset 49 08e4dfe1b0cb
child 75 39f777341db4
permissions -rwxr-xr-x
Add test for MyManager (enable only when MySQLdb is available). Configure tests using pgtoolkit.conf (same as used by other executables).

#!/usr/bin/env python3

from tests.config import Config
from mytoolkit import mymanager

import unittest


class TestMyManager(unittest.TestCase):

    def setUp(self):
        cfg = Config('pgtoolkit.conf')
        test_db_conn_params = cfg['databases']['test_mysql']
        params = self.params_to_mapping(test_db_conn_params)
        self.m = mymanager.get_instance()
        self.m.create_conn(**params)

    def tearDown(self):
        self.m.destroy_conn()

    def params_to_mapping(self, params):
        return dict([param.split('=') for param in params.split(' ')])

    def test_mysql_query(self):
        with self.m.cursor() as curs:
            ajaj = 1
            curs.execute('SELECT %(ajaj)s AS ajaj', locals())
            row = curs.fetchone_dict()
            self.assertEqual(row.ajaj, ajaj)


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