@@ -210,7 +210,7 @@ class MainIntegrationTest : IntegrationTestBase() {
210210
211211 @Test
212212 fun `sp in other namespaced should be ignored when using namespaced mode` () =
213- setup(Mode .NAMESPACED ) { namespace, shinyProxyClient, namespacedClient, stableClient, operator , reconcileListener, _->
213+ setup(Mode .NAMESPACED ) { namespace, shinyProxyClient, namespacedClient, stableClient, operator , reconcileListener, _ ->
214214 // 1. create a SP instance in other namespace
215215 val spTestInstance = ShinyProxyTestInstance (
216216 " itest-2" ,
@@ -494,7 +494,7 @@ class MainIntegrationTest : IntegrationTestBase() {
494494
495495 @Test
496496 fun `configuration with subpath not ending in slash` () =
497- setup(Mode .NAMESPACED ) { namespace, shinyProxyClient, namespacedClient, stableClient, operator , reconcileListener , _->
497+ setup(Mode .NAMESPACED ) { namespace, shinyProxyClient, namespacedClient, stableClient, operator , reconcileListener, _ ->
498498 // 1. create a SP instance
499499 val spTestInstance = ShinyProxyTestInstance (
500500 namespace,
@@ -1092,7 +1092,7 @@ class MainIntegrationTest : IntegrationTestBase() {
10921092 // check configmap
10931093 spTestInstance.assertConfigMapIsCorrect(sp)
10941094
1095- // check replicaset
1095+ // check replicaset
10961096 spTestInstance.assertReplicaSetIsCorrect(sp)
10971097
10981098 // check service
@@ -1134,5 +1134,82 @@ class MainIntegrationTest : IntegrationTestBase() {
11341134 job.cancel()
11351135 }
11361136
1137+ @Test
1138+ fun `ingress patch` () =
1139+ setup(Mode .NAMESPACED ) { namespace, shinyProxyClient, namespacedClient, _, operator , reconcileListener, _ ->
1140+ // 1. create a SP instance
1141+ val spTestInstance = ShinyProxyTestInstance (
1142+ namespace,
1143+ namespacedClient,
1144+ shinyProxyClient,
1145+ " simple_config_with_ingress_patches.yaml" ,
1146+ reconcileListener
1147+ )
1148+ spTestInstance.create()
1149+
1150+ val (resourceRetriever, shinyProxyLister) = operator .prepare()
1151+ // 2. start the operator and let it do it's work
1152+ val job = GlobalScope .launch {
1153+ operator .run (resourceRetriever, shinyProxyLister)
1154+ }
1155+
1156+ // 3. wait until instance is created
1157+ spTestInstance.waitForOneReconcile()
1158+
1159+ // 4. assert correctness
1160+ spTestInstance.assertInstanceIsCorrect()
1161+ val sp = spTestInstance.retrieveInstance()
1162+
1163+ val allIngresses = namespacedClient.network().v1().ingresses().list().items
1164+ assertEquals(1 , allIngresses.size)
1165+ val ingress = allIngresses.firstOrNull { it.metadata.name == " sp-${sp.metadata.name} -ing" .take(63 ) }
1166+ assertNotNull(ingress)
1167+
1168+ assertEquals(mapOf (
1169+ " nginx.ingress.kubernetes.io/proxy-buffer-size" to " 128k" ,
1170+ " nginx.ingress.kubernetes.io/ssl-redirect" to " true" ,
1171+ " nginx.ingress.kubernetes.io/proxy-body-size" to " 300m"
1172+ ), ingress.metadata.annotations)
1173+
1174+ job.cancel()
1175+ }
1176+
1177+ @Test
1178+ fun `service patch` () =
1179+ setup(Mode .NAMESPACED ) { namespace, shinyProxyClient, namespacedClient, _, operator , reconcileListener, _ ->
1180+ // 1. create a SP instance
1181+ val spTestInstance = ShinyProxyTestInstance (
1182+ namespace,
1183+ namespacedClient,
1184+ shinyProxyClient,
1185+ " simple_config_with_service_patches.yaml" ,
1186+ reconcileListener
1187+ )
1188+ spTestInstance.create()
1189+
1190+ val (resourceRetriever, shinyProxyLister) = operator .prepare()
1191+ // 2. start the operator and let it do it's work
1192+ val job = GlobalScope .launch {
1193+ operator .run (resourceRetriever, shinyProxyLister)
1194+ }
1195+
1196+ // 3. wait until instance is created
1197+ spTestInstance.waitForOneReconcile()
1198+
1199+ // 4. assert correctness
1200+ spTestInstance.assertInstanceIsCorrect()
1201+ val sp = spTestInstance.retrieveInstance()
1202+
1203+ val services = namespacedClient.inNamespace(namespace).services().list().items
1204+ assertEquals(1 , services.size)
1205+ val service = services.firstOrNull { it.metadata.name == " sp-${sp.metadata.name} -svc" .take(63 ) }
1206+ assertNotNull(service)
1207+
1208+ assertEquals(mapOf (
1209+ " my-service-ingress-patch" to " abc"
1210+ ), service.metadata.annotations)
1211+
1212+ job.cancel()
1213+ }
11371214
11381215}
0 commit comments