Newer
Older
import datetime
from funkwhale_network import serializers
async def test_create_domain_ignore_duplicate(populated_db, db_conn):
r1 = await serializers.create_domain(db_conn, {"name": "test.domain"})
r2 = await serializers.create_domain(db_conn, {"name": "test.domain"})
assert r1 != r2
assert r2 is None
def test_serialize_check():
data = {
"time": datetime.datetime.now(),
"up": True,
"open_registrations": True,
"private": True,
"federation_enabled": False,
"anonymous_can_listen": True,
"usage_users_total": 1,
"usage_users_active_half_year": 2,
"usage_users_active_month": 3,
"usage_listenings_total": 4,
"usage_downloads_total": 44,
"library_tracks_total": 5,
"library_albums_total": 6,
"library_artists_total": 7,
"library_music_hours": 8,
"software_name": "funkwhale",
"software_version_major": 0,
"software_version_minor": 18,
"software_version_patch": 0,
"software_prerelease": "dev",
"software_build": "git.hash",
}
expected = {
"time": data["time"].isoformat(),
"up": True,
"settings": {
"openRegistrations": True,
"federationEnabled": False,
"anonymousCanListen": True,
},
"library": {
"tracks": {"total": 5},
"albums": {"total": 6},
"artists": {"total": 7},
"music": {"hours": 8},
},
"usage": {
"users": {"total": 1, "activeHalfyear": 2, "activeMonth": 3},
"listenings": {"total": 4},
"downloads": {"total": 44},
},
"software": {
"name": "funkwhale",
"version": "0.18.0-dev+git.hash",
"versionDetail": {
"major": 0,
"minor": 18,
"patch": 0,
"prerelease": "dev",
"build": "git.hash",
},
},
}
assert serializers.serialize_check(data) == expected
def test_serialize_domain_from_check():
data = {
"domain": "test",
"node_name": "Hello",
"first_seen": datetime.datetime.now(),
"other_data": False,
}
expected = {
"name": "test",
"node_name": "Hello",
"first_seen": data["first_seen"].isoformat(),
"lastCheck": {"other_data": False},
}
assert serializers.serialize_domain_from_check(data) == expected