from os import remove from bs4 import BeautifulSoup from tsstats.utils import seconds_to_text from tsstats.log import parse_logs from tsstats.template import render_template output_path = 'tsstats/tests/res/output.html' clients = parse_logs('tsstats/tests/res/test.log') class TestTemplate: def teardown_class(): remove(output_path) def test_debug(self): render_template(clients, output_path, debug=True) soup = BeautifulSoup(open(output_path), 'html.parser') # check red label assert soup.find_all(class_='alert alert-danger') # check ident present after nick li = soup.find('li') assert li assert '(' in li.text.split()[1] def test_data(self): render_template(clients, output_path) soup = BeautifulSoup(open(output_path), 'html.parser') # check onlinetime-data assert seconds_to_text(clients['1'].onlinetime) == \ soup.find('span', class_='badge').text