def test_get_wpk_file(grp_mock, pwd_mock, versions_mock, get_req_mock, open_mock, sha1_mock, test_data, agent_id): """ Test _get_wpk_file method """ def get_manager_info(available_versions): """ Return hash from manager version in available_versions list """ for version in available_versions: if WazuhVersion(version[0]) == WazuhVersion(get_manager_version()): return version[0], version[1] raise Exception # raise an exception if there is not hash for manager version def get_package_version(package_name): """ Return package version from package_name """ return re.search(r'^wazuh_agent_(v\d+\.\d+\.\d+)\w+\.wpk$', package_name).group(1) # mock _get_versions method with a list of available versions versions_mock.return_value = wpk_versions with patch('sqlite3.connect') as mock_db: mock_db.return_value = test_data.global_db agent = Agent(agent_id) agent._load_info_from_DB() # mock return value of hexdigest function manager_version, hash_manager_version = get_manager_info(wpk_versions) sha1_mock.return_value.hexdigest.return_value = hash_manager_version result = agent._get_wpk_file() assert get_package_version(result[0]) == manager_version assert result[1] == hash_manager_version