1
1
"""
2
- Copyright (c) 2020, 2023 , Oracle and/or its affiliates.
2
+ Copyright (c) 2020, 2024 , Oracle and/or its affiliates.
3
3
Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
4
4
"""
5
5
import unittest
6
6
7
+ from wlsdeploy .aliases .model_constants import ALL
8
+ from wlsdeploy .aliases .model_constants import DEFAULT_AUTHENTICATOR
9
+ from wlsdeploy .aliases .model_constants import DEFAULT_CREDENTIAL_MAPPER
10
+ from wlsdeploy .aliases .model_constants import XACML_AUTHORIZER
11
+ from wlsdeploy .aliases .model_constants import XACML_ROLE_MAPPER
7
12
from wlsdeploy .util .cla_utils import CommandLineArgUtil
8
13
from wlsdeploy .util .model_context import ModelContext
9
14
10
15
11
- class ClaHelperTest (unittest .TestCase ):
16
+ class ModelContextTest (unittest .TestCase ):
17
+ __program_name = 'ModelContextTest'
12
18
13
19
def test_copy_model_context (self ):
14
- __program_name = 'model_context_test'
15
20
__oracle_home = '/my/oracle/home'
16
21
__model_file = 'my_model_file.yaml'
17
22
18
23
arg_map = dict ()
19
24
arg_map [CommandLineArgUtil .ORACLE_HOME_SWITCH ] = __oracle_home
20
- model_context = ModelContext (__program_name , arg_map )
21
- self .assertEquals (model_context .get_program_name (), __program_name )
25
+ model_context = ModelContext (self . __program_name , arg_map )
26
+ self .assertEquals (model_context .get_program_name (), self . __program_name )
22
27
self .assertEquals (model_context .get_oracle_home (), __oracle_home )
23
28
self .assertEquals (model_context .get_model_file (), None )
24
29
25
30
arg_map = dict ()
26
31
arg_map [CommandLineArgUtil .MODEL_FILE_SWITCH ] = __model_file
27
32
model_context_copy = model_context .copy (arg_map )
28
- self .assertEquals (model_context_copy .get_program_name (), __program_name )
33
+ self .assertEquals (model_context_copy .get_program_name (), self . __program_name )
29
34
self .assertEquals (model_context_copy .get_oracle_home (), __oracle_home )
30
35
self .assertEquals (model_context_copy .get_model_file (), __model_file )
31
36
32
37
def test_password_is_tokenized (self ):
33
- __program_name = 'model_context_test'
34
-
35
38
__no_token_value = 'Welcome1'
36
39
__complex_no_token_value = 'Abc@@def@@ghi'
37
40
__secret_value = '@@SECRET:foo:username@@'
38
41
__env_value = '@@ENV:FOO@@'
39
42
__complex_token_value = '@@SECRET:foo:@@ENV:BAR@@@@'
40
43
41
- model_context = ModelContext (__program_name )
44
+ model_context = ModelContext (self . __program_name )
42
45
self .assertEquals (model_context .password_is_tokenized (None ), False )
43
46
self .assertEquals (model_context .password_is_tokenized (__no_token_value ), False )
44
47
self .assertEquals (model_context .password_is_tokenized (__complex_no_token_value ), False )
@@ -47,3 +50,25 @@ def test_password_is_tokenized(self):
47
50
self .assertEquals (model_context .password_is_tokenized (__env_value ), True )
48
51
self .assertEquals (model_context .password_is_tokenized (__secret_value ), True )
49
52
self .assertEquals (model_context .password_is_tokenized (__complex_token_value ), True )
53
+
54
+ def test_discover_security_provider_data_scopes (self ):
55
+ # Some security provider types contain passwords, requiring extra configuration for discover
56
+ self ._try_security_provider_data_scope (True , DEFAULT_AUTHENTICATOR )
57
+ self ._try_security_provider_data_scope (True , DEFAULT_CREDENTIAL_MAPPER )
58
+ self ._try_security_provider_data_scope (True , ALL )
59
+ self ._try_security_provider_data_scope (False , XACML_AUTHORIZER , XACML_ROLE_MAPPER )
60
+ self ._try_security_provider_data_scope (True , XACML_AUTHORIZER , DEFAULT_CREDENTIAL_MAPPER )
61
+ self ._try_security_provider_data_scope (True , XACML_ROLE_MAPPER , DEFAULT_CREDENTIAL_MAPPER )
62
+
63
+ def _try_security_provider_data_scope (self , expected_result , * args ):
64
+ scopes_text = ',' .join (list (args ))
65
+ arg_map = {
66
+ CommandLineArgUtil .DISCOVER_SECURITY_PROVIDER_DATA_SWITCH : scopes_text
67
+ }
68
+ model_context = ModelContext (self .__program_name , arg_map )
69
+
70
+ test_text = "should not"
71
+ if expected_result :
72
+ test_text = "should"
73
+ self .assertEquals (model_context .is_discover_security_provider_passwords (), expected_result ,
74
+ "Security provider data scope " + scopes_text + " " + test_text + " discover passwords" )
0 commit comments