def test_primary_closing_tag(self):

        context = PrimaryXMLFileContext(self.metadata_file_dir, 0)
        context._open_metadata_file_handle()

        self.assertRaises(NotImplementedError, context._write_root_tag_close)

        context._write_root_tag_open()

        try:
            context._write_root_tag_close()

        except Exception, e:
            self.fail(e.message)
    def test_primary_opening_tag(self):

        path = os.path.join(self.metadata_file_dir, REPO_DATA_DIR_NAME, PRIMARY_XML_FILE_NAME)

        context = PrimaryXMLFileContext(self.metadata_file_dir, 0)

        context._open_metadata_file_handle()
        context._write_root_tag_open()
        context._close_metadata_file_handle()

        self.assertNotEqual(os.path.getsize(path), 0)

        primary_handle = gzip.open(path, "r")
        content = primary_handle.read()
        primary_handle.close()

        self.assertTrue(content.startswith("<metadata"))
        self.assertEqual(content.count('xmlns="%s"' % COMMON_NAMESPACE), 1)
        self.assertEqual(content.count('xmlns:rpm="%s"' % RPM_NAMESPACE), 1)
        self.assertEqual(content.count('packages="0"'), 1)