view test/test_notifications.py @ 441:eadcb1bb54e2

Merged revisions 388-399 via svnmerge from svn+ssh://svn.wald.intevation.org/treepkg/branches/treepkg-status ........ r388 | bricks | 2010-07-28 10:38:50 +0200 (Mi, 28 Jul 2010) | 3 lines fix if statement upload hook should be called if it's not empty ........ r389 | bricks | 2010-07-28 13:38:00 +0200 (Mi, 28 Jul 2010) | 2 lines only rsync specified architectures from cachedir to publishdir ........ r390 | bricks | 2010-07-29 14:07:57 +0200 (Do, 29 Jul 2010) | 2 lines introduced after_copy_hook and made rsync upload to publishdir optional ........ r391 | bricks | 2010-07-29 15:43:39 +0200 (Do, 29 Jul 2010) | 3 lines publish package must be default to get original behaviour be more verbose at publishing ........ r392 | bricks | 2010-07-29 16:50:53 +0200 (Do, 29 Jul 2010) | 2 lines fix handling of showing only successfull builds together with num packages ........ r393 | bricks | 2010-07-29 16:52:42 +0200 (Do, 29 Jul 2010) | 2 lines fixed typo ........ r394 | bricks | 2010-07-29 16:59:10 +0200 (Do, 29 Jul 2010) | 2 lines fixed another typo ........ r395 | bricks | 2010-07-29 18:05:54 +0200 (Do, 29 Jul 2010) | 3 lines fixed another typo treepkg is really slow with many revisions ........ r396 | bricks | 2010-08-02 12:41:55 +0200 (Mo, 02 Aug 2010) | 2 lines fixed typos ........ r397 | bricks | 2010-08-02 17:36:12 +0200 (Mo, 02 Aug 2010) | 3 lines be more error prone in listing different files not checking if a dir exists caused several errors if a build wasn't successful ........ r398 | bricks | 2010-08-05 18:21:47 +0200 (Do, 05 Aug 2010) | 2 lines review changes ........ r399 | bricks | 2010-08-06 13:06:08 +0200 (Fr, 06 Aug 2010) | 4 lines cleanup modules fix test_info testcases added testcases for remove_trailingslashes and expand_filename ........
author Bjoern Ricks <bricks@intevation.de>
date Fri, 06 Aug 2010 13:41:54 +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)