Projet

Général

Profil

0001-agent-use-BaseUserSerializer-for-user-provisionning-.patch

Benjamin Dauvergne, 15 juin 2017 17:36

Télécharger (5,94 ko)

Voir les différences:

Subject: [PATCH] agent: use BaseUserSerializer for user provisionning (fixes
 #16924)

 hobo/agent/authentic2/provisionning.py |  4 ++--
 tests_authentic/test_provisionning.py  | 16 ++++++++--------
 2 files changed, 10 insertions(+), 10 deletions(-)
hobo/agent/authentic2/provisionning.py
74 74
        if mode == 'provision':
75 75

  
76 76
            def user_to_json(service, user, user_roles):
77
                from authentic2.api_views import BaseUserSerializer
77 78
                data = {}
78 79
                roles = user.roles_and_parents().prefetch_related('attributes')
79 80
                data.update({
......
89 90
                            'slug': role.slug,
90 91
                        } for role in roles],
91 92
                })
92
                for av in user.attribute_values.all():
93
                    data[str(av.attribute.name)] = av.to_python()
93
                data.update(BaseUserSerializer(user).data)
94 94
                # check if user is superuser through a role
95 95
                role_is_superuser = False
96 96
                if service:
tests_authentic/test_provisionning.py
164 164
            assert len(data) == 2
165 165
            assert len(set([o['uuid'] for o in data])) == 2
166 166
            for o in data:
167
                assert set(o.keys()) == set(['uuid', 'username', 'first_name', 'is_superuser',
167
                assert set(o.keys()) >= set(['uuid', 'username', 'first_name', 'is_superuser',
168 168
                                             'last_name', 'email', 'roles'])
169 169
                assert o['uuid'] in users
170 170
                user = users[o['uuid']]
......
203 203
            assert isinstance(data, list)
204 204
            assert len(data) == 2
205 205
            for o, user in zip(data, [user1, user2]):
206
                assert set(o.keys()) <= set(['code_postal', 'uuid', 'username', 'first_name',
206
                assert set(o.keys()) >= set(['code_postal', 'uuid', 'username', 'first_name',
207 207
                                             'is_superuser', 'last_name', 'email', 'roles'])
208 208
                assert o['uuid'] == user.uuid
209 209
                assert o['username'] == user.username
......
212 212
                assert o['email'] == user.email
213 213
                assert o['roles'] == [{'name': r.name, 'slug': r.slug, 'uuid': r.uuid} for r in
214 214
                                      user.roles.all()]
215
                assert 'code_postal' not in o or o['code_postal'] == '13400'
215
                assert o['code_postal'] is None or o['code_postal'] == '13400'
216 216
                assert o['is_superuser'] is user.is_superuser
217 217

  
218 218
            notify_agents.reset_mock()
......
239 239
            assert isinstance(data, list)
240 240
            assert len(data) == 1
241 241
            for o in data:
242
                assert set(o.keys()) == set(['uuid', 'username', 'first_name',
242
                assert set(o.keys()) >= set(['uuid', 'username', 'first_name',
243 243
                                             'is_superuser', 'last_name', 'email', 'roles'])
244 244
                assert o['uuid'] == user1.uuid
245 245
                assert o['username'] == user1.username
......
279 279
                assert len(data) == 1
280 280
                print data
281 281
                for o in data:
282
                    assert set(o.keys()) == set(['uuid', 'username', 'first_name',
282
                    assert set(o.keys()) >= set(['uuid', 'username', 'first_name',
283 283
                                                 'is_superuser', 'last_name', 'email', 'roles'])
284 284
                    assert o['uuid'] in users
285 285
                    user = users[o['uuid']]
......
318 318
            assert isinstance(data, list)
319 319
            assert len(data) == 1
320 320
            for o in data:
321
                assert set(o.keys()) == set(['uuid', 'username', 'first_name',
321
                assert set(o.keys()) >= set(['uuid', 'username', 'first_name',
322 322
                                             'is_superuser', 'last_name', 'email', 'roles'])
323 323
                assert o['uuid'] == user1.uuid
324 324
                assert o['username'] == user1.username
......
353 353
            assert isinstance(data, list)
354 354
            assert len(data) == 1
355 355
            for o in data:
356
                assert set(o.keys()) == set(['uuid', 'username', 'first_name',
356
                assert set(o.keys()) >= set(['uuid', 'username', 'first_name',
357 357
                                             'is_superuser', 'last_name', 'email', 'roles'])
358 358
                assert o['uuid'] == user1.uuid
359 359
                assert o['username'] == user1.username
......
400 400
            assert isinstance(data, list)
401 401
            assert len(data) == 1
402 402
            for o in data:
403
                assert set(o.keys()) == set(['uuid', 'username', 'first_name',
403
                assert set(o.keys()) >= set(['uuid', 'username', 'first_name',
404 404
                                             'is_superuser', 'last_name', 'email', 'roles'])
405 405
                assert o['uuid'] == user1.uuid
406 406
                assert o['username'] == user1.username
407
-