Files
2026-07-13 12:28:23 +08:00

78 lines
2.4 KiB
Python

import argostranslate
from argostranslate import package
import pytest
class TestIPackage:
def setup_method(self):
self.ipackage = package.IPackage()
self.test_metadata = {
"package_version": 0.1,
"argos_version": 0.2,
"from_code": "en",
"from_name": "English",
"to_code": "es",
"to_name": "Spanish",
"links": ["https://example.com/en_es.argosmodel"],
}
def test_load_metadata_from_json(self):
self.ipackage.load_metadata_from_json(self.test_metadata)
for key, value in self.test_metadata.items():
assert hasattr(self.ipackage, key)
assert getattr(self.ipackage, key) == value
def test_get_readme(self):
with pytest.raises(NotImplementedError):
self.ipackage.get_readme()
def test_get_description(self):
with pytest.raises(NotImplementedError):
self.ipackage.get_description()
def test_equal(self):
package_one = package.IPackage()
package_two = package.IPackage()
package_one.load_metadata_from_json(self.test_metadata)
package_two.load_metadata_from_json(self.test_metadata)
# They both have the same metadata right now
assert package_one == package_two
# Change package version, now they are not the same
package_one.package_version += 1
assert package_one != package_two
def test_string(self):
test_package = package.IPackage()
test_package.load_metadata_from_json(self.test_metadata)
expected = f"{test_package.from_name} -> {test_package.to_name}"
assert repr(test_package) == expected
class TestPackage:
def setup_method(self):
with pytest.raises(FileNotFoundError):
self.package = package.Package("example/")
self.package = package.Package("tests/data/package/")
self.readme = "# This is the test package readme\n"
def test_get_readme(self):
with pytest.raises(FileNotFoundError):
package_one = package.Package("example/")
assert package_one.get_readme() == None
with pytest.raises(FileNotFoundError):
package_one = package.Package("path/to/nowhere")
assert package_one.get_readme() == None
assert self.package.get_readme() == self.readme
def test_get_description(self):
self.package.get_description() == self.readme