def test_send_wpk_file(_get_wpk_mock, get_req_mock, stat_mock, ossec_socket_mock, open_mock, test_data, agent_id): """ Test _send_wpk_file method """ with patch('sqlite3.connect') as mock_db: mock_db.return_value = test_data.global_db agent = Agent(agent_id) for version in wpk_versions: _get_wpk_mock.return_value = version # mock return value of OssecSocket.receive method with a binary string ossec_socket_mock.return_value.receive.return_value = f'ok {version[1]}'.encode() # mock return value of open.read for avoid infinite loop open_mock.return_value.read.return_value = b'' result = agent._send_wpk_file() assert result == ["WPK file sent", version[0]]