コード例 #1
0
    def test_get_record_with_xml_decl_use_raw(
        self,
        mock_get,
        mock_request,
        mock_check_identifier,
        mock_get_by_data,
        mock_get_by_metadata_prefix,
        mock_get_all_by_template_ids,
    ):
        # Arrange
        xml_decl = "<?xml version='1.0' encoding='UTF-8'?>"
        mock_oai_template = Mock(spec=Template)
        mock_oai_template.id = ObjectId()

        mock_metadata_format = Mock(spec=OaiProviderMetadataFormat)
        mock_metadata_format.is_template = True
        mock_metadata_format.template = mock_oai_template

        mock_oai_data = Mock(spec=OaiData)
        mock_oai_data.status = oai_status.ACTIVE
        mock_oai_data.template = mock_oai_template
        mock_oai_data.data.xml_content = ("""
            %s
            <body>
                <tag01>value_a</tag01>
                <tag02>value_b</tag02>
            </body>
        """ % xml_decl)
        mock_oai_data.oai_date_stamp = datetime(2019, 4, 1)

        mock_get.return_value = _create_mock_oai_settings()
        mock_request.return_value = ""
        mock_check_identifier.return_value = ObjectId()
        mock_get_by_data.return_value = mock_oai_data
        mock_get_by_metadata_prefix.return_value = mock_metadata_format
        mock_get_all_by_template_ids.return_value = ""
        data = {
            "verb": "GetRecord",
            "metadataPrefix": "dummy",
            "identifier": "dummy"
        }

        # Act
        response = RequestMock.do_request_get(OAIProviderView.as_view(),
                                              None,
                                              data=data)
        output_xml_data = response.context_data["xml"]

        # Assert
        self.assertNotIn(xml_decl, output_xml_data)
        self.assertEqual(response.status_code, HTTP_200_OK)