Skip to content

Commit c21d866

Browse files
committed
tests
1 parent 7d468e5 commit c21d866

File tree

2 files changed

+89
-1
lines changed

2 files changed

+89
-1
lines changed

azure_functions_worker/extensions.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ def register_before_invocation_request(callback):
1010
"BEFORE_INVOCATION_REQUEST_CALLBACKS").append(callback)
1111
else:
1212
_EXTENSIONS_CONTEXT["BEFORE_INVOCATION_REQUEST_CALLBACKS"] = [callback]
13-
_EXTENSIONS_CONTEXT["BEFORE_INVOCATION_REQUEST_CALLBACKS"] = [callback]
1413

1514

1615
def register_after_invocation_request(callback):

tests/unittests/test_extensions.py

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Copyright (c) Microsoft Corporation. All rights reserved.
2+
# Licensed under the MIT License.
3+
4+
from unittest import TestCase, mock
5+
6+
from azure_functions_worker import extensions
7+
8+
9+
class TestExtensions(TestCase):
10+
11+
def tearDown(self):
12+
extensions._EXTENSIONS_CONTEXT.clear()
13+
14+
15+
def test_register_before_invocation_request(self):
16+
mock_cb = mock.Mock()
17+
mock_cb2 = mock.Mock()
18+
extensions.register_before_invocation_request(mock_cb)
19+
self.assertEqual(
20+
extensions._EXTENSIONS_CONTEXT["BEFORE_INVOCATION_REQUEST_CALLBACKS"][0],
21+
mock_cb,
22+
)
23+
extensions.register_before_invocation_request(mock_cb2)
24+
self.assertEqual(
25+
extensions._EXTENSIONS_CONTEXT["BEFORE_INVOCATION_REQUEST_CALLBACKS"][1],
26+
mock_cb2,
27+
)
28+
29+
def test_register_after_invocation_request(self):
30+
mock_cb = mock.Mock()
31+
mock_cb2 = mock.Mock()
32+
extensions.register_after_invocation_request(mock_cb)
33+
self.assertEqual(
34+
extensions._EXTENSIONS_CONTEXT["AFTER_INVOCATION_REQUEST_CALLBACKS"][0],
35+
mock_cb,
36+
)
37+
extensions.register_after_invocation_request(mock_cb2)
38+
self.assertEqual(
39+
extensions._EXTENSIONS_CONTEXT["AFTER_INVOCATION_REQUEST_CALLBACKS"][1],
40+
mock_cb2,
41+
)
42+
43+
def test_clear_before_invocation_request_callbacks(self):
44+
mock_cb = mock.Mock()
45+
extensions.register_before_invocation_request(mock_cb)
46+
self.assertEqual(
47+
extensions._EXTENSIONS_CONTEXT["BEFORE_INVOCATION_REQUEST_CALLBACKS"][0],
48+
mock_cb,
49+
)
50+
extensions.clear_before_invocation_request_callbacks()
51+
self.assertIsNone(
52+
extensions._EXTENSIONS_CONTEXT.get("BEFORE_INVOCATION_REQUEST_CALLBACKS"),
53+
)
54+
55+
def test_clear_after_invocation_request_callbacks(self):
56+
mock_cb = mock.Mock()
57+
extensions.register_after_invocation_request(mock_cb)
58+
self.assertEqual(
59+
extensions._EXTENSIONS_CONTEXT["AFTER_INVOCATION_REQUEST_CALLBACKS"][0],
60+
mock_cb,
61+
)
62+
extensions.clear_after_invocation_request_callbacks()
63+
self.assertIsNone(
64+
extensions._EXTENSIONS_CONTEXT.get("AFTER_INVOCATION_REQUEST_CALLBACKS"),
65+
)
66+
67+
def test_get_after_invocation_request_callbacks(self):
68+
mock_cb = mock.Mock()
69+
extensions.register_before_invocation_request(mock_cb)
70+
self.assertEqual(
71+
extensions._EXTENSIONS_CONTEXT["BEFORE_INVOCATION_REQUEST_CALLBACKS"][0],
72+
mock_cb,
73+
)
74+
self.assertEqual(
75+
extensions.get_before_invocation_request_callbacks()[0],
76+
mock_cb
77+
)
78+
79+
def test_clear_after_invocation_request_callbacks(self):
80+
mock_cb = mock.Mock()
81+
extensions.register_after_invocation_request(mock_cb)
82+
self.assertEqual(
83+
extensions._EXTENSIONS_CONTEXT["AFTER_INVOCATION_REQUEST_CALLBACKS"][0],
84+
mock_cb,
85+
)
86+
self.assertEqual(
87+
extensions.get_after_invocation_request_callbacks()[0],
88+
mock_cb
89+
)

0 commit comments

Comments
 (0)