Exemplo n.º 1
0
    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')
Exemplo n.º 2
0
    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'))))