5 from juju
.controller
import Controller
6 from juju
.errors
import JujuAPIError
11 async def test_add_user(event_loop
):
12 async with base
.CleanController() as controller
:
13 username
= 'test{}'.format(uuid
.uuid4())
14 await controller
.add_user(username
)
15 result
= await controller
.get_user(username
)
16 res_ser
= result
.serialize()['results'][0].serialize()
17 assert res_ser
['result'] is not None
22 async def test_disable_enable_user(event_loop
):
23 async with base
.CleanController() as controller
:
24 username
= 'test-disable{}'.format(uuid
.uuid4())
25 await controller
.add_user(username
)
26 await controller
.disable_user(username
)
27 result
= await controller
.get_user(username
)
28 res_ser
= result
.serialize()['results'][0].serialize()
29 assert res_ser
['result'].serialize()['disabled'] is True
30 await controller
.enable_user(username
)
31 result
= await controller
.get_user(username
)
32 res_ser
= result
.serialize()['results'][0].serialize()
33 assert res_ser
['result'].serialize()['disabled'] is False
38 async def test_change_user_password(event_loop
):
39 async with base
.CleanController() as controller
:
40 username
= 'test-password{}'.format(uuid
.uuid4())
41 await controller
.add_user(username
)
42 await controller
.change_user_password(username
, 'password')
44 new_controller
= Controller()
45 await new_controller
.connect(
46 controller
.connection
.endpoint
, username
, 'password')
48 await new_controller
.disconnect()
56 async def test_grant(event_loop
):
57 async with base
.CleanController() as controller
:
58 username
= 'test-grant{}'.format(uuid
.uuid4())
59 await controller
.add_user(username
)
60 await controller
.grant(username
, 'superuser')
61 result
= await controller
.get_user(username
)
62 result
= result
.serialize()['results'][0].serialize()['result']\
64 assert result
['access'] == 'superuser'
65 await controller
.grant(username
, 'login')
66 result
= await controller
.get_user(username
)
67 result
= result
.serialize()['results'][0].serialize()['result']\
69 assert result
['access'] == 'login'
74 async def test_get_models(event_loop
):
75 async with base
.CleanController() as controller
:
76 result
= await controller
.get_models()
77 assert isinstance(result
.serialize()['user-models'], list)