view test/test_info.py @ 522:7af344f9e704

set the correct tags_rules_pattern if not provided in the config kw.pop with a default value doesn't work with empty strings
author Bjoern Ricks <bricks@intevation.de>
date Thu, 11 Nov 2010 08:26:32 +0000
parents e5b66539f893
children
line wrap: on
line source
# Copyright (C) 2010 by Intevation GmbH
# Authors:
# Bjoern Ricks <bjoern.ricks@intevation.de>
#
# This program is free software under the GPL (>=v2)
# Read the file COPYING coming with the software for details.

"""Tests for treepkg.status.status"""

import unittest
import os
import sys

from treepkg.info.status import TreepkgInfo, TreepkgRootInfo

from filesupport import FileTestMixin
from treepkg.publish import get_binary_arch

class TreepkgInfoTest(unittest.TestCase, FileTestMixin):
    config_contents = """\
[DEFAULT]
#treepkg_dir: /home/builder/mill
#tracks_dir: %(treepkg_dir)s/tracks
tracks_dir: /home/builder/mill/tracks
root_cmd: sudo
pbuilder_dir: %(tracks_dir)s/pbuilder
builderconfig: %(pbuilder_dir)s/pbuilderrc
deb_email: treepkg@example.com
deb_fullname: TreePKG
pkg_revision_template: treepkg%%(pkg_revision)s
handle_dependencies: False

[treepkg]
instructions_file: %(tracks_dir)s/instructions
check_interval: 3600
name: testtreepkginfo

[pkg_simple]
pkg_basename: simple1
url: svn://example.com/%(name)s/trunk
base_dir: %(tracks_dir)s/%(name)s
packager_class: treepkginfo_test.%(name)s
handle_dependencies: True
signing_key_id: abcd1234
changelog_msg_template: Update to feature branch r%%(revision)s
version_template: 1.0.svn%%(revision)s

"""

    files = [("treepkg.cfg", config_contents),
             ("treepkginfo_test",
              [("__init__.py", ""),
               ("simple.py",
                "\n".join(["class SourcePackager:",
                           "    pass",
                           ""])),
                            ])]

    def setUp(self):
        self.directory = self.create_files("treepkg", self.files)
        self.old_path = sys.path
        sys.path = [self.directory] + sys.path

    def tearDown(self):
        sys.path = self.old_path

    def test_createinfo(self):
        config_file = os.path.join(self.directory, "treepkg.cfg")
        tpkginfo = TreepkgInfo(config_file)
        tpkgrootinfo = tpkginfo.tpkgroot.info
        self.assertEquals("testtreepkginfo", tpkgrootinfo.name)
 

class TreepkgRootInfoTest(unittest.TestCase):

    def test_toxml(self):
        status = TreepkgRootInfo("testtreepkg")
        dom = status.toxml()
        xml = dom.toxml()
        self.assertEquals("<info><name>testtreepkg</name></info>", xml)

class TestPublish(unittest.TestCase, FileTestMixin):

    def test_get_binary_arch(self):
        source = get_binary_arch("source")
        self.assertEquals("source", source)
        binary_armel = get_binary_arch("armel")
        self.assertEquals("binary-armel", binary_armel)
        binary_armel = get_binary_arch("binary-armel")
        self.assertEquals("binary-armel", binary_armel)


if __name__ == '__main__':
    unittest.main()
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)