<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="12" time="8.802" timestamp="2026-08-18T21:11:24.026956+00:00" hostname="agent-env-b11a7460-dadf-4672-8b54-9c3cd7b6f18b"><testcase classname="tests.test_iteration4.TestScoringFloorAndRounding" name="test_package_persists_min_score_and_rounding" time="2.054" /><testcase classname="tests.test_iteration4.TestNotifications" name="test_admin_forbidden" time="1.031" /><testcase classname="tests.test_iteration4.TestNotifications" name="test_siswa_gets_live_for_seeded_active" time="0.566" /><testcase classname="tests.test_iteration4.TestNotifications" name="test_announcement_and_upcoming_flow" time="1.731" /><testcase classname="tests.test_iteration4.TestScoringFloorAndRounding" name="test_min_score_floor_with_integer_rounding" time="3.047" /><testcase classname="tests.test_iteration4.TestNotifications" name="test_completed_session_excluded_from_live" time="2.015" /><testcase classname="tests.test_iteration4.TestScoringFloorAndRounding" name="test_rounding_1desimal_produces_one_decimal" time="2.426" /><testcase classname="tests.test_iteration4.TestAnalyticsClasses" name="test_siswa_forbidden" time="0.166" /><testcase classname="tests.test_iteration4.TestAnalyticsClasses" name="test_admin_shape" time="0.125" /><testcase classname="tests.test_iteration4.TestAnalyticsClasses" name="test_guru_allowed" time="0.546" /><testcase classname="tests.test_iteration4.TestImportWithImageUrl" name="test_template_contains_image_url_column" time="0.120" /><testcase classname="tests.test_iteration4.TestImportWithImageUrl" name="test_import_row_with_valid_image_downloads" time="0.723"><failure message="AssertionError: expected image_path set, got {'id': 'bd6b5ecf-fd2e-49db-84bc-0ad285565cb1', 'category_id': '4b31be1b-492f-4df5-9281-54394a184866', 'type': 'pg', 'text': 'TEST_I4_IMPQ_6fe705b7', 'options': ['aa', 'bb', 'cc', 'dd'], 'correct_answer': '0', 'weight': 1.0, 'image_path': None, 'created_at': '2026-08-18T21:11:32.449580+00:00'}&#10;assert None&#10; +  where None = &lt;built-in method get of dict object at 0xfabcd4942c80&gt;('image_path')&#10; +    where &lt;built-in method get of dict object at 0xfabcd4942c80&gt; = {'id': 'bd6b5ecf-fd2e-49db-84bc-0ad285565cb1', 'category_id': '4b31be1b-492f-4df5-9281-54394a184866', 'type': 'pg', 'text': 'TEST_I4_IMPQ_6fe705b7', ...}.get">backend/tests/test_iteration4.py:222: in test_import_row_with_valid_image_downloads
    assert good_q.get("image_path"), f"expected image_path set, got {good_q}"
E   AssertionError: expected image_path set, got {'id': 'bd6b5ecf-fd2e-49db-84bc-0ad285565cb1', 'category_id': '4b31be1b-492f-4df5-9281-54394a184866', 'type': 'pg', 'text': 'TEST_I4_IMPQ_6fe705b7', 'options': ['aa', 'bb', 'cc', 'dd'], 'correct_answer': '0', 'weight': 1.0, 'image_path': None, 'created_at': '2026-08-18T21:11:32.449580+00:00'}
E   assert None
E    +  where None = &lt;built-in method get of dict object at 0xfabcd4942c80&gt;('image_path')
E    +    where &lt;built-in method get of dict object at 0xfabcd4942c80&gt; = {'id': 'bd6b5ecf-fd2e-49db-84bc-0ad285565cb1', 'category_id': '4b31be1b-492f-4df5-9281-54394a184866', 'type': 'pg', 'text': 'TEST_I4_IMPQ_6fe705b7', ...}.get</failure></testcase></testsuite></testsuites>