-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* polished users,groups,apps Signed-off-by: Alexander Piskun <[email protected]>
- Loading branch information
Showing
9 changed files
with
139 additions
and
55 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,15 +10,31 @@ | |
|
||
|
||
@pytest.mark.parametrize("nc", NC_TO_TEST) | ||
def test_get_user(nc): | ||
admin = nc.users.get("admin") | ||
def test_get_user_details(nc): | ||
admin = nc.users.get_details("admin") | ||
assert admin | ||
current_user = nc.users.get_details() | ||
assert current_user | ||
admin.pop("quota", None) # `quota` is a little bit different | ||
current_user.pop("quota", None) | ||
assert admin == current_user | ||
|
||
|
||
@pytest.mark.parametrize("nc", NC_TO_TEST) | ||
def test_get_current_user_wo_user(nc): | ||
orig_user = nc._session.user | ||
try: | ||
nc._session.user = "" | ||
with pytest.raises(ValueError): | ||
nc.users.get_details() | ||
finally: | ||
nc._session.user = orig_user | ||
|
||
|
||
@pytest.mark.parametrize("nc", NC_TO_TEST) | ||
def test_get_user_404(nc): | ||
with pytest.raises(NextcloudException): | ||
nc.users.get("non existing user") | ||
nc.users.get_details("non existing user") | ||
|
||
|
||
@pytest.mark.skipif(not isinstance(NC_TO_TEST[:1][0], Nextcloud), reason="Not available for NextcloudApp.") | ||
|
@@ -33,6 +49,21 @@ def test_create_user(nc): | |
nc.users.create(TEST_USER_NAME, password=TEST_USER_PASSWORD) | ||
|
||
|
||
@pytest.mark.skipif(not isinstance(NC_TO_TEST[:1][0], Nextcloud), reason="Not available for NextcloudApp.") | ||
@pytest.mark.parametrize("nc", NC_TO_TEST[:1]) | ||
def test_create_user_no_name_mail(nc): | ||
try: | ||
nc.users.delete(TEST_USER_NAME) | ||
except NextcloudException: | ||
pass | ||
with pytest.raises(ValueError): | ||
nc.users.create(TEST_USER_NAME) | ||
with pytest.raises(ValueError): | ||
nc.users.create(TEST_USER_NAME, password="") | ||
with pytest.raises(ValueError): | ||
nc.users.create(TEST_USER_NAME, email="") | ||
|
||
|
||
@pytest.mark.skipif(not isinstance(NC_TO_TEST[:1][0], Nextcloud), reason="Not available for NextcloudApp.") | ||
@pytest.mark.parametrize("nc", NC_TO_TEST[:1]) | ||
def test_delete_user(nc): | ||
|
@@ -47,17 +78,18 @@ def test_delete_user(nc): | |
|
||
@pytest.mark.skipif(not isinstance(NC_TO_TEST[:1][0], Nextcloud), reason="Not available for NextcloudApp.") | ||
@pytest.mark.parametrize("nc", NC_TO_TEST[:1]) | ||
def test_list_users(nc): | ||
def test_users_get_list(nc): | ||
try: | ||
nc.users.create(TEST_USER_NAME, password=TEST_USER_PASSWORD) | ||
except NextcloudException: | ||
pass | ||
users = nc.users.list() | ||
users = nc.users.get_list() | ||
assert isinstance(users, list) | ||
assert "admin" in users | ||
users = nc.users.list(limit=1) | ||
users = nc.users.get_list(limit=1) | ||
assert len(users) == 1 | ||
assert users[0] != nc.users.list(limit=1, offset=1)[0] | ||
users = nc.users.list(mask="test_cover_") | ||
assert users[0] != nc.users.get_list(limit=1, offset=1)[0] | ||
users = nc.users.get_list(mask="test_cover_") | ||
assert len(users) == 1 | ||
nc.users.delete(TEST_USER_NAME) | ||
|
||
|
@@ -70,9 +102,35 @@ def test_enable_disable_user(nc): | |
except NextcloudException: | ||
pass | ||
nc.users.disable(TEST_USER_NAME) | ||
user = nc.users.get(TEST_USER_NAME) | ||
user = nc.users.get_details(TEST_USER_NAME) | ||
assert not user["enabled"] | ||
nc.users.enable(TEST_USER_NAME) | ||
user = nc.users.get(TEST_USER_NAME) | ||
user = nc.users.get_details(TEST_USER_NAME) | ||
assert user["enabled"] | ||
nc.users.delete(TEST_USER_NAME) | ||
|
||
|
||
@pytest.mark.skipif(not isinstance(NC_TO_TEST[:1][0], Nextcloud), reason="Not available for NextcloudApp.") | ||
@pytest.mark.parametrize("nc", NC_TO_TEST[:1]) | ||
def test_user_editable_fields(nc): | ||
editable_fields = nc.users.editable_fields() | ||
assert isinstance(editable_fields, list) | ||
assert editable_fields | ||
|
||
|
||
@pytest.mark.skipif(not isinstance(NC_TO_TEST[:1][0], Nextcloud), reason="Not available for NextcloudApp.") | ||
@pytest.mark.parametrize("nc", NC_TO_TEST[:1]) | ||
def test_edit_user(nc): | ||
nc.users.edit(nc.user, address="Le Pame") | ||
current_user = nc.users.get_details() | ||
assert current_user["address"] == "Le Pame" | ||
nc.users.edit(nc.user, address="", email="[email protected]") | ||
current_user = nc.users.get_details() | ||
assert current_user["address"] == "" | ||
assert current_user["email"] == "[email protected]" | ||
|
||
|
||
@pytest.mark.skipif(not isinstance(NC_TO_TEST[:1][0], Nextcloud), reason="Not available for NextcloudApp.") | ||
@pytest.mark.parametrize("nc", NC_TO_TEST[:1]) | ||
def test_resend_user_email(nc): | ||
nc.users.resend_welcome_email() |