funkwhale/api/tests/federation/test_models.py

42 wiersze
1.1 KiB
Python
Czysty Zwykły widok Historia

2018-04-03 19:30:15 +00:00
import pytest
2018-04-04 21:12:41 +00:00
import uuid
2018-04-03 19:30:15 +00:00
from django import db
from funkwhale_api.federation import models
2018-04-04 21:12:41 +00:00
from funkwhale_api.federation import serializers
2018-04-03 19:30:15 +00:00
def test_cannot_duplicate_actor(factories):
actor = factories['federation.Actor']()
with pytest.raises(db.IntegrityError):
factories['federation.Actor'](
domain=actor.domain,
preferred_username=actor.preferred_username,
)
def test_cannot_duplicate_follow(factories):
follow = factories['federation.Follow']()
with pytest.raises(db.IntegrityError):
factories['federation.Follow'](
target=follow.target,
actor=follow.actor,
)
2018-04-03 21:25:44 +00:00
2018-04-03 21:25:44 +00:00
def test_follow_federation_url(factories):
follow = factories['federation.Follow'](local=True)
expected = '{}#follows/{}'.format(
follow.actor.url, follow.uuid)
assert follow.get_federation_url() == expected
2018-04-04 21:12:41 +00:00
def test_library_model_unique_per_actor(factories):
library = factories['federation.Library']()
with pytest.raises(db.IntegrityError):
factories['federation.Library'](actor=library.actor)