view test/test_notifications.py @ 361:72b39fcb6a24

sbdmock is now able to run scripts
author Bjoern Ricks <bricks@intevation.de>
date Thu, 20 May 2010 13:37:36 +0000
parents f06f707d9fda
children e5b66539f893
line wrap: on
line source
# Copyright (C) 2009 by Intevation GmbH
# Authors:
# Bernhard Herzog <bh@intevation.de>
#
# This program is free software under the GPL (>=v2)
# Read the file COPYING coming with the software for details.


import sys
import os
import unittest

from filesupport import FileTestMixin

from treepkg.run import call, capture_output, SubprocessError


class TestListNotifications(unittest.TestCase, FileTestMixin):

    treepkg_cfg_template = """\
[DEFAULT]
tracks_dir: %(tracksdir)s
root_cmd: true
builderconfig:
deb_email: packager@example.com
deb_fullname: Sample Packager
pkg_revision_template: treepkg%%%%(pkg_revision)d
handle_dependencies: False

[treepkg]
check_interval: 3600
instructions_file:

[pkg_kdepim]
svn_url: svn://anonsvn.kde.org/home/kde/branches/kdepim/enterprise/kdepim
base_dir: %%(tracks_dir)s/kdepim
packager_class: recipes.kde_enterprise_3_5.kdepim
"""

    track_files = [("kdepim",
                    [("pkg",
                      [("704195-31",
                        [("status", "TreePackagerStatus 0.0\n"),
                         ("src", []),
                         ("binary", [])]),
                       ("702432-47",
                        [("status",
                          "\n".join(("TreePackagerStatus 0.0",
                                     "status: error",
                                     "notification_mail: notification_pending",
                                     ""))),
                         ("src", []),
                         ("binary", [])])])])]

    def setUp(self):
        self.bindir = os.path.join(os.path.dirname(__file__),
                                   os.pardir, "bin")
        self.listpendingnotifications \
                             = os.path.join(self.bindir,
                                            "listpendingnotifications.py")
        self.tracksdir = self.create_files("tracks", self.track_files)
        config = self.treepkg_cfg_template % dict(tracksdir=self.tracksdir)
        self.config_file = self.create_temp_file("treepkg.cfg", config)

    def test_listpendingnotifications(self):
        cmd = [sys.executable, self.listpendingnotifications,
               "--config-file=" + self.config_file]
        self.assertEquals(capture_output(cmd), "error kdepim 702432 47\n")
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)