diff options
author | KAPIL SINGAL <ks220y@att.com> | 2020-03-13 14:34:15 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2020-03-13 14:34:15 +0000 |
commit | 20ad4008fd9d2fb663aac0fcd8caafe8ad676bf4 (patch) | |
tree | 97bb2b592d4857bde8ac77565ebff7a80f494ed2 /ms/py-executor/resource_resolution/tests/authorization_interceptor_test.py | |
parent | 949fed2a716fa636aec836ec46fec2c595f68d4f (diff) | |
parent | fff342d0769e1c9f4e7900fd66b91e82c6966ac3 (diff) |
Merge "PyExecutor ResourceResoluton helper class."
Diffstat (limited to 'ms/py-executor/resource_resolution/tests/authorization_interceptor_test.py')
-rw-r--r-- | ms/py-executor/resource_resolution/tests/authorization_interceptor_test.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/ms/py-executor/resource_resolution/tests/authorization_interceptor_test.py b/ms/py-executor/resource_resolution/tests/authorization_interceptor_test.py new file mode 100644 index 000000000..4b03f0b36 --- /dev/null +++ b/ms/py-executor/resource_resolution/tests/authorization_interceptor_test.py @@ -0,0 +1,50 @@ +"""Copyright 2020 Deutsche Telekom. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +""" + +from unittest.mock import MagicMock, _Call + +import pytest + +from resource_resolution.authorization import AuthTokenInterceptor, NewClientCallDetails + + +def test_resource_resolution_auth_token_interceptor(): + """Test AuthTokenInterceptor class. + + - Checks if it's correctly set default value. + - Checks if it's correctly set passed values. + - Checks if it's correctly checked if all header characters are lowercase. + - Checks if continuation function is called with headers setted + """ + interceptor: AuthTokenInterceptor = AuthTokenInterceptor("test_token", header="header") + assert interceptor.token == "test_token" + assert interceptor.header == "header" + + interceptor: AuthTokenInterceptor = AuthTokenInterceptor("test_token") + assert interceptor.token == "test_token" + assert interceptor.header == "authorization" + + with pytest.raises(ValueError): + AuthTokenInterceptor("test_token", header="Auth") + + continuation_mock: MagicMock = MagicMock() + client_call_details: MagicMock = MagicMock() + request_iterator: MagicMock = MagicMock() + + interceptor.intercept_stream_stream(continuation_mock, client_call_details, request_iterator) + continuation_mock.assert_called_once() + client_call_details_argument: _Call = continuation_mock.call_args_list[0][0][0] # Get NewClientCallDetails instance + assert isinstance(client_call_details_argument, NewClientCallDetails) + assert client_call_details_argument.metadata[0] == (interceptor.header, interceptor.token) |