|
8 | 8 | import pytest |
9 | 9 | from common_library.users_enums import UserRole |
10 | 10 | from models_library.api_schemas_webserver.users import ( |
11 | | - MyProfileGet, |
12 | | - MyProfilePatch, |
| 11 | + MyProfileRestGet, |
| 12 | + MyProfileRestPatch, |
13 | 13 | ) |
14 | 14 | from pydantic import ValidationError |
15 | 15 |
|
16 | 16 |
|
17 | 17 | @pytest.mark.parametrize("user_role", [u.name for u in UserRole]) |
18 | 18 | def test_profile_get_role(user_role: str): |
19 | | - for example in MyProfileGet.model_json_schema()["examples"]: |
| 19 | + for example in MyProfileRestGet.model_json_schema()["examples"]: |
20 | 20 | data = deepcopy(example) |
21 | 21 | data["role"] = user_role |
22 | | - m1 = MyProfileGet(**data) |
| 22 | + m1 = MyProfileRestGet(**data) |
23 | 23 |
|
24 | 24 | data["role"] = UserRole(user_role) |
25 | | - m2 = MyProfileGet(**data) |
| 25 | + m2 = MyProfileRestGet(**data) |
26 | 26 | assert m1 == m2 |
27 | 27 |
|
28 | 28 |
|
29 | 29 | def test_my_profile_patch_username_min_len(): |
30 | 30 | # minimum length username is 4 |
31 | 31 | with pytest.raises(ValidationError) as err_info: |
32 | | - MyProfilePatch.model_validate({"userName": "abc"}) |
| 32 | + MyProfileRestPatch.model_validate({"userName": "abc"}) |
33 | 33 |
|
34 | 34 | assert err_info.value.error_count() == 1 |
35 | 35 | assert err_info.value.errors()[0]["type"] == "too_short" |
36 | 36 |
|
37 | | - MyProfilePatch.model_validate({"userName": "abcd"}) # OK |
| 37 | + MyProfileRestPatch.model_validate({"userName": "abcd"}) # OK |
38 | 38 |
|
39 | 39 |
|
40 | 40 | def test_my_profile_patch_username_valid_characters(): |
41 | 41 | # Ensure valid characters (alphanumeric + . _ -) |
42 | 42 | with pytest.raises(ValidationError, match="start with a letter") as err_info: |
43 | | - MyProfilePatch.model_validate({"userName": "1234"}) |
| 43 | + MyProfileRestPatch.model_validate({"userName": "1234"}) |
44 | 44 |
|
45 | 45 | assert err_info.value.error_count() == 1 |
46 | 46 | assert err_info.value.errors()[0]["type"] == "value_error" |
47 | 47 |
|
48 | | - MyProfilePatch.model_validate({"userName": "u1234"}) # OK |
| 48 | + MyProfileRestPatch.model_validate({"userName": "u1234"}) # OK |
49 | 49 |
|
50 | 50 |
|
51 | 51 | def test_my_profile_patch_username_special_characters(): |
52 | 52 | # Ensure no consecutive special characters |
53 | 53 | with pytest.raises( |
54 | 54 | ValidationError, match="consecutive special characters" |
55 | 55 | ) as err_info: |
56 | | - MyProfilePatch.model_validate({"userName": "u1__234"}) |
| 56 | + MyProfileRestPatch.model_validate({"userName": "u1__234"}) |
57 | 57 |
|
58 | 58 | assert err_info.value.error_count() == 1 |
59 | 59 | assert err_info.value.errors()[0]["type"] == "value_error" |
60 | 60 |
|
61 | | - MyProfilePatch.model_validate({"userName": "u1_234"}) # OK |
| 61 | + MyProfileRestPatch.model_validate({"userName": "u1_234"}) # OK |
62 | 62 |
|
63 | 63 | # Ensure it doesn't end with a special character |
64 | 64 | with pytest.raises(ValidationError, match="end with") as err_info: |
65 | | - MyProfilePatch.model_validate({"userName": "u1234_"}) |
| 65 | + MyProfileRestPatch.model_validate({"userName": "u1234_"}) |
66 | 66 |
|
67 | 67 | assert err_info.value.error_count() == 1 |
68 | 68 | assert err_info.value.errors()[0]["type"] == "value_error" |
69 | 69 |
|
70 | | - MyProfilePatch.model_validate({"userName": "u1_234"}) # OK |
| 70 | + MyProfileRestPatch.model_validate({"userName": "u1_234"}) # OK |
71 | 71 |
|
72 | 72 |
|
73 | 73 | def test_my_profile_patch_username_reserved_words(): |
74 | 74 | # Check reserved words (example list; extend as needed) |
75 | 75 | with pytest.raises(ValidationError, match="cannot be used") as err_info: |
76 | | - MyProfilePatch.model_validate({"userName": "admin"}) |
| 76 | + MyProfileRestPatch.model_validate({"userName": "admin"}) |
77 | 77 |
|
78 | 78 | assert err_info.value.error_count() == 1 |
79 | 79 | assert err_info.value.errors()[0]["type"] == "value_error" |
80 | 80 |
|
81 | | - MyProfilePatch.model_validate({"userName": "midas"}) # OK |
| 81 | + MyProfileRestPatch.model_validate({"userName": "midas"}) # OK |
0 commit comments