kiwix-apple-custom/tests/info_parser_test.py
Balazs Perlaki-Horvath a64ef28a4c CD per brand
2024-01-12 22:47:24 +01:00

90 lines
3.2 KiB
Python

import unittest
from src.info_parser import InfoParser
from pathlib import Path
import yaml
import os
class InfoParserTest(unittest.TestCase):
def setUp(self):
self.parser = InfoParser(Path()/"tests"/"test.json")
def test_json_to_project_yml(self):
project = self.parser.as_project_yml()
print("custom_project.yml targets:")
print(yaml.dump(project))
def test_info_plist_path(self):
custom_info = self.parser._info_plist_path()
self.assertEqual(custom_info, Path()/"tests"/"tests.plist")
def test_file_name_from_url(self):
url = "https://www.dwds.de/kiwix/f/dwds_de_dictionary_nopic_2023-11-20.zim"
file_name = self.parser._filename_from(url)
self.assertEqual(file_name, "dwds_de_dictionary_nopic_2023-11-20")
url = "https://www.dwds.de/kiwix/f/dwds_de_dictionary_nopic_2023-11.zim"
file_name = self.parser._filename_from(url)
self.assertEqual(file_name, "dwds_de_dictionary_nopic_2023-11")
def test_brand_name_from_file_path(self):
filepath = Path().home()/"some"/"dev"/"path"/"project"/"dwds"/"info.json"
brand_name = self.parser._brandname_from(filepath)
self.assertEqual(brand_name, "dwds")
def test_version_from_filename(self):
version = self.parser._app_version_from(
"dwds_de_dictionary_nopic_2023-11-20")
self.assertEqual(version, "1023.11")
version = self.parser._app_version_from(
"dwds_de_dictionary_nopic_2023-09-20")
self.assertEqual(version, "1023.9")
version = self.parser._app_version_from(
"dwds_de_dictionary_nopic_2023-01")
self.assertEqual(version, "1023.1")
version = self.parser._app_version_from(
"dwds_de_dictionary_nopic_2023-12")
self.assertEqual(version, "1023.12")
def test_app_name(self):
app_name = self.parser._app_name()
self.assertEqual(app_name, "DWDS")
def test_enforced_language(self):
enforced_language = self.parser._enforced_language()
self.assertEqual(enforced_language, "de")
def test_excluded_languages(self):
excluded = self.parser._excluded_languages()
self.assertIn("**/*.lproj", excluded)
def test_app_version(self):
self.assertEqual(self.parser._app_version(), "1023.12.3")
def test_app_version_using_a_tag(self):
parser = InfoParser(Path()/"tests"/"test.json", build_version=15)
self.assertEqual(parser._app_version(), "1023.12.15")
parser = InfoParser(Path()/"tests"/"test.json", build_version=33)
self.assertEqual(parser._app_version(), "1023.12.33")
def test_as_plist(self):
self.parser.create_plist(
based_on_plist_file=Path()/"tests"/"Support"/"Info.plist")
def test_zimurl(self):
self.assertEqual(self.parser.zimurl(
), "https://www.dwds.de/kiwix/f/dwds_de_dictionary_nopic_2023-12-15.zim")
def test_zimfile_path(self):
self.assertEqual(self.parser.zim_file_path(),
Path()/"tests"/"dwds_de_dictionary_nopic_2023-12-15.zim")
def test_auth_value(self):
self.assertEqual(self.parser.download_auth(), os.getenv(
"DWDS_HTTP_BASIC_ACCESS_AUTHENTICATION"))