diff options
author | David Luevano Alvarado <david@luevano.xyz> | 2023-08-21 23:45:14 -0600 |
---|---|---|
committer | David Luevano Alvarado <david@luevano.xyz> | 2023-08-21 23:45:14 -0600 |
commit | ffe145a6c67afed6fb68326edbc91cbd94a3f846 (patch) | |
tree | 8eb6f354beff2c35d1f823cf058f3fd4c74b49d0 /tests/conftest.py | |
parent | 5c3b2c158180aa47003c5e82857594afd0c2bd7b (diff) |
feat: fuck it, delete tests
Diffstat (limited to 'tests/conftest.py')
-rw-r--r-- | tests/conftest.py | 245 |
1 files changed, 0 insertions, 245 deletions
diff --git a/tests/conftest.py b/tests/conftest.py deleted file mode 100644 index dc92eb1..0000000 --- a/tests/conftest.py +++ /dev/null @@ -1,245 +0,0 @@ -import os -import sys -import pytest -import shutil -from pathlib import Path -from typing import Any, Callable -from pytest import MonkeyPatch -from argparse import ArgumentParser -from datetime import datetime, timezone -from importlib.metadata import version as v -from logging import Logger, getLogger, DEBUG -from copy import deepcopy - -from pyssg.arg_parser import get_parser -from pyssg.custom_logger import setup_logger -from pyssg.database_entry import DatabaseEntry -from pyssg.page import Page - - -@pytest.fixture(scope='session') -def version(): - return v('pyssg') - - -@pytest.fixture(scope='session') -def rss_date_fmt(): - return '%a, %d %b %Y %H:%M:%S GMT' - - -@pytest.fixture(scope='session') -def sitemap_date_fmt(): - return '%Y-%m-%d' - - -@pytest.fixture(scope='session') -def sample_files_path() -> str: - return f'{str(os.path.dirname(os.path.abspath(__file__)))}/sample_files' - - -@pytest.fixture(scope='session') -def config_resource() -> str: - return 'tests.sample_files.config' - - -@pytest.fixture(scope='session') -def default_yaml() -> str: - return 'default.yaml' - - -@pytest.fixture(scope='session') -def arg_parser() -> ArgumentParser: - return get_parser() - - -@pytest.fixture(scope='session') -def logger() -> Logger: - setup_logger(__name__, DEBUG) - return getLogger(__name__) - - -@pytest.fixture(scope='function') -def capture_stdout(monkeypatch: MonkeyPatch) -> dict[str, str | int]: - buffer: dict[str, str | int] = {'stdout': '', 'write_calls': 0} - - def fake_writer(s): - buffer['stdout'] += s - buffer['write_calls'] += 1 # type: ignore - - monkeypatch.setattr(sys.stdout, 'write', fake_writer) - return buffer - - -@pytest.fixture(scope='session') -def get_fmt_time() -> Callable[..., str]: - def fmt_time(fmt: str) -> str: - return datetime.now(tz=timezone.utc).strftime(fmt) - return fmt_time - - -@pytest.fixture(scope='function') -def default_config() -> dict[str, Any]: - return {'define': '$PYSSG_HOME/pyssg/site_example/', - 'title': 'Example site', - 'path': { - 'src': '/tmp/pyssg/pyssg/site_example/src', - 'dst': '/tmp/pyssg/pyssg/site_example/dst', - 'plt': '/tmp/pyssg/pyssg/site_example/plt', - 'db': '/tmp/pyssg/pyssg/site_example/.files'}, - 'url': { - 'main': 'https://example.com'}, - 'fmt': { - 'date': '%a, %b %d, %Y @ %H:%M %Z'}, - 'dirs': { - '/': { - 'cfg': { - 'plt': 'page.html', - 'tags': False, - 'index': False, - 'rss': False, - 'sitemap': False}}}} - - -@pytest.fixture(scope='function') -def root_dir_config() -> dict[str, Any]: - return {'plt': 'page.html', - 'tags': False, - 'index': False, - 'rss': False, - 'sitemap': False, - 'src': '/tmp/pyssg/pyssg/site_example/src', - 'dst': '/tmp/pyssg/pyssg/site_example/dst', - 'url': 'https://example.com'} - - -@pytest.fixture(scope='function') -def tmp_dir_structure(tmp_path: Path) -> Path: - root: Path = tmp_path/'dir_structure' - # order matters - dirs: list[Path] = [root, - root/'first', - root/'first/f1', - root/'first/f1/f2', - root/'second', - root/'second/s1'] - for i, d in enumerate(dirs): - d.mkdir() - for ext in ['txt', 'md', 'html']: - (d/f'f{i}.{ext}').write_text('sample') - return root - - -@pytest.fixture(scope='session') -def tmp_db_e1() -> DatabaseEntry: - return DatabaseEntry(('first.md', - 1671076311.823135, - 0.0, - '778bce781d95730cd1e872a10130e20d', - '-')) - - -@pytest.fixture(scope='session') -def tmp_db_e2() -> DatabaseEntry: - return DatabaseEntry(('a/second.md', - 1671077831.63301, - # 1671078892.892921, - 1677381461.8107588, - # '6092d6471d3a83135293e34ef6012939', - 'a61d0116844b6ebc02db62b4b1bf453d', - 'english,short,update')) - - -@pytest.fixture(scope='function') -def tmp_db(tmp_path: Path, - tmp_db_e1: DatabaseEntry, - tmp_db_e2: DatabaseEntry) -> Path: - root: Path = tmp_path/'db' - db_path: Path = tmp_path/'db/sample_db.psv' - root.mkdir() - e1: str = '|'.join(tmp_db_e1.get_raw_entry()) - e2: str = '|'.join(tmp_db_e2.get_raw_entry()) - db_path.write_text(f'{e1}\n{e2}\n') - return db_path - - -@pytest.fixture(scope='function') -def tmp_db_wrong_col_num(tmp_path: Path) -> Path: - root: Path = tmp_path/'db' - db_path: Path = tmp_path/'db/sample_db_wrong_col_num.psv' - root.mkdir() - # missing tags, could be anything though - db_path.write_text('name|0.0|0.0|cksm\n') - return db_path - - -@pytest.fixture(scope='function') -def tmp_src_dir(tmp_path: Path, - sample_files_path: str) -> Path: - src: Path = tmp_path/'src' - src_a: Path = src/'a' - src.mkdir() - src_a.mkdir() - src_test: str = f'{sample_files_path}/md' - - files: list[str] = ['first.md', 'new.md', 'a/second.md'] - for f in files: - shutil.copy2(f'{src_test}/{f}', f'{str(src)}/{f}') - return src - - -@pytest.fixture(scope='function') -def page_simple(default_config: dict[str, Any], - root_dir_config: dict[str, Any], - rss_date_fmt: str, - sitemap_date_fmt: str) -> Page: - # adding the fmt as it is added on the code before being passed to the page - config: dict[str, Any] = deepcopy(default_config) - config['fmt']['rss_date'] = rss_date_fmt - config['fmt']['sitemap_date'] = sitemap_date_fmt - - return Page( - name='simple.md', - ctime=1682418172.291993, - mtime=0.0, - html='<p>Simple converted md with nothing but this text.</p>', - toc='<div class="toc">\n<ul></ul>\n</div>\n', - toc_tokens=[], - meta=dict(), - config=config, - dir_config=root_dir_config - ) - - -# this is basically page_simple with extras -@pytest.fixture(scope='function') -def page_simple_modified(default_config: dict[str, Any], - root_dir_config: dict[str, Any], - rss_date_fmt: str, - sitemap_date_fmt: str) -> Page: - config: dict[str, Any] = deepcopy(default_config) - config['fmt']['rss_date'] = rss_date_fmt - config['fmt']['sitemap_date'] = sitemap_date_fmt - - dir_config: dict[str, Any] = deepcopy(root_dir_config) - dir_config['tags'] = True - tags: list[str] = ['blog', 'english', 'etc'] - - basic_meta: dict[str, Any] = { - 'title': 'Example title', - 'author': 'Single Author', - 'summary': 'Some summary.', - 'lang': 'es', - 'tags': tags - } - - return Page( - name='simple_modified.md', - ctime=1682418300.291993, - mtime=1682418350.291993, - html='<p>Simple converted md with nothing but this text, modified.</p>', - toc='<div class="toc">\n<ul></ul>\n</div>\n', - toc_tokens=[], - meta=basic_meta, - config=config, - dir_config=dir_config - ) |