From b4f595c4e8d032f75bbf98afc296124aeeb0bb1a Mon Sep 17 00:00:00 2001 From: Konsta Vesterinen Date: Mon, 21 Apr 2014 11:25:04 +0300 Subject: [PATCH] Add tests for primary_keys --- tests/functions/test_primary_keys.py | 32 ++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 tests/functions/test_primary_keys.py diff --git a/tests/functions/test_primary_keys.py b/tests/functions/test_primary_keys.py new file mode 100644 index 0000000..c1c9f3a --- /dev/null +++ b/tests/functions/test_primary_keys.py @@ -0,0 +1,32 @@ +try: + from collections import OrderedDict +except ImportError: + from ordereddict import OrderedDict +import sqlalchemy as sa +from sqlalchemy_utils import primary_keys +from tests import TestCase + + +class TestPrimaryKeys(TestCase): + def create_models(self): + class Building(self.Base): + __tablename__ = 'building' + id = sa.Column('_id', sa.Integer, primary_key=True) + name = sa.Column('_name', sa.Unicode(255)) + + self.Building = Building + + def test_table(self): + assert primary_keys(self.Building.__table__) == OrderedDict({ + '_id': self.Building.__table__.c._id + }) + + def test_declarative_class(self): + assert primary_keys(self.Building) == OrderedDict({ + 'id': self.Building.__table__.c._id + }) + + def test_declarative_object(self): + assert primary_keys(self.Building()) == OrderedDict({ + 'id': self.Building.__table__.c._id + })