Skip to content

Commit da2c135

Browse files
new: add missing tests for DecideBackendByRequester
1 parent 11ceb2e commit da2c135

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

tests/satosa/micro_services/test_custom_routing.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from satosa.internal import InternalData
1010
from satosa.micro_services.custom_routing import DecideIfRequesterIsAllowed
1111
from satosa.micro_services.custom_routing import DecideBackendByTargetIssuer
12+
from satosa.micro_services.custom_routing import DecideBackendByRequester
1213

1314

1415
TARGET_ENTITY = "entity1"
@@ -202,3 +203,37 @@ def test_when_target_is_mapped_choose_mapping_backend(self):
202203
data.requester = 'somebody else'
203204
newctx, newdata = self.plugin.process(self.context, data)
204205
assert newctx.target_backend == 'mapped_backend'
206+
207+
208+
class TestDecideBackendByRequester(TestCase):
209+
def setUp(self):
210+
context = Context()
211+
context.state = State()
212+
213+
config = {
214+
'requester_mapping': {
215+
'test_requester': 'mapped_backend',
216+
},
217+
}
218+
219+
plugin = DecideBackendByRequester(
220+
config=config,
221+
name='test_decide_service',
222+
base_url='https://satosa.example.org',
223+
)
224+
plugin.next = lambda ctx, data: (ctx, data)
225+
226+
self.config = config
227+
self.context = context
228+
self.plugin = plugin
229+
230+
def test_when_requester_is_not_mapped_skip(self):
231+
data = InternalData(requester='other_test_requester')
232+
newctx, newdata = self.plugin.process(self.context, data)
233+
assert not newctx.target_backend
234+
235+
def test_when_requester_is_mapped_choose_mapping_backend(self):
236+
data = InternalData(requester='test_requester')
237+
data.requester = 'test_requester'
238+
newctx, newdata = self.plugin.process(self.context, data)
239+
assert newctx.target_backend == 'mapped_backend'

0 commit comments

Comments
 (0)