diff --git a/src/main/java/com/redhat/devtools/intellij/common/validation/KubernetesResourceInfo.java b/src/main/java/com/redhat/devtools/intellij/common/validation/KubernetesResourceInfo.java index 4e5ec5b0..a6814031 100644 --- a/src/main/java/com/redhat/devtools/intellij/common/validation/KubernetesResourceInfo.java +++ b/src/main/java/com/redhat/devtools/intellij/common/validation/KubernetesResourceInfo.java @@ -102,6 +102,20 @@ private void setTypeInfo(KubernetesTypeInfo typeInfo) { this.typeInfo = typeInfo; } + public String getApiGroup() { + if (typeInfo == null) { + return null; + } + return typeInfo.getApiGroup(); + } + + public String getKind() { + if (typeInfo == null) { + return null; + } + return typeInfo.getKind(); + } + @Override public boolean equals(Object o) { if (this == o) return true; diff --git a/src/test/java/com/redhat/devtools/intellij/common/validation/KubernetesResourceInfoTest.java b/src/test/java/com/redhat/devtools/intellij/common/validation/KubernetesResourceInfoTest.java index 3fc1ac9b..b7f47505 100644 --- a/src/test/java/com/redhat/devtools/intellij/common/validation/KubernetesResourceInfoTest.java +++ b/src/test/java/com/redhat/devtools/intellij/common/validation/KubernetesResourceInfoTest.java @@ -35,6 +35,7 @@ import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mockStatic; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class KubernetesResourceInfoTest { @@ -297,6 +298,54 @@ public void create_returns_empty_info_for_unsupported_file_type() { assertThat(resourceInfo.getNamespace()).isNull(); } + @Test + public void getApiGroup_returns_apiGroup_of_typeInfo() { + // given + KubernetesResourceInfo info = new KubernetesResourceInfo("obiwan", "stewjon", typeInfo); + + // when + info.getApiGroup(); + + // then + verify(typeInfo).getApiGroup(); + } + + @Test + public void getApiGroup_returns_null_given_typeInfo_is_null() { + // given + KubernetesResourceInfo info = new KubernetesResourceInfo("obiwan", "tatooine", null); + + // when + String apiGroup = info.getApiGroup(); + + // then + assertThat(apiGroup).isNull(); + } + + @Test + public void getKind_returns_kind_of_typeInfo() { + // given + KubernetesResourceInfo info = new KubernetesResourceInfo("luke", "stewjon", typeInfo); + + // when + info.getKind(); + + // then + verify(typeInfo).getKind(); + } + + @Test + public void getKind_returns_null_given_typeInfo_is_nul() { + // given + KubernetesResourceInfo info = new KubernetesResourceInfo("luke", "stewjon", null); + + // when + String kind = info.getKind(); + + // then + assertThat(kind).isNull(); + } + private void mockCreateKubernetesTypeInfo(KubernetesTypeInfo typeInfo, PsiFile file) { mockStatic.when(() -> KubernetesTypeInfo.create(file)) .thenReturn(typeInfo);