1
0
Fork 0
mirror of synced 2024-06-16 17:24:40 +12:00
bulk-downloader-for-reddit/tests/conftest.py

41 lines
1.2 KiB
Python
Raw Normal View History

2021-02-15 22:16:51 +13:00
#!/usr/bin/env python3
# coding=utf-8
import configparser
import socket
from pathlib import Path
2021-02-15 22:16:51 +13:00
import praw
import pytest
2021-04-12 19:58:32 +12:00
from bdfr.oauth2 import OAuth2TokenManager
2021-02-15 22:16:51 +13:00
2022-12-03 18:11:17 +13:00
@pytest.fixture(scope="session")
2021-02-15 22:16:51 +13:00
def reddit_instance():
2021-04-23 22:47:16 +12:00
rd = praw.Reddit(
2022-12-03 18:11:17 +13:00
client_id="U-6gk4ZCh3IeNQ",
client_secret="7CZHY6AmKweZME5s50SfDGylaPg",
user_agent="test",
2021-04-23 22:47:16 +12:00
)
2021-02-15 22:16:51 +13:00
return rd
2022-12-03 18:11:17 +13:00
@pytest.fixture(scope="session")
def authenticated_reddit_instance():
2022-12-03 18:11:17 +13:00
test_config_path = Path("./tests/test_config.cfg")
if not test_config_path.exists():
2022-12-03 18:11:17 +13:00
pytest.skip("Refresh token must be provided to authenticate with OAuth2")
cfg_parser = configparser.ConfigParser()
cfg_parser.read(test_config_path)
2022-12-03 18:11:17 +13:00
if not cfg_parser.has_option("DEFAULT", "user_token"):
pytest.skip("Refresh token must be provided to authenticate with OAuth2")
token_manager = OAuth2TokenManager(cfg_parser, test_config_path)
2021-04-23 22:47:16 +12:00
reddit_instance = praw.Reddit(
2022-12-03 18:11:17 +13:00
client_id=cfg_parser.get("DEFAULT", "client_id"),
client_secret=cfg_parser.get("DEFAULT", "client_secret"),
2021-04-23 22:47:16 +12:00
user_agent=socket.gethostname(),
token_manager=token_manager,
)
return reddit_instance