From ee8bd215ba7ec44131b78ea19b03988ab1130c36 Mon Sep 17 00:00:00 2001 From: Anuj Tripathi <149668092+anuj452005@users.noreply.github.com> Date: Fri, 20 Feb 2026 13:30:26 +0530 Subject: [PATCH] Mock test_class_labels in test_learning_curve_task.py --- .../tasks/data_description_20.xml | 15 ++++++++++ .../mock_responses/tasks/data_features_20.xml | 22 +++++++++++++++ tests/files/mock_responses/tasks/task_801.xml | 22 +++++++++++++++ tests/test_tasks/test_learning_curve_task.py | 28 ++++++++++++++++--- 4 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 tests/files/mock_responses/tasks/data_description_20.xml create mode 100644 tests/files/mock_responses/tasks/data_features_20.xml create mode 100644 tests/files/mock_responses/tasks/task_801.xml diff --git a/tests/files/mock_responses/tasks/data_description_20.xml b/tests/files/mock_responses/tasks/data_description_20.xml new file mode 100644 index 000000000..c502b0d3e --- /dev/null +++ b/tests/files/mock_responses/tasks/data_description_20.xml @@ -0,0 +1,15 @@ + + 20 + diabetes + 1 + Pima Indians Diabetes dataset. + ARFF + 2014-04-06T23:19:24 + Public + https://test.openml.org/data/download/20/dataset_20.arff + 20 + class + public + active + 00000000000000000000000000000000 + diff --git a/tests/files/mock_responses/tasks/data_features_20.xml b/tests/files/mock_responses/tasks/data_features_20.xml new file mode 100644 index 000000000..bd6a18218 --- /dev/null +++ b/tests/files/mock_responses/tasks/data_features_20.xml @@ -0,0 +1,22 @@ + + + 0 + preg + numeric + false + false + false + 0 + + + 1 + class + nominal + tested_negative + tested_positive + true + false + false + 0 + + diff --git a/tests/files/mock_responses/tasks/task_801.xml b/tests/files/mock_responses/tasks/task_801.xml new file mode 100644 index 000000000..909efd225 --- /dev/null +++ b/tests/files/mock_responses/tasks/task_801.xml @@ -0,0 +1,22 @@ + + 801 + 3 + Learning Curve + + + 20 + class + + + + + 13 + crossvalidation + https://test.openml.org/api_splits/get/801/Task_801_splits.arff + 1 + 10 + + true + + + diff --git a/tests/test_tasks/test_learning_curve_task.py b/tests/test_tasks/test_learning_curve_task.py index 465d9c0be..eadb2579a 100644 --- a/tests/test_tasks/test_learning_curve_task.py +++ b/tests/test_tasks/test_learning_curve_task.py @@ -1,10 +1,15 @@ # License: BSD 3-Clause from __future__ import annotations +import requests +from unittest import mock + import pandas as pd import pytest +import openml from openml.tasks import TaskType, get_task +from openml.testing import create_request_response from .test_supervised_task import OpenMLSupervisedTaskTest @@ -34,7 +39,22 @@ def test_download_task(self): assert task.task_type_id == TaskType.LEARNING_CURVE assert task.dataset_id == 20 - @pytest.mark.test_server() - def test_class_labels(self): - task = get_task(self.task_id) - assert task.class_labels == ["tested_negative", "tested_positive"] + +@mock.patch.object(requests.Session, "get") +def test_class_labels(mock_get, test_files_directory, test_api_key): + task_response = create_request_response( + status_code=200, + content_filepath=test_files_directory / "mock_responses" / "tasks" / "task_801.xml", + ) + description_response = create_request_response( + status_code=200, + content_filepath=test_files_directory / "mock_responses" / "tasks" / "data_description_20.xml", + ) + features_response = create_request_response( + status_code=200, + content_filepath=test_files_directory / "mock_responses" / "tasks" / "data_features_20.xml", + ) + mock_get.side_effect = [task_response, description_response, features_response] + + task = openml.tasks.get_task(801) + assert task.class_labels == ["tested_negative", "tested_positive"]