コード例 #1
0
ファイル: test_api.py プロジェクト: elliots-bits/luigi-slack
 def test_events_not_list(self):
     """Raise a ValueError if events is not a list"""
     with self.assertRaises(ValueError):
         bot = SlackBot(self.token, events='FOOBAR')
         bot = SlackBot(self.token, events=123)
         bot = SlackBot(self.token, events=None)
         bot = SlackBot(self.token, events=True)
コード例 #2
0
ファイル: test_api.py プロジェクト: bonzanini/luigi-slack
class TestSlackBot(unittest.TestCase):

    def setUp(self):
        self.patcher = mock.patch('luigi_slack.api.SlackAPI') 
        self.mock_SlackAPI = self.patcher.start()
        self.token = 'dummy-token'
        self.channels = ['channel1', 'channel2']
        self.bot = SlackBot(self.token, channels=self.channels)

    def tearDown(self):
        self.patcher.stop()

    def test_send_notification(self):
        """Test SlackAPI is called by send_notification()"""
        self.bot.send_notification()

    def test_events_not_list(self):
        """Raise a ValueError if events is not a list"""
        with self.assertRaises(ValueError):
            bot = SlackBot(self.token, events='FOOBAR')
            bot = SlackBot(self.token, events=123)
            bot = SlackBot(self.token, events=None)
            bot = SlackBot(self.token, events=True)

    def test_set_handlers_valid(self):
        """Test set_handlers() for valid events"""
        bot = SlackBot(self.token, events=[SUCCESS, FAILURE])
        bot.set_handlers()

    def test_set_handlers_invalid(self):
        """Test set_handlers for invalid events"""
        bot = SlackBot(self.token, events=['THIS-IS-NOT-A-VALID-EVENT'])
        with self.assertRaises(ValueError):
            bot.set_handlers()
コード例 #3
0
ファイル: test_api.py プロジェクト: elliots-bits/luigi-slack
class TestSlackBot(unittest.TestCase):
    def setUp(self):
        self.patcher = mock.patch('luigi_slack.api.SlackAPI')
        self.mock_SlackAPI = self.patcher.start()
        self.token = 'dummy-token'
        self.channels = ['channel1', 'channel2']
        self.bot = SlackBot(self.token, channels=self.channels)

    def tearDown(self):
        self.patcher.stop()

    def test_send_notification(self):
        """Test SlackAPI is called by send_notification()"""
        self.bot.send_notification()

    def test_events_not_list(self):
        """Raise a ValueError if events is not a list"""
        with self.assertRaises(ValueError):
            bot = SlackBot(self.token, events='FOOBAR')
            bot = SlackBot(self.token, events=123)
            bot = SlackBot(self.token, events=None)
            bot = SlackBot(self.token, events=True)

    def test_set_handlers_valid(self):
        """Test set_handlers() for valid events"""
        bot = SlackBot(self.token, events=[SUCCESS, FAILURE])
        bot.set_handlers()

    def test_set_handlers_invalid(self):
        """Test set_handlers for invalid events"""
        bot = SlackBot(self.token, events=['THIS-IS-NOT-A-VALID-EVENT'])
        with self.assertRaises(ValueError):
            bot.set_handlers()
コード例 #4
0
ファイル: test_api.py プロジェクト: bonzanini/luigi-slack
 def test_missing(self):
     """Test missing dependency event adds task in queue"""
     bot = SlackBot(self.token, events=[MISSING], channels=self.channels)
     bot.set_handlers()
     task = luigi.Task()
     self.assertEqual(len(bot.event_queue.get(MISSING, [])), 0)
     task.trigger_event(luigi.event.Event.DEPENDENCY_MISSING, task)
     self.assertEqual(len(bot.event_queue.get(MISSING)), 1)
コード例 #5
0
ファイル: test_api.py プロジェクト: bonzanini/luigi-slack
 def test_failure(self):
     """Test failure event adds task in queue"""
     bot = SlackBot(self.token, events=[FAILURE], channels=self.channels)
     bot.set_handlers()
     task = luigi.Task()
     self.assertEqual(len(bot.event_queue.get(FAILURE, [])), 0)
     task.trigger_event(luigi.event.Event.FAILURE, task, Exception())
     self.assertEqual(len(bot.event_queue.get(FAILURE)), 1)
コード例 #6
0
ファイル: test_api.py プロジェクト: bonzanini/luigi-slack
 def test_start(self):
     """Test start event adds task in queue"""
     bot = SlackBot(self.token, events=[START], channels=self.channels)
     bot.set_handlers()
     task = luigi.Task()
     self.assertEqual(len(bot.event_queue.get(START, [])), 0)
     task.trigger_event(luigi.event.Event.START, task)
     self.assertEqual(len(bot.event_queue.get(START)), 1)
コード例 #7
0
ファイル: test_api.py プロジェクト: elliots-bits/luigi-slack
 def test_success(self):
     """Test successful task if queued"""
     bot = SlackBot(self.token, events=[SUCCESS], channels=self.channels)
     bot.set_handlers()
     task = luigi.Task()
     self.assertEqual(len(bot.event_queue.get(SUCCESS, [])), 0)
     task.trigger_event(luigi.event.Event.SUCCESS, task)
     self.assertEqual(len(bot.event_queue.get(SUCCESS)), 1)
コード例 #8
0
ファイル: test_api.py プロジェクト: bonzanini/luigi-slack
 def test_success(self):
     """Test successful task if queued"""
     bot = SlackBot(self.token, events=[SUCCESS], channels=self.channels)
     bot.set_handlers()
     task = luigi.Task()
     self.assertEqual(len(bot.event_queue.get(SUCCESS, [])), 0)
     task.trigger_event(luigi.event.Event.SUCCESS, task)
     self.assertEqual(len(bot.event_queue.get(SUCCESS)), 1)
コード例 #9
0
ファイル: test_api.py プロジェクト: elliots-bits/luigi-slack
 def test_start(self):
     """Test start event adds task in queue"""
     bot = SlackBot(self.token, events=[START], channels=self.channels)
     bot.set_handlers()
     task = luigi.Task()
     self.assertEqual(len(bot.event_queue.get(START, [])), 0)
     task.trigger_event(luigi.event.Event.START, task)
     self.assertEqual(len(bot.event_queue.get(START)), 1)
コード例 #10
0
ファイル: test_api.py プロジェクト: elliots-bits/luigi-slack
 def test_missing(self):
     """Test missing dependency event adds task in queue"""
     bot = SlackBot(self.token, events=[MISSING], channels=self.channels)
     bot.set_handlers()
     task = luigi.Task()
     self.assertEqual(len(bot.event_queue.get(MISSING, [])), 0)
     task.trigger_event(luigi.event.Event.DEPENDENCY_MISSING, task)
     self.assertEqual(len(bot.event_queue.get(MISSING)), 1)
コード例 #11
0
ファイル: test_api.py プロジェクト: elliots-bits/luigi-slack
 def test_failure(self):
     """Test failure event adds task in queue"""
     bot = SlackBot(self.token, events=[FAILURE], channels=self.channels)
     bot.set_handlers()
     task = luigi.Task()
     self.assertEqual(len(bot.event_queue.get(FAILURE, [])), 0)
     task.trigger_event(luigi.event.Event.FAILURE, task, Exception())
     self.assertEqual(len(bot.event_queue.get(FAILURE)), 1)
コード例 #12
0
ファイル: test_api.py プロジェクト: elliots-bits/luigi-slack
 def test_event_not_implemented(self):
     """Test processing time event is not implemented yet"""
     bot = SlackBot(self.token,
                    events=[PROCESSING_TIME],
                    channels=self.channels)
     bot.set_handlers()
     task = luigi.Task()
     self.assertRaises(
         NotImplementedError,
         task.trigger_event(luigi.event.Event.PROCESSING_TIME, task))
コード例 #13
0
ファイル: test_api.py プロジェクト: bonzanini/luigi-slack
 def test_success_empties_queue(self):
     """Test success event empties the failure queue"""
     bot = SlackBot(self.token, events=[SUCCESS, FAILURE], channels=self.channels)
     bot.set_handlers()
     task1 = luigi.Task() # task1 and task2 have the same task_id
     task2 = luigi.Task()
     self.assertEqual(len(bot.event_queue.get(FAILURE, [])), 0)
     task2.trigger_event(luigi.event.Event.FAILURE, task2, Exception())
     self.assertEqual(len(bot.event_queue.get(FAILURE)), 1)
     task1.trigger_event(luigi.event.Event.SUCCESS, task1)
     self.assertEqual(len(bot.event_queue.get(FAILURE)), 0)
コード例 #14
0
ファイル: test_api.py プロジェクト: bonzanini/luigi-slack
 def test_different_task_doesnt_empty_queue(self):
     """Test a successful task doesn't empty queue with different task"""
     class CustomTask(luigi.Task):
         pass
     bot = SlackBot(self.token, events=[SUCCESS, FAILURE], channels=self.channels)
     bot.set_handlers()
     task1 = luigi.Task() # task1 and task2 have different task_id
     task2 = CustomTask()
     self.assertEqual(len(bot.event_queue.get(FAILURE, [])), 0)
     task2.trigger_event(luigi.event.Event.FAILURE, task2, Exception())
     self.assertEqual(len(bot.event_queue.get(FAILURE)), 1)
     task1.trigger_event(luigi.event.Event.SUCCESS, task1)
     self.assertEqual(len(bot.event_queue.get(FAILURE)), 1)
コード例 #15
0
ファイル: test_api.py プロジェクト: elliots-bits/luigi-slack
 def test_success_empties_queue(self):
     """Test success event empties the failure queue"""
     bot = SlackBot(self.token,
                    events=[SUCCESS, FAILURE],
                    channels=self.channels)
     bot.set_handlers()
     task1 = luigi.Task()  # task1 and task2 have the same task_id
     task2 = luigi.Task()
     self.assertEqual(len(bot.event_queue.get(FAILURE, [])), 0)
     task2.trigger_event(luigi.event.Event.FAILURE, task2, Exception())
     self.assertEqual(len(bot.event_queue.get(FAILURE)), 1)
     task1.trigger_event(luigi.event.Event.SUCCESS, task1)
     self.assertEqual(len(bot.event_queue.get(FAILURE)), 0)
コード例 #16
0
ファイル: test_api.py プロジェクト: elliots-bits/luigi-slack
    def test_different_task_doesnt_empty_queue(self):
        """Test a successful task doesn't empty queue with different task"""
        class CustomTask(luigi.Task):
            pass

        bot = SlackBot(self.token,
                       events=[SUCCESS, FAILURE],
                       channels=self.channels)
        bot.set_handlers()
        task1 = luigi.Task()  # task1 and task2 have different task_id
        task2 = CustomTask()
        self.assertEqual(len(bot.event_queue.get(FAILURE, [])), 0)
        task2.trigger_event(luigi.event.Event.FAILURE, task2, Exception())
        self.assertEqual(len(bot.event_queue.get(FAILURE)), 1)
        task1.trigger_event(luigi.event.Event.SUCCESS, task1)
        self.assertEqual(len(bot.event_queue.get(FAILURE)), 1)
コード例 #17
0
ファイル: test_api.py プロジェクト: bonzanini/luigi-slack
 def test_set_handlers_valid(self):
     """Test set_handlers() for valid events"""
     bot = SlackBot(self.token, events=[SUCCESS, FAILURE])
     bot.set_handlers()
コード例 #18
0
ファイル: test_api.py プロジェクト: bonzanini/luigi-slack
 def test_set_handlers_invalid(self):
     """Test set_handlers for invalid events"""
     bot = SlackBot(self.token, events=['THIS-IS-NOT-A-VALID-EVENT'])
     with self.assertRaises(ValueError):
         bot.set_handlers()
コード例 #19
0
ファイル: test_api.py プロジェクト: bonzanini/luigi-slack
 def setUp(self):
     self.patcher = mock.patch('luigi_slack.api.SlackAPI') 
     self.mock_SlackAPI = self.patcher.start()
     self.token = 'dummy-token'
     self.channels = ['channel1', 'channel2']
     self.bot = SlackBot(self.token, channels=self.channels)
コード例 #20
0
ファイル: test_api.py プロジェクト: elliots-bits/luigi-slack
 def test_set_handlers_invalid(self):
     """Test set_handlers for invalid events"""
     bot = SlackBot(self.token, events=['THIS-IS-NOT-A-VALID-EVENT'])
     with self.assertRaises(ValueError):
         bot.set_handlers()
コード例 #21
0
ファイル: test_api.py プロジェクト: elliots-bits/luigi-slack
 def test_set_handlers_valid(self):
     """Test set_handlers() for valid events"""
     bot = SlackBot(self.token, events=[SUCCESS, FAILURE])
     bot.set_handlers()
コード例 #22
0
ファイル: test_api.py プロジェクト: bonzanini/luigi-slack
 def test_event_not_implemented(self):
     """Test processing time event is not implemented yet"""
     bot = SlackBot(self.token, events=[PROCESSING_TIME], channels=self.channels)
     bot.set_handlers()
     task = luigi.Task()
     self.assertRaises(NotImplementedError, task.trigger_event(luigi.event.Event.PROCESSING_TIME, task))
コード例 #23
0
ファイル: test_api.py プロジェクト: elliots-bits/luigi-slack
 def setUp(self):
     self.patcher = mock.patch('luigi_slack.api.SlackAPI')
     self.mock_SlackAPI = self.patcher.start()
     self.token = 'dummy-token'
     self.channels = ['channel1', 'channel2']
     self.bot = SlackBot(self.token, channels=self.channels)