Spaces:
Sleeping
Sleeping
Download tests/test_admin_api.py from arifsoul/chatbot_rag: direct link, hf CLI and curl.
- Browser
- Download file 2.27 kB
-
https://huggingface.co/spaces/arifsoul/chatbot_rag/resolve/main/tests/test_admin_api.py
- Command line
-
hf download hf://spaces/arifsoul/chatbot_rag/tests/test_admin_api.py
-
curl -L -o test_admin_api.py https://huggingface.co/spaces/arifsoul/chatbot_rag/resolve/main/tests/test_admin_api.py
2.27 kB
| import unittest | |
| from types import SimpleNamespace | |
| from backend import main | |
| from backend.models import UserResponse | |
| from backend.roles import ( | |
| CANONICAL_SUPERADMIN_USERNAME, | |
| can_delete_user, | |
| validate_superadmin_username, | |
| validate_superadmin_password, | |
| validate_role_change, | |
| ) | |
| class AdminApiTests(unittest.TestCase): | |
| def test_admin_routes_expose_user_response_schema(self): | |
| self.assertIs(main.UserResponse, UserResponse) | |
| def test_only_canonical_username_can_keep_superadmin_role(self): | |
| superadmin = SimpleNamespace( | |
| username=CANONICAL_SUPERADMIN_USERNAME, role="superadmin" | |
| ) | |
| other_user = SimpleNamespace(username="other@example.com", role="admin") | |
| with self.assertRaises(ValueError): | |
| validate_role_change(superadmin, other_user, "superadmin") | |
| with self.assertRaises(ValueError): | |
| validate_role_change(superadmin, superadmin, "admin") | |
| def test_superadmin_can_change_or_delete_noncanonical_accounts(self): | |
| superadmin = SimpleNamespace( | |
| id=1, username=CANONICAL_SUPERADMIN_USERNAME, role="superadmin" | |
| ) | |
| other_user = SimpleNamespace(id=2, username="other@example.com", role="admin") | |
| self.assertEqual("user", validate_role_change(superadmin, other_user, "user")) | |
| self.assertTrue(can_delete_user(superadmin, other_user)) | |
| def test_canonical_superadmin_cannot_be_deleted(self): | |
| superadmin = SimpleNamespace( | |
| id=1, username=CANONICAL_SUPERADMIN_USERNAME, role="superadmin" | |
| ) | |
| self.assertFalse(can_delete_user(superadmin, superadmin)) | |
| def test_only_canonical_username_can_be_provisioned_as_superadmin(self): | |
| self.assertEqual( | |
| CANONICAL_SUPERADMIN_USERNAME, | |
| validate_superadmin_username(CANONICAL_SUPERADMIN_USERNAME), | |
| ) | |
| with self.assertRaises(ValueError): | |
| validate_superadmin_username("another@example.com") | |
| def test_superadmin_password_is_validated_for_database_seeding(self): | |
| self.assertEqual("secret", validate_superadmin_password("secret")) | |
| with self.assertRaises(ValueError): | |
| validate_superadmin_password("123") | |
| if __name__ == "__main__": | |
| unittest.main() |