Example #1
0
class TestHandlerRecognition(object):
    def setUp(self):
        class options:
            dsn = conf.LITE_DSN
            env = ['fixture.examples.db.sqlalchemy_examples']
        self.generator = DataSetGenerator(options, template=StubTemplate())
        
    def tearDown(self):
        from sqlalchemy.orm import clear_mappers
        clear_mappers()
        
    @attr(unit=True)
    def test_recognizes_mapped_class(self):
        from sqlalchemy.orm import mapper
        mapper(MappableObject, categories)
        hnd = self.generator.get_handler(
                "%s.MappableObject" % (MappableObject.__module__),
                obj=MappableObject)
        eq_(type(hnd), SQLAlchemyMappedClassHandler)
        
    @attr(unit=True)
    def test_recognizes_session_mapper(self):
        from sqlalchemy.orm import mapper, sessionmaker, scoped_session
        
        ScopedSession = scoped_session(sessionmaker(autoflush=False, transactional=False))
        ScopedSession.mapper(MappableObject, categories)
        
        hnd = self.generator.get_handler(
                "%s.MappableObject" % (MappableObject.__module__),
                obj=MappableObject)
        eq_(type(hnd), SQLAlchemySessionMapperHandler)
        
    @attr(unit=True)
    @raises(NotImplementedError)
    def test_recognizes_table_object(self):
        hnd = self.generator.get_handler(
                "%s.categories" % (sqlalchemy_examples.__name__),
                obj=categories)
        eq_(type(hnd), SQLAlchemyTableHandler)
Example #2
0
 def setUp(self):
     from fixture import SQLAlchemyFixture, NamedDataStyle
     import sqlalchemy
     from sqlalchemy.orm import (
             mapper, relation, clear_mappers, sessionmaker, scoped_session)
     from sqlalchemy import create_engine
     
     metadata.bind = create_engine(conf.LITE_DSN)
     metadata.create_all()
             
     class options:
         dsn = conf.LITE_DSN
         env = ['fixture.examples.db.sqlalchemy_examples']
     self.options = options
     self.generator = DataSetGenerator(self.options, template=StubTemplate())
     
     ScopedSession = scoped_session(sessionmaker(autoflush=False, transactional=True))
     
     ScopedSession.mapper(Category, categories, save_on_init=False)
     ScopedSession.mapper(Product, products, properties={
         'category': relation(Category),
     }, save_on_init=False)
     ScopedSession.mapper(Offer, offers, properties={
         'category': relation(Category, backref='products'),
         'product': relation(Product)
     }, save_on_init=False)
     
     self.fixture = SQLAlchemyFixture(
                         env=sqlalchemy_examples, 
                         style=NamedDataStyle(),
                         engine=metadata.bind)
     self.data = self.fixture.data(self.CategoryData)
     self.data.setup()
     
     self.hnd = self.generator.get_handler(
                         "%s.Category" % (Category.__module__),
                         obj=Category,
                         connection=metadata.bind)
     self.hnd.begin()
Example #3
0
class TestQuerySessionMappedClass(HandlerQueryTest):
    
    def setUp(self):
        from fixture import SQLAlchemyFixture, NamedDataStyle
        import sqlalchemy
        from sqlalchemy.orm import (
                mapper, relation, clear_mappers, sessionmaker, scoped_session)
        from sqlalchemy import create_engine
        
        metadata.bind = create_engine(conf.LITE_DSN)
        metadata.create_all()
                
        class options:
            dsn = conf.LITE_DSN
            env = ['fixture.examples.db.sqlalchemy_examples']
        self.options = options
        self.generator = DataSetGenerator(self.options, template=StubTemplate())
        
        ScopedSession = scoped_session(sessionmaker(autoflush=False, transactional=True))
        
        ScopedSession.mapper(Category, categories, save_on_init=False)
        ScopedSession.mapper(Product, products, properties={
            'category': relation(Category),
        }, save_on_init=False)
        ScopedSession.mapper(Offer, offers, properties={
            'category': relation(Category, backref='products'),
            'product': relation(Product)
        }, save_on_init=False)
        
        self.fixture = SQLAlchemyFixture(
                            env=sqlalchemy_examples, 
                            style=NamedDataStyle(),
                            engine=metadata.bind)
        self.data = self.fixture.data(self.CategoryData)
        self.data.setup()
        
        self.hnd = self.generator.get_handler(
                            "%s.Category" % (Category.__module__),
                            obj=Category,
                            connection=metadata.bind)
        self.hnd.begin()
        
    def tearDown(self):
        from sqlalchemy.orm import clear_mappers
        self.data.teardown()
        metadata.drop_all()
        clear_mappers()
Example #4
0
class TestQueryMappedClass(HandlerQueryTest):
    
    def setUp(self):
        from fixture import SQLAlchemyFixture, NamedDataStyle
        import sqlalchemy
        from sqlalchemy.orm import mapper, relation, clear_mappers
        from sqlalchemy import create_engine
        
        metadata.bind = create_engine(conf.LITE_DSN)
        metadata.create_all()
                
        class options:
            dsn = conf.LITE_DSN
            env = ['fixture.examples.db.sqlalchemy_examples']
        self.options = options
        self.generator = DataSetGenerator(self.options, template=StubTemplate())
        
        mapper(Category, categories)
        mapper(Product, products, properties={
            'category': relation(Category),
        })
        mapper(Offer, offers, properties={
            'category': relation(Category, backref='products'),
            'product': relation(Product)
        })
        
        self.fixture = SQLAlchemyFixture(
                            env=sqlalchemy_examples, 
                            style=NamedDataStyle(),
                            engine=metadata.bind)
        self.data = self.fixture.data(self.CategoryData)
        self.data.setup()
        
        self.hnd = self.generator.get_handler(
                            "%s.Category" % (Category.__module__),
                            obj=Category,
                            connection=metadata.bind)
        self.hnd.begin()
        
    def tearDown(self):
        from sqlalchemy.orm import clear_mappers
        self.data.teardown()
        metadata.drop_all()
        clear_mappers()
Example #5
0
 def setUp(self):
     from fixture import SQLAlchemyFixture, NamedDataStyle
     import sqlalchemy
     from sqlalchemy.orm import mapper, relation, clear_mappers
     from sqlalchemy import create_engine
     
     metadata.bind = create_engine(conf.LITE_DSN)
     metadata.create_all()
             
     class options:
         dsn = conf.LITE_DSN
         env = ['fixture.examples.db.sqlalchemy_examples']
     self.options = options
     self.generator = DataSetGenerator(self.options, template=StubTemplate())
     
     mapper(Category, categories)
     mapper(Product, products, properties={
         'category': relation(Category),
     })
     mapper(Offer, offers, properties={
         'category': relation(Category, backref='products'),
         'product': relation(Product)
     })
     
     self.fixture = SQLAlchemyFixture(
                         env=sqlalchemy_examples, 
                         style=NamedDataStyle(),
                         engine=metadata.bind)
     self.data = self.fixture.data(self.CategoryData)
     self.data.setup()
     
     self.hnd = self.generator.get_handler(
                         "%s.Category" % (Category.__module__),
                         obj=Category,
                         connection=metadata.bind)
     self.hnd.begin()
Example #6
0
 def setUp(self):
     class options:
         dsn = conf.LITE_DSN
         env = ['fixture.examples.db.sqlalchemy_examples']
     self.generator = DataSetGenerator(options, template=StubTemplate())