mirror of
https://github.com/boostorg/website-v2.git
synced 2026-02-27 17:42:08 +00:00
(Part of #394 and #252) - Add method to the GitHub API class to retrieve a specific file from a repo by its tag and path (to retrieve README or adocc files) - Add method to Library model to retrieve the description content and render it - Fail gracefully if no content is found - Add caching logic for redis and database caching
56 lines
1.4 KiB
Python
56 lines
1.4 KiB
Python
from datetime import datetime
|
|
import os
|
|
|
|
from libraries.utils import (
|
|
decode_content,
|
|
generate_fake_email,
|
|
parse_date,
|
|
write_content_to_tempfile,
|
|
)
|
|
|
|
|
|
def test_decode_content():
|
|
byte_content = b"This is a test content"
|
|
str_content = "This is a test content"
|
|
decoded_byte_content = decode_content(byte_content)
|
|
decoded_str_content = decode_content(str_content)
|
|
assert decoded_byte_content == str_content
|
|
assert decoded_str_content == str_content
|
|
|
|
|
|
def test_generate_fake_email():
|
|
sample = "Tester de Testerson"
|
|
expected = "tester_de_testerson"
|
|
result = generate_fake_email(sample)
|
|
assert expected in result
|
|
assert "@example.com" in result
|
|
|
|
|
|
def test_parse_date_iso():
|
|
expected = datetime.now()
|
|
result = parse_date(expected.isoformat())
|
|
assert expected == result
|
|
|
|
|
|
def test_parse_date_str():
|
|
expected = datetime.now()
|
|
input_date = f"{expected.month}-{expected.day}-{expected.year}"
|
|
result = parse_date(input_date)
|
|
assert expected.date() == result.date()
|
|
|
|
|
|
def test_parse_date_str_none():
|
|
expected = None
|
|
result = parse_date("")
|
|
assert expected == result
|
|
|
|
|
|
def test_write_content_to_tempfile():
|
|
content = b"This is a test content"
|
|
temp_file = write_content_to_tempfile(content)
|
|
assert os.path.exists(temp_file.name)
|
|
with open(temp_file.name, "rb") as f:
|
|
file_content = f.read()
|
|
assert file_content == content
|
|
os.remove(temp_file.name)
|