You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

test_check_learnware.py 3.4 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import os
  2. import json
  3. import zipfile
  4. import unittest
  5. import tempfile
  6. from learnware.client import LearnwareClient
  7. class TestCheckLearnware(unittest.TestCase):
  8. def setUp(self):
  9. unittest.TestCase.setUpClass()
  10. self.client = LearnwareClient()
  11. def test_check_learnware_pip_only_zip(self):
  12. learnware_id = "00000208"
  13. with tempfile.TemporaryDirectory(prefix="learnware_") as tempdir:
  14. self.zip_path = os.path.join(tempdir, "test.zip")
  15. self.client.download_learnware(learnware_id, self.zip_path)
  16. LearnwareClient.check_learnware(self.zip_path)
  17. def test_check_learnware_pip(self):
  18. learnware_id = "00000208"
  19. with tempfile.TemporaryDirectory(prefix="learnware_") as tempdir:
  20. self.zip_path = os.path.join(tempdir, "test.zip")
  21. self.client.download_learnware(learnware_id, self.zip_path)
  22. semantic_spec = self.client.get_semantic_specification(learnware_id)
  23. LearnwareClient.check_learnware(self.zip_path, semantic_spec)
  24. def test_check_learnware_conda(self):
  25. learnware_id = "00000148"
  26. with tempfile.TemporaryDirectory(prefix="learnware_") as tempdir:
  27. self.zip_path = os.path.join(tempdir, "test.zip")
  28. self.client.download_learnware(learnware_id, self.zip_path)
  29. semantic_spec = self.client.get_semantic_specification(learnware_id)
  30. LearnwareClient.check_learnware(self.zip_path, semantic_spec)
  31. def test_check_learnware_dependency(self):
  32. learnware_id = "00000147"
  33. with tempfile.TemporaryDirectory(prefix="learnware_") as tempdir:
  34. self.zip_path = os.path.join(tempdir, "test.zip")
  35. self.client.download_learnware(learnware_id, self.zip_path)
  36. semantic_spec = self.client.get_semantic_specification(learnware_id)
  37. LearnwareClient.check_learnware(self.zip_path, semantic_spec)
  38. def test_check_learnware_image(self):
  39. learnware_id = "00000677"
  40. with tempfile.TemporaryDirectory(prefix="learnware_") as tempdir:
  41. self.zip_path = os.path.join(tempdir, "test.zip")
  42. self.client.download_learnware(learnware_id, self.zip_path)
  43. semantic_spec = self.client.get_semantic_specification(learnware_id)
  44. LearnwareClient.check_learnware(self.zip_path, semantic_spec)
  45. def test_check_learnware_text(self):
  46. learnware_id = "00000662"
  47. with tempfile.TemporaryDirectory(prefix="learnware_") as tempdir:
  48. self.zip_path = os.path.join(tempdir, "test.zip")
  49. self.client.download_learnware(learnware_id, self.zip_path)
  50. semantic_spec = self.client.get_semantic_specification(learnware_id)
  51. LearnwareClient.check_learnware(self.zip_path, semantic_spec)
  52. def suite():
  53. _suite = unittest.TestSuite()
  54. _suite.addTest(TestCheckLearnware("test_check_learnware_pip_only_zip"))
  55. _suite.addTest(TestCheckLearnware("test_check_learnware_pip"))
  56. _suite.addTest(TestCheckLearnware("test_check_learnware_conda"))
  57. _suite.addTest(TestCheckLearnware("test_check_learnware_dependency"))
  58. _suite.addTest(TestCheckLearnware("test_check_learnware_image"))
  59. _suite.addTest(TestCheckLearnware("test_check_learnware_text"))
  60. return _suite
  61. if __name__ == "__main__":
  62. runner = unittest.TextTestRunner()
  63. runner.run(suite())