#19 Multiple small fixes around the test suite
Merged 3 years ago by nphilipp. Opened 3 years ago by pingou.

file modified
+16
@@ -44,6 +44,22 @@ 

              toddlers.runner.RunningToddler()

          assert caplog.records[-1].message == "Loaded: []"

  

+     @patch("toddlers.runner.ToddlerBase")

+     def test___init__two_toddlers(self, base_tod, caplog):

+         caplog.set_level(logging.INFO)

+         base_tod.__subclasses__ = Mock()

+         toddler_list = []

+         for name in ["flag_ci_pr", "debug", "flag_ci_pr"]:

+             tod = Mock()

+             tod.name = name

+             tod.return_value = tod

+             toddler_list.append(tod)

Nice way of recycling the mocked class object for the mocked instance, too! :wink:

:stuck_out_tongue_winking_eye:

+         base_tod.__subclasses__.return_value = toddler_list

+         with pytest.raises(

+             ValueError, match=r"Toddler named flag_ci_pr already exists.",

+         ):

+             toddlers.runner.RunningToddler()

+ 

      @patch_messaging_config(

          {"consumer_config": {"blocked_toddlers": ["debug", "flag_ci_pr"]}}

      )

@@ -0,0 +1,14 @@ 

+ import toddlers.utils.misc

+ 

+ 

+ def test_merge_dicts():

+     d1 = {

+         "name": "bar",

+         "nick": "foo",

+     }

+     d2 = {"name": "foobar", "email": "foo@bar"}

+     assert toddlers.utils.misc.merge_dicts(d1, d2) == {

+         "email": "foo@bar",

+         "name": "foobar",

+         "nick": "foo",

+     }

@@ -0,0 +1,19 @@ 

+ from collections import OrderedDict

+ from unittest.mock import ANY, MagicMock, patch

+ 

+ import toddlers.utils.requests

+ 

+ 

+ @patch("requests.sessions.extract_cookies_to_jar", new=MagicMock())

+ @patch("requests.adapters.HTTPAdapter.send")

+ def test_make_session(send):

+     resp = MagicMock()

+     resp.url = "http://localhost"

+     resp.is_redirect = False

+     send.return_value = resp

+     session = toddlers.utils.requests.make_session(timeout=1)

+     session.get("http://localhost")

+ 

+     send.assert_called_once_with(

+         ANY, timeout=None, verify=True, proxies=OrderedDict(), stream=False, cert=None

+     )

file modified
+1 -1
@@ -1,5 +1,5 @@ 

  [tox]

- envlist = py36,py37,py38,black,flake8

+ envlist = black,flake8,py3{6,7,8}

  # If the user is missing an interpreter, don't fail

  skip_missing_interpreters = True

  skipsdist = True

no initial comment

Build succeeded.

  • tox : SUCCESS in 4m 25s

Nice way of recycling the mocked class object for the mocked instance, too! :wink:

Metadata Update from @nphilipp:
- Request assigned

3 years ago

Pull-Request has been merged by nphilipp

3 years ago

:stuck_out_tongue_winking_eye: