def test_outerouterjoin_eager(self): self.assertEqual( str(self.db.query(Foo).outerjoin_eager('bars')), str((self.db.query(Foo).outerjoin('bars').options( orm.contains_eager('bars')))), 'it should outerjoin eager on single string entity') self.assertEqual( str(self.db.query(Foo).outerjoin_eager(Foo.bars)), str((self.db.query(Foo).outerjoin(Foo.bars).options( orm.contains_eager(Foo.bars)))), 'it should outerjoin eager on single model entity') self.assertEqual( str(self.db.query(Foo).outerjoin_eager('bars', 'bazs')), str( self.db.query(Foo).outerjoin('bars', 'bazs').options( orm.contains_eager('bars').contains_eager('bazs'))), 'it should outerjoin eager on multiple string entities') self.assertEqual( str(self.db.query(Foo).outerjoin_eager(Foo.bars, Bar.bazs)), str( self.db.query(Foo).outerjoin(Foo.bars, Bar.bazs).options( orm.contains_eager(Foo.bars).contains_eager(Bar.bazs))), 'it should outerjoin eager on multiple model entities') self.assertEqual( str((self.db.query(Foo).outerjoin_eager( 'bars', options=[LoadOption('contains_eager', 'bazs')]))), str((self.db.query(Foo).outerjoin('bars').options( orm.contains_eager('bars').contains_eager('bazs')))), 'it should join eager using options')
def test_noload(self): self.assertEqual(str(self.db.query(Foo).noload('bars')), str(self.db.query(Foo).options(orm.noload('bars')))) self.assertEqual( str(self.db.query(Foo).noload('bars', 'bazs')), str(self.db.query(Foo).options(orm.noload('bars').noload('bazs')))) self.assertEqual(str(self.db.query(Foo).noload(Foo.bars)), str(self.db.query(Foo).options(orm.noload(Foo.bars)))) self.assertEqual( str(self.db.query(Foo).noload(Foo.bars, Bar.bazs)), str((self.db.query(Foo).options( orm.noload(Foo.bars).noload(Bar.bazs))))) self.assertEqual( str((self.db.query(Foo).noload( 'bars', options=[LoadOption('noload', 'bazs')]))), str(self.db.query(Foo).options(orm.noload('bars').noload('bazs'))))