1
0

Wikidata client and property

This commit is contained in:
Jon Michael Aanes 2024-11-01 21:42:16 +01:00
parent 431962c02f
commit a9e2cb3ccc
Signed by: Jmaa
SSH Key Fingerprint: SHA256:Ab0GfHGCblESJx7JRE4fj4bFy/KRpeLhi41y4pF3sNA
5 changed files with 42 additions and 1 deletions

View File

@ -1 +1,2 @@
pytest
wikidata

5
test/test_data.py Normal file
View File

@ -0,0 +1,5 @@
import socials_util
def test_is_aggregator():
assert not socials_util.SocialSiteId.PAGE_WATCH.is_aggregator()
assert not socials_util.SocialSiteId.FALKON_PROFILE_BOOKMARKS.is_aggregator()

View File

@ -1,7 +1,12 @@
import pytest
import aenum
import socials_util
def test_re_social_path_validation():
with pytest.raises(ValueError):
socials_util.re_social_path('www.example.org')
def test_extension():
my_secret_site = aenum.extend_enum(socials_util.SocialSiteId, 'MY_SECRET_SITE', 666)

View File

@ -1,8 +1,10 @@
import pytest
import urllib.parse
import socials_util
from socials_util import SocialLink, SocialSiteId, determine_social_from_url
PARSABLE_SOCIAL_IDS_COMBINED: list[tuple[str, object, str]] = [
PARSABLE_SOCIAL_IDS_COMBINED: list[tuple[str, object, str | None]] = [
# Tumblr formats
('https://triviallytrue.tumblr.com/', SocialSiteId.TUMBLR, 'triviallytrue'),
('https://www.triviallytrue.tumblr.com/', SocialSiteId.TUMBLR, 'triviallytrue'),
@ -186,6 +188,13 @@ PARSABLE_SOCIAL_IDS_COMBINED: list[tuple[str, object, str]] = [
# Cara
('https://cara.app/simzart', SocialSiteId.CARA_PROFILE, 'simzart'),
('https://cara.app/simzart/all', SocialSiteId.CARA_PROFILE, 'simzart'),
# Mastodon
('https://idlethumbs.social/@testtest', SocialSiteId.MASTODON_PAGE, None),
('https://mastodon.example.org/testtest', SocialSiteId.MASTODON_PAGE, None),
# Feeds
('https://example.org/main.atom', SocialSiteId.RSS_FEED, None),
]
NOT_PARSABLE = [
@ -213,3 +222,15 @@ def test_parse_social_ids(url: str, expected_social_site_id: SocialSiteId, expec
@pytest.mark.parametrize('url', NOT_PARSABLE)
def test_not_parsable(url: str) -> None:
assert determine_social_from_url(url) is None
def test_wrong_parse_type() -> None:
with pytest.raises(TypeError):
assert socials_util.to_parse_result(None)
def test_from_parse_result() -> None:
urlresult = urllib.parse.urlparse('https://old.reddit.com/user/Harpsibored/submitted/')
assert socials_util.to_parse_result(urlresult) is urlresult
def test_determine_social_from_url_internally() -> None:
with pytest.raises(TypeError):
assert socials_util.determine_social_from_url_internally(None)

View File

@ -0,0 +1,9 @@
import pytest
import socials_util
import wikidata
def test_wikidata_properties():
wikidata_client = wikidata.client.Client()
wikidata_property = socials_util.SocialSiteId.RSS_FEED.wikidata_property(wikidata_client)
assert wikidata_property is not None