X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=modules%2Flibjuju%2Ftests%2Fintegration%2Ftest_controller.py;h=6423a98892c6b43b39322a84a65bfe8b3949e830;hp=93e2883b42e4e7e8a16b447a1f841ad2cf64a62f;hb=e2051cca7dac12aa09f6ed33555dcc4548c4b52b;hpb=7b4702c2e118bab49def498b4b4c236d430dbc13 diff --git a/modules/libjuju/tests/integration/test_controller.py b/modules/libjuju/tests/integration/test_controller.py index 93e2883..6423a98 100644 --- a/modules/libjuju/tests/integration/test_controller.py +++ b/modules/libjuju/tests/integration/test_controller.py @@ -21,6 +21,7 @@ async def test_add_remove_user(event_loop): assert user is None user = await controller.add_user(username) assert user is not None + assert user.secret_key is not None assert user.username == username users = await controller.get_users() assert any(u.username == username for u in users) @@ -76,6 +77,33 @@ async def test_change_user_password(event_loop): await new_connection.close() +@base.bootstrapped +@pytest.mark.asyncio +async def test_reset_user_password(event_loop): + async with base.CleanController() as controller: + username = 'test{}'.format(uuid.uuid4()) + user = await controller.add_user(username) + origin_secret_key = user.secret_key + await user.set_password('password') + await controller.reset_user_password(username) + user = await controller.get_user(username) + new_secret_key = user.secret_key + # Check secret key is different after the reset. + assert origin_secret_key != new_secret_key + # Check that we can't connect with the old password. + new_connection = None + try: + kwargs = controller.connection().connect_params() + kwargs['username'] = username + kwargs['password'] = 'password' + new_connection = await Connection.connect(**kwargs) + except JujuAPIError: + pass + finally: + # No connection with old password + assert new_connection is None + + @base.bootstrapped @pytest.mark.asyncio async def test_grant_revoke(event_loop): @@ -91,9 +119,9 @@ async def test_grant_revoke(event_loop): fresh = await controller.get_user(username) # fetch fresh copy assert fresh.access == 'superuser' await user.revoke() - assert user.access is '' + assert user.access == '' fresh = await controller.get_user(username) # fetch fresh copy - assert fresh.access is '' + assert fresh.access == '' @base.bootstrapped