Пример #1
0
    def test_extra_fields(self):
        with create_session() as session:
            acc1 = Guild(
                name='test1',
                max_members=1
            )
            acc2 = Guild(
                name='test2',
                max_members=4
            )

            session.add(acc1)
            session.add(acc2)
            session.commit()

            serializer = GuildSimpleSerializer(
                (Guild.max_members == 1).label('single_guild')
            )
            data = session.query(
                *serializer.get_query_fields()
            ).all()

            serialized = map(serializer.to_dict, data)
            acc1_dict = acc1.to_dict()
            acc1_dict['single_guild'] = True
            acc2_dict = acc2.to_dict()
            acc2_dict['single_guild'] = False
            self.assertIn(acc1_dict, serialized)
            self.assertIn(acc1_dict, serialized)
Пример #2
0
    def test_model_serializer(self):
        with create_session() as session:
            acc1 = Guild(
                name='test1',
                max_members=2
            )
            acc2 = Guild(
                name='test2',
                max_members=2
            )

            session.add(acc1)
            session.add(acc2)
            session.commit()

            serializer = GuildModelSerializer()

            # Test with get fields
            data = session.query(
                *serializer.get_query_fields()
            ).all()

            serialized = map(serializer.to_dict, data)
            self.assertIn(acc1.to_dict_with_hybrid(), serialized)
            self.assertIn(acc2.to_dict_with_hybrid(), serialized)

            # Test with model query
            data = session.query(Guild).all()

            serialized = map(serializer.to_dict, data)
            self.assertIn(acc1.to_dict_with_hybrid(), serialized)
            self.assertIn(acc2.to_dict_with_hybrid(), serialized)
Пример #3
0
    def test_hybrid_fields(self):
        with create_session() as session:
            acc2 = Guild(
                name='test2',
                max_members=4
            )

            session.add(acc2)
            session.commit()

            serializer = GuildHybridSerializer()
            data = session.query(
                *serializer.get_query_fields()
            ).first()

            serialized = serializer.to_dict(data)
            acc2_dict = acc2.to_dict_with_hybrid()
            self.assertEqual(acc2_dict, serialized)
Пример #4
0
    def test_custom_fields(self):
        with create_session() as session:
            acc2 = Guild(
                name='test2',
                max_members=4
            )

            session.add(acc2)
            session.commit()

            serializer = GuildCustomSerializer()
            data = session.query(
                *serializer.get_query_fields()
            ).first()

            serialized = serializer.to_dict(data)
            acc2_dict = acc2.to_dict()

            acc2_dict['gold_and_level'] = gold_and_level(acc2_dict)
            self.assertEqual(acc2_dict, serialized)
Пример #5
0
    def test_model_serializer_off_hybrid_inspection(self):
        with create_session() as session:
            acc1 = Guild(
                name='test1',
                max_members=2
            )
            acc2 = Guild(
                name='test2',
                max_members=2
            )

            session.add(acc1)
            session.add(acc2)
            session.commit()

            serializer = GuildModelSerializer(to_inspect_hybrid_fields=False)
            # Test with get fields
            data = session.query(
                Guild
            ).all()

            serialized = map(serializer.to_dict, data)
            acc1_dict = acc1.to_dict()
            acc2_dict = acc2.to_dict()
            self.assertIn(acc1_dict, serialized)
            self.assertIn(acc2_dict, serialized)

            serializer = GuildModelSerializerOffHybrid()

            # Test with get fields
            data = session.query(
                Guild
            ).all()

            serialized = map(serializer.to_dict, data)
            self.assertIn(acc1.to_dict(), serialized)
            self.assertIn(acc2.to_dict(), serialized)
Пример #6
0
    def test_common_fields(self):
        with create_session() as session:
            acc1 = Guild(
                name='test1',
                max_members=2
            )
            acc2 = Guild(
                name='test2',
                max_members=2
            )

            session.add(acc1)
            session.add(acc2)
            session.commit()

            serializer = GuildSimpleSerializer()

            data = session.query(
                *serializer.get_query_fields()
            ).all()

            serialized = map(serializer.to_dict, data)
            self.assertIn(acc1.to_dict(), serialized)
            self.assertIn(acc2.to_dict(), serialized)