From 2071d5b8c3981b663ed8634a024488beed1dff10 Mon Sep 17 00:00:00 2001 From: Alex Laird Date: Sun, 25 Oct 2020 13:10:24 -0700 Subject: [PATCH] Fixing assertions on Python 3.5. --- hookee/util.py | 11 +++++++++++ tests/test_hookee_manager.py | 22 +++++++++++++++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/hookee/util.py b/hookee/util.py index beb23f1..c2e4ed5 100644 --- a/hookee/util.py +++ b/hookee/util.py @@ -2,6 +2,7 @@ import json import logging import os +import sys import xml.dom.minidom import click @@ -153,6 +154,16 @@ def print_basic(self, msg="", color=None, bold=False, print_when_logging=False): print(msg) +def python36_gte(): + """ + Check if running on a Python 3.6 or higher interpreter. + + :return: ``True`` if Python 3.6 or higher. + :rtype: bool + """ + return sys.version_info >= (3, 6) + + def get_functions(mod): """ Get a list of functions for the given module. diff --git a/tests/test_hookee_manager.py b/tests/test_hookee_manager.py index 6b2ad37..61326da 100644 --- a/tests/test_hookee_manager.py +++ b/tests/test_hookee_manager.py @@ -1,5 +1,6 @@ import requests +from hookee import util from tests.managedtestcase import ManagedTestCase __author__ = "Alex Laird" @@ -17,9 +18,16 @@ def test_http_get_query_params(self): response = requests.get(self.webhook_url, params=params) self.assertEqual(response.status_code, 200) - self.assertIn("""Query Params: { + if util.python36_gte(): + self.assertIn("""Query Params: { "param_1": "param_value_1" }""", out.getvalue()) + else: + self.assertIn("""Query Params: { + "param_1": [ + "param_value_1" + ] +}""", out.getvalue()) def test_http_post_form_data(self): # GIVEN @@ -32,10 +40,18 @@ def test_http_post_form_data(self): self.assertEqual(response.status_code, 200) self.assertIn("\"Content-Type\": \"application/x-www-form-urlencoded\"", out.getvalue()) self.assertEqual(response.headers.get("Content-Type"), "application/json") - self.assertIn("""Body: { + if util.python36_gte(): + self.assertIn("""Body: { "form_data_1": "form_data_value_1" }""", out.getvalue()) - self.assertEqual(response.json(), data) + self.assertEqual(response.json(), data) + else: + self.assertIn("""Body: { + "form_data_1": [ + "form_data_value_1" + ] +}""", out.getvalue()) + self.assertEqual(response.json(), {"form_data_1": ["form_data_value_1"]}) def test_http_post_json_data(self): # GIVEN