1
0
mirror of https://github.com/quay/quay.git synced 2026-01-27 18:42:52 +03:00
Files
quay/endpoints/api/test/test_user.py
2019-12-02 12:23:08 -05:00

43 lines
1.4 KiB
Python

import pytest
from mock import patch
from endpoints.api.test.shared import conduct_api_call
from endpoints.api.user import User
from endpoints.test.shared import client_with_identity
from features import FeatureNameValue
from test.fixtures import *
def test_user_metadata_update(client):
with patch("features.USER_METADATA", FeatureNameValue("USER_METADATA", True)):
with client_with_identity("devtable", client) as cl:
metadata = {
"given_name": "Quay",
"family_name": "User",
"location": "NYC",
"company": "Red Hat",
}
# Update all user metadata fields.
conduct_api_call(cl, User, "PUT", None, body=metadata)
# Test that they were successfully updated.
user = conduct_api_call(cl, User, "GET", None).json
for field in metadata:
assert user.get(field) == metadata.get(field)
# Now nullify one of the fields, and remove another.
metadata["company"] = None
location = metadata.pop("location")
conduct_api_call(cl, User, "PUT", None, body=metadata)
user = conduct_api_call(cl, User, "GET", None).json
for field in metadata:
assert user.get(field) == metadata.get(field)
# The location field should be unchanged.
assert user.get("location") == location