File: test_signal_handler.py

package info (click to toggle)
thumbor 7.7.7-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 40,556 kB
  • sloc: xml: 295,435; python: 18,673; ansic: 1,479; makefile: 360; sh: 27
file content (39 lines) | stat: -rw-r--r-- 1,259 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# -*- coding: utf-8 -*-

# thumbor imaging service
# https://github.com/thumbor/thumbor/wiki

# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license
# Copyright (c) 2011 globo.com thumbor@googlegroups.com

import signal
from unittest import TestCase, mock

from thumbor.signal_handler import setup_signal_handler, signal_handler


class SignalhandlerTestCase(TestCase):
    @mock.patch("thumbor.signal_handler.signal")
    def test_setup_signal_handler_sets_handler(self, signal_mock):
        signal_mock.SIGINT = 2
        signal_mock.SIGTERM = 15
        setup_signal_handler(mock.Mock(), mock.Mock())

        signal_mock.signal.assert_has_calls(
            [
                mock.call(signal_mock.SIGTERM, mock.ANY),
                mock.call(signal_mock.SIGINT, mock.ANY),
            ]
        )

    @mock.patch("tornado.ioloop.IOLoop.instance", create=True)
    def test_signal_handler_calls_add_callback_from_signal(self, ioloop_mock):
        ioloop_instance_mock = mock.Mock()
        ioloop_mock.return_value = ioloop_instance_mock

        signal_handler(mock.Mock(), mock.Mock(), signal.SIGTERM, mock.Mock())

        ioloop_instance_mock.add_callback_from_signal.assert_called_with(
            mock.ANY
        )