@@ -19,6 +19,9 @@ import com.redhat.devtools.intellij.kubernetes.editor.mocks.createTemplate
19
19
import com.redhat.devtools.intellij.kubernetes.editor.mocks.createYAMLSequenceItem
20
20
import com.redhat.devtools.intellij.kubernetes.editor.mocks.createYAMLMapping
21
21
import com.redhat.devtools.intellij.kubernetes.editor.mocks.createYAMLSequence
22
+ import com.redhat.devtools.intellij.kubernetes.editor.util.getLabels
23
+ import com.redhat.devtools.intellij.kubernetes.editor.util.getSelector
24
+ import com.redhat.devtools.intellij.kubernetes.editor.util.getTemplateLabels
22
25
import org.assertj.core.api.Assertions.assertThat
23
26
import org.jetbrains.yaml.psi.YAMLMapping
24
27
import org.junit.Before
@@ -34,7 +37,7 @@ class SelectorsFilterTest {
34
37
private lateinit var filter: SelectorsFilter
35
38
36
39
private lateinit var pod: YAMLMapping
37
- private lateinit var podMatchingSelector : YAMLMapping
40
+ private lateinit var deploymentMatchingPod : YAMLMapping
38
41
39
42
@Before
40
43
fun before () {
@@ -45,10 +48,10 @@ class SelectorsFilterTest {
45
48
createYAMLMapping(listOf (createYAMLKeyValue(LABEL_KEY , LABEL_VALUE )))
46
49
)
47
50
48
- this .podMatchingSelector = createYAMLMapping(listOf (
51
+ this .deploymentMatchingPod = createYAMLMapping(listOf (
49
52
createYAMLKeyValue(" kind" , " Deployment" )
50
53
))
51
- this .podMatchingSelector .createSelector(
54
+ this .deploymentMatchingPod .createSelector(
52
55
createYAMLMapping(listOf (
53
56
createYAMLKeyValue(
54
57
" matchLabels" ,
@@ -75,7 +78,7 @@ class SelectorsFilterTest {
75
78
fun `#isAccepted returns true if filtered element labels matching all selector labels and expressions` () {
76
79
// given
77
80
// when
78
- val isAccepted = filter.isAccepted(podMatchingSelector )
81
+ val isAccepted = filter.isAccepted(deploymentMatchingPod )
79
82
// then
80
83
assertThat(isAccepted).isTrue()
81
84
}
@@ -221,7 +224,7 @@ class SelectorsFilterTest {
221
224
@Test
222
225
fun `#isAccepted returns true if filtering is deployment with template labels and filtered is deployment with matching labels` () {
223
226
// given
224
- podMatchingSelector .createTemplate(
227
+ deploymentMatchingPod .createTemplate(
225
228
createYAMLMapping(listOf (
226
229
createYAMLKeyValue(
227
230
" metadata" ,
@@ -236,10 +239,46 @@ class SelectorsFilterTest {
236
239
)
237
240
))
238
241
)
239
- val filter = SelectorsFilter (podMatchingSelector )
242
+ val filter = SelectorsFilter (pod )
240
243
// when
241
- val isAccepted = filter.isAccepted(podMatchingSelector )
244
+ val isAccepted = filter.isAccepted(deploymentMatchingPod )
242
245
// then
243
246
assertThat(isAccepted).isTrue()
244
247
}
248
+
249
+ @Test
250
+ fun `#getMatchingElement returns deployment selector that matches given pod labels` () {
251
+ // given
252
+ val filter = SelectorsFilter (deploymentMatchingPod)
253
+ // when
254
+ val matchingElement = filter.getMatchingElement(deploymentMatchingPod)
255
+ // then
256
+ assertThat(matchingElement).isEqualTo(deploymentMatchingPod.getSelector())
257
+ }
258
+
259
+ @Test
260
+ fun `#getMatchingElement returns deployment selector that matches given deployment template labels` () {
261
+ // given
262
+ deploymentMatchingPod.createTemplate(
263
+ createYAMLMapping(listOf (
264
+ createYAMLKeyValue(
265
+ " metadata" ,
266
+ createYAMLMapping(listOf (
267
+ createYAMLKeyValue(
268
+ " labels" ,
269
+ createYAMLMapping(listOf (
270
+ createYAMLKeyValue(LABEL_KEY , LABEL_VALUE ) // matching labels in spec>template
271
+ ))
272
+ )
273
+ ))
274
+ )
275
+ ))
276
+ )
277
+ val filter = SelectorsFilter (deploymentMatchingPod)
278
+ // when
279
+ val matchingElement = filter.getMatchingElement(deploymentMatchingPod)
280
+ // then
281
+ assertThat(matchingElement).isEqualTo(deploymentMatchingPod.getSelector())
282
+ }
283
+
245
284
}
0 commit comments