Skip to content

Commit b7d59f6

Browse files
committed
Remove httpretty which does not support Python3.12.
1 parent 29580af commit b7d59f6

File tree

2 files changed

+46
-46
lines changed

2 files changed

+46
-46
lines changed

pyproject.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ boto3 = { version = "^1.28.0", optional = true }
3838
typing_extensions = {version = "^4.0", python = "<3.8"}
3939
requests = { version ="^2.22.0", optional = true }
4040
nose2 = { version= "^0.9.1", optional = true }
41-
flake8 = { version = "^3.7.9", optional = true }
42-
httpretty = {version = "^0.9.7", optional = true }
41+
flake8 = { version = "^5.0.4", optional = true }
4342

4443

4544
[tool.poetry.extras]
@@ -48,7 +47,6 @@ dev = [
4847
"requests",
4948
"nose2",
5049
"flake8",
51-
"httpretty",
5250
]
5351

5452
[build-system]

tests/test_extension.py

Lines changed: 45 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
import http.server
12
import os
3+
import threading
24
import unittest
3-
import httpretty
45

56
from unittest.mock import patch
67

@@ -11,61 +12,62 @@
1112
)
1213

1314

14-
def exceptionCallback(request, uri, headers):
15-
raise Exception("oopsy!")
15+
class MockServer(threading.Thread):
16+
def __init__(self):
17+
super().__init__()
18+
self.daemon = True
19+
self.raises = False
20+
self.called = False
21+
22+
class handler(http.server.BaseHTTPRequestHandler):
23+
def do_POST(sf):
24+
self.called = True
25+
sf.send_response(500 if self.raises else 200)
26+
sf.end_headers()
27+
28+
do_GET = do_POST
29+
30+
self.server = http.server.HTTPServer(("127.0.0.1", 8124), handler)
31+
32+
def run(self):
33+
self.server.serve_forever()
34+
35+
def stop(self):
36+
self.server.shutdown()
37+
self.server.server_close()
38+
self.join(timeout=0)
1639

1740

1841
class TestLambdaExtension(unittest.TestCase):
42+
def setUp(self):
43+
self.server = MockServer()
44+
self.server.start()
45+
46+
def tearDown(self):
47+
self.server.stop()
48+
1949
@patch("datadog_lambda.extension.EXTENSION_PATH", os.path.abspath(__file__))
2050
def test_is_extension_running_true(self):
21-
httpretty.enable()
22-
last_request = httpretty.last_request()
23-
httpretty.register_uri(httpretty.GET, "http://127.0.0.1:8124/lambda/hello")
24-
assert is_extension_running() == True
25-
assert httpretty.last_request() != last_request
26-
httpretty.disable()
51+
assert is_extension_running()
52+
assert self.server.called
2753

2854
def test_is_extension_running_file_not_found(self):
29-
httpretty.enable()
30-
last_request = httpretty.last_request()
31-
httpretty.register_uri(httpretty.GET, "http://127.0.0.1:8124/lambda/hello")
32-
assert is_extension_running() == False
33-
assert httpretty.last_request() == last_request
34-
httpretty.disable()
55+
assert not is_extension_running()
56+
assert not self.server.called
3557

3658
@patch("datadog_lambda.extension.EXTENSION_PATH", os.path.abspath(__file__))
3759
def test_is_extension_running_http_failure(self):
38-
httpretty.enable()
39-
last_request = httpretty.last_request()
40-
httpretty.register_uri(
41-
httpretty.GET,
42-
"http://127.0.0.1:8124/lambda/hello",
43-
status=503,
44-
body=exceptionCallback,
45-
)
46-
assert is_extension_running() == False
47-
assert httpretty.last_request() != last_request
48-
httpretty.disable()
60+
self.server.raises = True
61+
assert not is_extension_running()
62+
assert self.server.called
4963

5064
@patch("datadog_lambda.extension.EXTENSION_PATH", os.path.abspath(__file__))
5165
def test_flush_ok(self):
52-
httpretty.enable()
53-
last_request = httpretty.last_request()
54-
httpretty.register_uri(httpretty.POST, "http://127.0.0.1:8124/lambda/flush")
55-
assert flush_extension() == True
56-
assert httpretty.last_request() != last_request
57-
httpretty.disable()
66+
assert flush_extension()
67+
assert self.server.called
5868

5969
@patch("datadog_lambda.extension.EXTENSION_PATH", os.path.abspath(__file__))
6070
def test_flush_not_ok(self):
61-
httpretty.enable()
62-
last_request = httpretty.last_request()
63-
httpretty.register_uri(
64-
httpretty.POST,
65-
"http://127.0.0.1:8124/lambda/flush",
66-
status=503,
67-
body=exceptionCallback,
68-
)
69-
assert flush_extension() == False
70-
assert httpretty.last_request() != last_request
71-
httpretty.disable()
71+
self.server.raises = True
72+
assert not flush_extension()
73+
assert self.server.called

0 commit comments

Comments
 (0)