示例#1
0
    def test_deserializer(self):
        users = self.create_users()

        deserialized, models = self.d.deserialize_object(
            User(), {
                'id': self.admin.id,
                'username': '******',
                'password': self.admin.password,
                'join_date':
                self.admin.join_date.strftime('%Y-%m-%d %H:%M:%S'),
                'active': True,
                'admin': True,
            })

        for attr in ['id', 'username', 'password', 'active', 'admin']:
            self.assertEqual(
                getattr(deserialized, attr),
                getattr(self.admin, attr),
            )

        self.assertEqual(
            deserialized.join_date.strftime('%Y-%m-%d %H:%M:%S'),
            self.admin.join_date.strftime('%Y-%m-%d %H:%M:%S'),
        )

        admin_pk = self.admin.id

        deserialized, models = self.d.deserialize_object(
            self.admin, {
                'username': '******',
                'active': False,
                'admin': False,
            })

        self.assertEqual(deserialized.username, 'edited')
        self.assertEqual(deserialized.admin, False)
        self.assertEqual(deserialized.active, False)
        self.assertEqual(deserialized.id, admin_pk)

        deserialized.save()

        self.assertEqual(User.select().count(), 3)
        edited = User.get(username='******')
        self.assertEqual(edited.id, admin_pk)
示例#2
0
 def create_user(self, username, password, **kwargs):
     user = User(username=username, email=kwargs.pop('email', ''), **kwargs)
     user.set_password(password)
     user.save()
     return user
示例#3
0
    def test_s_and_d(self):
        self.create_users()

        s = self.s.serialize_object(self.admin)
        d, model_list = self.d.deserialize_object(User(), s)
        self.assertEqual(d, self.admin)