Skip to content

Flaky publishing test failure related to QTI export #5291

@bjester

Description

@bjester

This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Observed behavior

A publishing test appears to be causing intermittent failures, due to some QTI validation error. It's occurring in the setUp method of ExportChannelTestCase

Errors and logs

=================================== FAILURES ===================================
________________ ExportChannelTestCase.test_inherited_category _________________
...
contentcuration/contentcuration/utils/publish.py:179: in create_content_database
    tree_mapper.map_nodes()
contentcuration/contentcuration/utils/publish.py:266: in map_nodes
    self.recurse_nodes(self.root_node, {})
contentcuration/contentcuration/utils/publish.py:367: in recurse_nodes
    self.recurse_nodes(child, metadata)
contentcuration/contentcuration/utils/publish.py:367: in recurse_nodes
    self.recurse_nodes(child, metadata)
contentcuration/contentcuration/utils/publish.py:360: in recurse_nodes
    generator.create_exercise_archive()
contentcuration/contentcuration/utils/assessment/base.py:393: in create_exercise_archive
    self.process_assessment_item(question)
contentcuration/contentcuration/utils/assessment/base.py:344: in process_assessment_item
    filepath, file_content = self.create_assessment_item(assessment_item, context)
contentcuration/contentcuration/utils/assessment/qti/archive.py:189: in create_assessment_item
    ) = self._create_text_entry_interaction_and_response(processed_data)
contentcuration/contentcuration/utils/assessment/qti/archive.py:148: in _create_text_entry_interaction_and_response
    correct_values = [
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

.0 = <list_iterator object at 0x7f853fca6290>

    correct_values = [
>       Value(value=answer["answer"])
        for answer in processed_data["answers"]
        if answer["correct"]
    ]
E   pydantic_core._pydantic_core.ValidationError: 1 validation error for Value
E   value
E     Input should be a valid dictionary or instance of TextNode [type=model_type, input_value=10, input_type=int]
E       For further information visit https://errors.pydantic.dev/2.11/v/model_type
contentcuration/contentcuration/utils/assessment/qti/archive.py:149: ValidationError

Expected behavior

The test suite is not flaky, and does not intermittently fail without changes.

Context

https://github.com/learningequality/studio/actions/runs/16940891190/job/48009413943
https://github.com/learningequality/studio/actions/runs/16947000461/job/48030391066

Metadata

Metadata

Assignees

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions