From 26b2ab9e5a4a43fccc87973216cb8402f9b68542 Mon Sep 17 00:00:00 2001 From: Alexander Cecile <35971201+AlexanderCecile@users.noreply.github.com> Date: Tue, 25 Aug 2020 20:40:30 -0400 Subject: [PATCH] Add basic tests for get_file_by_url --- testUpdateHostsFile.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/testUpdateHostsFile.py b/testUpdateHostsFile.py index 4cb70bc57..3d80691f3 100644 --- a/testUpdateHostsFile.py +++ b/testUpdateHostsFile.py @@ -17,6 +17,8 @@ import unittest import unittest.mock as mock from io import BytesIO, StringIO +import requests + import updateHostsFile from updateHostsFile import ( Colors, @@ -27,6 +29,7 @@ from updateHostsFile import ( flush_dns_cache, gather_custom_exclusions, get_defaults, + get_file_by_url, is_valid_domain_format, matches_exclusions, move_hosts_file_into_place, @@ -1614,6 +1617,32 @@ class DomainToIDNA(Base): self.assertEqual(actual, expected) +class GetFileByUrl(BaseStdout): + def test_basic(self): + raw_resp_content = "hello, ".encode("ascii") + "world".encode("utf-8") + resp_obj = requests.Response() + resp_obj.__setstate__({"_content": raw_resp_content}) + + expected = "hello, world" + + with mock.patch("requests.get", return_value=resp_obj): + actual = get_file_by_url("www.test-url.com") + + self.assertEqual(expected, actual) + + def test_with_idna(self): + raw_resp_content = b"www.huala\xc3\xb1e.cl" + resp_obj = requests.Response() + resp_obj.__setstate__({"_content": raw_resp_content}) + + expected = "www.xn--hualae-0wa.cl" + + with mock.patch("requests.get", return_value=resp_obj): + actual = get_file_by_url("www.test-url.com") + + self.assertEqual(expected, actual) + + class TestWriteData(Base): def test_write_basic(self): f = BytesIO()