Skip to content
Snippets Groups Projects
test_serializers.py 2.48 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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