83f45e7f60
Standardizes shebang and coding declarations. Coding matches what's used by install tools such as pip(x). Removes a few init files that were not needed.
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import praw
|
|
import pytest
|
|
|
|
from bdfr.archive_entry.comment_archive_entry import CommentArchiveEntry
|
|
|
|
|
|
@pytest.mark.online
|
|
@pytest.mark.reddit
|
|
@pytest.mark.parametrize(
|
|
("test_comment_id", "expected_dict"),
|
|
(
|
|
(
|
|
"gstd4hk",
|
|
{
|
|
"author": "james_pic",
|
|
"subreddit": "Python",
|
|
"submission": "mgi4op",
|
|
"submission_title": "76% Faster CPython",
|
|
"distinguished": None,
|
|
},
|
|
),
|
|
),
|
|
)
|
|
def test_get_comment_details(test_comment_id: str, expected_dict: dict, reddit_instance: praw.Reddit):
|
|
comment = reddit_instance.comment(id=test_comment_id)
|
|
test_entry = CommentArchiveEntry(comment)
|
|
result = test_entry.compile()
|
|
assert all([result.get(key) == expected_dict[key] for key in expected_dict.keys()])
|
|
|
|
|
|
@pytest.mark.online
|
|
@pytest.mark.reddit
|
|
@pytest.mark.parametrize(
|
|
("test_comment_id", "expected_min_comments"),
|
|
(
|
|
("gstd4hk", 4),
|
|
("gsvyste", 3),
|
|
("gsxnvvb", 5),
|
|
),
|
|
)
|
|
def test_get_comment_replies(test_comment_id: str, expected_min_comments: int, reddit_instance: praw.Reddit):
|
|
comment = reddit_instance.comment(id=test_comment_id)
|
|
test_entry = CommentArchiveEntry(comment)
|
|
result = test_entry.compile()
|
|
assert len(result.get("replies")) >= expected_min_comments
|