示例#1
0
    def setUp(self):
        self.test_dir = os.path.join(FreeCAD.getHomePath(), "Mod",
                                     "AddonManager", "AddonManagerTest",
                                     "data")
        self.last_result = None

        url = "https://api.github.com/zen"
        NetworkManager.InitializeNetworkManager()
        result = NetworkManager.AM_NETWORK_MANAGER.blocking_get(url)
        if result is None:
            self.skipTest("No active internet connection detected")
示例#2
0
    def setUp(self):
        """Set up the test"""
        self.test_dir = os.path.join(FreeCAD.getHomePath(), "Mod",
                                     "AddonManager", "AddonManagerTest",
                                     "data")

        self.saved_mod_directory = Addon.mod_directory
        self.saved_cache_directory = Addon.cache_directory
        Addon.mod_directory = os.path.join(tempfile.gettempdir(),
                                           "FreeCADTesting", "Mod")
        Addon.cache_directory = os.path.join(tempfile.gettempdir(),
                                             "FreeCADTesting", "Cache")

        os.makedirs(Addon.mod_directory, mode=0o777, exist_ok=True)
        os.makedirs(Addon.cache_directory, mode=0o777, exist_ok=True)

        url = "https://api.github.com/zen"
        NetworkManager.InitializeNetworkManager()
        result = NetworkManager.AM_NETWORK_MANAGER.blocking_get(url)
        if result is None:
            self.skipTest("No active internet connection detected")

        self.macro_counter = 0
        self.workbench_counter = 0
        self.prefpack_counter = 0
        self.addon_from_cache_counter = 0
        self.macro_from_cache_counter = 0

        self.package_cache = {}
        self.macro_cache = []

        self.package_cache_filename = os.path.join(Addon.cache_directory,
                                                   "packages.json")
        self.macro_cache_filename = os.path.join(Addon.cache_directory,
                                                 "macros.json")

        if not TestWorkersInstallation.addon_list:
            self._create_addon_list()

        # Workbench: use the FreeCAD-Help workbench for testing purposes
        self.help_addon = None
        for addon in self.addon_list:
            if addon.name == "Help":
                self.help_addon = addon
                break
        if not self.help_addon:
            print("Unable to locate the FreeCAD-Help addon to test with")
            self.skipTest("No active internet connection detected")

        # Store the user's preference for whether git is enabled or disabled
        pref = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Addons")
        self.saved_git_disabled_status = pref.GetBool("disableGit", False)