changeset 242:351427b28b76

Add test for bin/listpendingnotifications.py
author Bernhard Herzog <bh@intevation.de>
date Fri, 16 Jan 2009 20:42:06 +0000
parents df3065e4c76b
children f4a636ed5d07
files test/test_notifications.py
diffstat 1 files changed, 68 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/test_notifications.py	Fri Jan 16 20:42:06 2009 +0000
@@ -0,0 +1,68 @@
+# 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
+pbuilderrc:
+deb_email: packager@example.com
+deb_fullname: Sample Packager
+debrevision_prefix: treepkg
+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)