From b0e35603beb857b3792a9e8225a797cd8ac04d51 Mon Sep 17 00:00:00 2001 From: Yuming Zhu Date: Jan 03 2017 05:40:19 +0000 Subject: fix unittest --- diff --git a/tests/test_tasks.py b/tests/test_tasks.py index 63940c8..e32bf44 100644 --- a/tests/test_tasks.py +++ b/tests/test_tasks.py @@ -1,6 +1,8 @@ import imp import random -from unittest import TestCase, skipIf +import unittest +import os +from unittest import TestCase, skipIf, main from mock import patch, Mock, call from tempfile import gettempdir from shutil import rmtree @@ -11,7 +13,8 @@ import koji from koji.tasks import scan_mounts, umount_all, safe_rmtree, BaseTaskHandler, FakeTask, SleepTask, ForkTask from koji import BuildError, GenericError -kojid_exe_path = '/usr/sbin/kojid' +kojid_exe_path = "../builder/kojid" +print kojid_exe_path try: with file(kojid_exe_path, 'U') as fo: kojid = imp.load_module('kojid', fo, fo.name, ('.py', 'U', 1)) @@ -750,17 +753,17 @@ class TasksTestCase(TestCase): self.assertEquals(data['channel'],'default') self.assertEquals(data['host'],'builder.example.com') - error_msg = None from socket import gaierror - try: - result = obj.handler(['pkger@example.com'], 1024,'https://koji.example.com') - except gaierror, e: - error_msg = 'Name or service not known' + with patch('smtplib.SMTP') as smtp: + smtp.return_value.sendmail.side_effect = gaierror('some msg') + with self.assertRaises(gaierror) as cm: + obj.handler(['pkger@example.com'], 1024, 'https://koji.example.com') + self.assertEqual(cm.exception.args[0], 'some msg') - if error_msg is not None: - self.assertEquals(error_msg, 'Name or service not known') - else: - self.assertEquals(result, 'sent notification of task 1024 to: pkger@example.com') + smtp.reset_mock() + smtp.return_value.sendmail.side_effect = None + result = obj.handler(['pkger@example.com'], 1024, 'https://koji.example.com') + self.assertEqual(result, 'sent notification of task 1024 to: pkger@example.com') @skipIf(kojihub is None, 'kojihub module is unavailable') def test_task_notification_func(self): @@ -806,3 +809,6 @@ class TasksTestCase(TestCase): error_msg = e.message self.assertEquals(error_msg, "'NoneType' object has no attribute 'apply'") + +if __name__ == '__main__': + unittest.main() \ No newline at end of file