2 from concurrent
.futures
import ThreadPoolExecutor
7 from juju
.controller
import Controller
8 from juju
.errors
import JujuAPIError
13 async def test_add_user(event_loop
):
14 async with base
.CleanController() as controller
:
15 username
= 'test{}'.format(uuid
.uuid4())
16 await controller
.add_user(username
)
17 result
= await controller
.get_user(username
)
18 res_ser
= result
.serialize()['results'][0].serialize()
19 assert res_ser
['result'] is not None
24 async def test_disable_enable_user(event_loop
):
25 async with base
.CleanController() as controller
:
26 username
= 'test-disable{}'.format(uuid
.uuid4())
27 await controller
.add_user(username
)
28 await controller
.disable_user(username
)
29 result
= await controller
.get_user(username
)
30 res_ser
= result
.serialize()['results'][0].serialize()
31 assert res_ser
['result'].serialize()['disabled'] is True
32 await controller
.enable_user(username
)
33 result
= await controller
.get_user(username
)
34 res_ser
= result
.serialize()['results'][0].serialize()
35 assert res_ser
['result'].serialize()['disabled'] is False
40 async def test_change_user_password(event_loop
):
41 async with base
.CleanController() as controller
:
42 username
= 'test-password{}'.format(uuid
.uuid4())
43 await controller
.add_user(username
)
44 await controller
.change_user_password(username
, 'password')
46 con
= await controller
.connect(
47 controller
.connection
.endpoint
, username
, 'password')
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'].serialize()
63 assert result
['access'] == 'superuser'
64 await controller
.grant(username
, 'login')
65 result
= await controller
.get_user(username
)
66 result
= result
.serialize()['results'][0].serialize()['result'].serialize()
67 assert result
['access'] == 'login'
72 async def test_get_models(event_loop
):
73 async with base
.CleanController() as controller
:
74 result
= await controller
.get_models()
75 assert isinstance(result
.serialize()['user-models'], list)