Exemplo n.º 1
0
    def test_xblock_export_format(self, id_pair, category_pair, target_pair, patched_load_definition_xml):
        """
        Test that xblock export XML format can be parsed preserving field values
        """
        xblock_xml = u"""
        <discussion
            url_name="82bb87a2d22240b1adac2dfcc1e7e5e4" xblock-family="xblock.v1"
            {id_attr}="{id_value}"
            {category_attr}="{category_value}"
            {target_attr}="{target_value}"
        />
        """.format(
            id_attr=id_pair.name, id_value=id_pair.value,
            category_attr=category_pair.name, category_value=category_pair.value,
            target_attr=target_pair.name, target_value=target_pair.value,
        )
        node = etree.fromstring(xblock_xml)

        patched_load_definition_xml.side_effect = Exception("Irrelevant")

        block = DiscussionXBlock.parse_xml(node, self.runtime_mock, self.keys, self.id_gen_mock)
        try:
            self.assertEqual(block.discussion_id, id_pair.value)
            self.assertEqual(block.discussion_category, category_pair.value)
            self.assertEqual(block.discussion_target, target_pair.value)
        except AssertionError:
            print(xblock_xml)
            raise
Exemplo n.º 2
0
    def test_xblock_export_format(self, id_pair, category_pair, target_pair,
                                  patched_load_definition_xml):
        """
        Test that xblock export XML format can be parsed preserving field values
        """
        xblock_xml = """
        <discussion
            url_name="82bb87a2d22240b1adac2dfcc1e7e5e4" xblock-family="xblock.v1"
            {id_attr}="{id_value}"
            {category_attr}="{category_value}"
            {target_attr}="{target_value}"
        />
        """.format(
            id_attr=id_pair.name,
            id_value=id_pair.value,
            category_attr=category_pair.name,
            category_value=category_pair.value,
            target_attr=target_pair.name,
            target_value=target_pair.value,
        )
        node = etree.fromstring(xblock_xml)

        patched_load_definition_xml.side_effect = Exception("Irrelevant")

        block = DiscussionXBlock.parse_xml(node, self.runtime_mock, self.keys,
                                           self.id_gen_mock)
        try:
            self.assertEqual(block.discussion_id, id_pair.value)
            self.assertEqual(block.discussion_category, category_pair.value)
            self.assertEqual(block.discussion_target, target_pair.value)
        except AssertionError:
            print(xblock_xml)
            raise
Exemplo n.º 3
0
    def test_legacy_export_format(self, id_pair, category_pair, target_pair,
                                  patched_load_definition_xml):
        """
        Test that legacy export XML format can be parsed preserving field values
        """
        xblock_xml = """<discussion url_name="82bb87a2d22240b1adac2dfcc1e7e5e4"/>"""
        xblock_definition_xml = """
        <discussion
            {id_attr}="{id_value}"
            {category_attr}="{category_value}"
            {target_attr}="{target_value}"
        />""".format(
            id_attr=id_pair.name,
            id_value=id_pair.value,
            category_attr=category_pair.name,
            category_value=category_pair.value,
            target_attr=target_pair.name,
            target_value=target_pair.value,
        )
        node = etree.fromstring(xblock_xml)
        definition_node = etree.fromstring(xblock_definition_xml)

        patched_load_definition_xml.return_value = (definition_node,
                                                    "irrelevant")

        block = DiscussionXBlock.parse_xml(node, self.runtime_mock, self.keys,
                                           self.id_gen_mock)
        try:
            assert block.discussion_id == id_pair.value
            assert block.discussion_category == category_pair.value
            assert block.discussion_target == target_pair.value
        except AssertionError:
            print(xblock_xml, xblock_definition_xml)
            raise