browsertrix/backend/test/test_utils.py
Tessa Walsh 266afdf8d9
Add slugs to org backend (#1250)
- Add slug field with uniqueness constraint to Organization
- Use python-slugify to generate slug from name and import that in migration
- Require name in all /rename and org creation requests
- Auto-generate slug for new org with no slug or when /rename is called w/o a slug
- Auto-generate slug for 'default-org' based on name

- Add /api/orgs/slugs GET endpoint to return all slugs in use

- tests: extend backend test-requirements.txt from requirements to allow testing slugify
- tests: move get_redis_crawl_stats() to avoid extra dependency in utils
2023-10-10 18:30:09 -07:00

20 lines
566 B
Python

"""utils tests"""
import pytest
from btrixcloud.utils import slug_from_name
@pytest.mark.parametrize(
"name,expected_slug",
[
("Default org", "default-org"),
("User's org", "users-org"),
("User's @ org", "users-org"),
("Org with åccénted charactêrs", "org-with-accented-characters"),
("Org with åccénted! charactêrs@!", "org-with-accented-characters"),
("cATs! 🐈🐈‍⬛", "cats"),
],
)
def test_slug_from_name(name: str, expected_slug: str):
assert slug_from_name(name) == expected_slug