import os
from abc import ABC

from library_test.base_test import BaseLibraryTest


class TestInstallDl(BaseLibraryTest, ABC):
    DL_MODULE = "ascend_deployer.module_utils.dl"
    TESTCASE_DIR = os.path.join(os.path.dirname(__file__), "testcase")

    @classmethod
    def setUpClass(cls) -> None:
        cls.replace_linux_module()
        cls.replace_dl()
        super().setUpClass()
        cls.mock_manager.start_ansible_module_patcher(cls.DL_MODULE)
        cls.mock_manager.start_uid_patcher(cls.DL_MODULE)
        cls.mock_manager.start_gid_patcher(cls.DL_MODULE)
        cls.mock_manager.start_arch_patcher(cls.DL_MODULE)
        cls.mock_manager.start_zip_open_patcher(cls.DL_MODULE)

    @classmethod
    def get_module_path(cls):
        return "ascend_deployer.module_utils.dl"