1
1
import copy
2
2
import json
3
+ from pathlib import PurePosixPath
3
4
from typing import Mapping
4
5
5
6
import pytest
@@ -71,7 +72,7 @@ def test_spring_app_config_json_missing_props_and_secret_sources(full_route):
71
72
72
73
assert spring_conf ["name" ] == "SPRING_APPLICATION_JSON"
73
74
74
- expected_json = {"spring" : {"application" : {"name" : "testroute" }}, "server" : {"ssl" : {"key-alias" : "certificate" , "key-store" : "/ etc/ keystore/ test-keystore.jks" , "key-store-type" : "JKS" }, "port" : 8443 }}
75
+ expected_json = {"spring" : {"application" : {"name" : "testroute" }}, "server" : {"ssl" : {"key-alias" : "certificate" , "key-store" : str ( PurePosixPath ( "/" , " etc" , " keystore" , " test-keystore.jks")) , "key-store-type" : "JKS" }, "port" : 8443 }}
75
76
76
77
assert json_props == expected_json
77
78
@@ -132,7 +133,7 @@ def test_jdk_options_pkcs12_type(full_route):
132
133
133
134
assert options ["name" ] == JDK_OPTIONS_ENV_NAME
134
135
135
- expected_options = "-Djavax.net.ssl.trustStore=/ etc/ cabundle/ test-truststore.p12 -Djavax.net.ssl.trustStorePassword= -Djavax.net.ssl.trustStoreType=PKCS12"
136
+ expected_options = "-Djavax.net.ssl.trustStore=" + str ( PurePosixPath ( "/" , " etc" , " cabundle" , " test-truststore.p12" )) + " -Djavax.net.ssl.trustStorePassword= -Djavax.net.ssl.trustStoreType=PKCS12"
136
137
assert options ["value" ] == expected_options
137
138
138
139
@@ -144,7 +145,7 @@ def test_jdk_options_jks_type(full_route):
144
145
options = _get_java_jdk_options (tls_config )
145
146
assert options ["name" ] == JDK_OPTIONS_ENV_NAME
146
147
147
- expected_options = "-Djavax.net.ssl.trustStore=/ etc/ cabundle/ test-truststore.jks -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.trustStoreType=JKS"
148
+ expected_options = "-Djavax.net.ssl.trustStore=" + str ( PurePosixPath ( "/" , " etc" , " cabundle" , " test-truststore.jks" )) + " -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.trustStoreType=JKS"
148
149
assert options ["value" ] == expected_options
149
150
150
151
@@ -155,6 +156,37 @@ def test_env_vars_no_keystore(full_route):
155
156
156
157
assert not any (x for x in options if x .get ('name' ) == 'SERVER_SSL_KEYSTOREPASSWORD' )
157
158
159
+ def test_env_var_service_name (full_route ):
160
+ actual_env_vars = _generate_container_env_vars (full_route )
161
+ actual_service_name_env_var = next ((actual_env_var for actual_env_var in actual_env_vars if actual_env_var ['name' ] == 'SERVICE_NAME' ), None )
162
+ expected_service_name_env_var = {"name" : "SERVICE_NAME" , "value" : "testroute" }
163
+ assert expected_service_name_env_var == actual_service_name_env_var
164
+
165
+
166
+ def test_no_additional_env_vars (full_route ):
167
+ additional_env_vars_to_remove_from_expected_response = ["ADDITIONAL_ENV_VAR_1" , "ADDITIONAL_ENV_VAR_2" ]
168
+
169
+ expected_response = load_json ("json/full-response.json" )
170
+ env_vars_in_response = list (expected_response ["children" ][0 ]["spec" ]["template" ]["spec" ]["containers" ][0 ]["env" ])
171
+ for env_var in env_vars_in_response :
172
+ if env_var ["name" ] == additional_env_vars_to_remove_from_expected_response [0 ] or env_var ["name" ] == additional_env_vars_to_remove_from_expected_response [1 ]:
173
+ expected_response ["children" ][0 ]["spec" ]["template" ]["spec" ]["containers" ][0 ]["env" ].remove (env_var )
174
+
175
+ del full_route ["spec" ]["env" ]
176
+ actual_response = sync (full_route )
177
+
178
+ assert expected_response == actual_response
179
+
180
+
181
+ def test_no_env_from (full_route ):
182
+ expected_response = load_json ("json/full-response.json" )
183
+ del expected_response ["children" ][0 ]["spec" ]["template" ]["spec" ]["containers" ][0 ]["envFrom" ]
184
+
185
+ del full_route ["spec" ]["envFrom" ]
186
+ actual_response = sync (full_route )
187
+
188
+ assert expected_response == actual_response
189
+
158
190
159
191
def test_deployment_missing_labels (full_route ):
160
192
del full_route ["spec" ]["labels" ]
0 commit comments