Skip to content
Snippets Groups Projects
Commit 319c9b34 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4906 add tests to copy and update es crt

parent eb26e12e
Branches OZG-4906
No related tags found
No related merge requests found
......@@ -441,8 +441,7 @@ class OzgCloudElasticsearchServiceTest {
.addToData(SERVER_CERTIFICATE_SECRET_DATA_KEY, SERVER_CERTIFICATE_SECRET_DATA)
.build();
private static final Secret CREDENTIAL_SECRET = SecretTestFactory.create();
@Mock
private OzgCloudElasticsearchServerProperties serverProperties;
@Mock
private ResourceAdapter<Secret> resourceAdapter;
......@@ -480,4 +479,96 @@ class OzgCloudElasticsearchServiceTest {
}
}
}
@DisplayName("Copy and Update certificate")
@Nested
class TestCopyAndUpdateCertificate {
private static final String CERTIFICATE_NAME = "dummySecretName";
@Mock
private Resource<Secret> secretResource;
@DisplayName("process flow")
@Nested
class TestProcessFlow {
@Mock
private OzgCloudElasticsearchServerProperties serverProperties;
@BeforeEach
void mock() {
when(kubernetesService.getSecretResource(any(), any())).thenReturn(secretResource);
when(properties.getCertificateSecretName()).thenReturn(CERTIFICATE_NAME);
}
@Test
void shouldGetCertificateSecret() {
doNothing().when(service).createOrReplaceCredentialSecret(any(), any());
service.copyAndUpdateElasticCertificate(NAMESPACE);
verify(kubernetesService).getSecretResource(NAMESPACE, CERTIFICATE_NAME);
}
@Test
void shouldCreateOrUpdate() {
doNothing().when(service).createOrReplaceCredentialSecret(any(), any());
service.copyAndUpdateElasticCertificate(NAMESPACE);
verify(service).createOrReplaceCredentialSecret(NAMESPACE, secretResource);
}
}
@DisplayName("create or replace credential secret")
@Nested
class TestCreateOrReplaceCredentialSecret {
private static final String SERVER_CERTIFICATE_SECRET_NAME = LoremIpsum.getInstance().getWords(1);
private static final String SERVER_CERTIFICATE_SECRET_DATA_KEY = LoremIpsum.getInstance().getWords(1);
private static final String SERVER_CERTIFICATE_SECRET_DATA = LoremIpsum.getInstance().getWords(1);
private static final String SERVER_CERTIFICATE_NAMESPACE = LoremIpsum.getInstance().getWords(1);
private static final Secret SERVER_CERTIFICATE_SECRET = SecretTestFactory.createBuilder()
.addToData(SERVER_CERTIFICATE_SECRET_DATA_KEY, SERVER_CERTIFICATE_SECRET_DATA)
.build();
private static final Secret CREDENTIAL_SECRET = SecretTestFactory.create();
@Mock
private ResourceAdapter<Secret> resourceAdapter;
@BeforeEach
void mock() {
when(properties.getServer()).thenReturn(serverProperties);
when(serverProperties.getCertificateSecretName()).thenReturn(SERVER_CERTIFICATE_SECRET_NAME);
when(serverProperties.getCertificateSecretDataKey()).thenReturn(SERVER_CERTIFICATE_SECRET_DATA_KEY);
when(serverProperties.getCertificateNamespace()).thenReturn(SERVER_CERTIFICATE_NAMESPACE);
when(kubernetesService.getSecretResource(any(), any())).thenReturn(secretResource);
when(secretResource.get()).thenReturn(SERVER_CERTIFICATE_SECRET);
doReturn(resourceAdapter).when(service).createAdapter(any());
when(secretHelper.buildCertificateSecret(any(), any())).thenReturn(CREDENTIAL_SECRET);
}
@Test
void shouldGetCertificateSecret() {
service.createOrReplaceCredentialSecret(NAMESPACE, secretResource);
verify(kubernetesService).getSecretResource(SERVER_CERTIFICATE_NAMESPACE, SERVER_CERTIFICATE_SECRET_NAME);
}
@Test
void shouldBuildSecret() {
service.createOrReplaceCredentialSecret(NAMESPACE, secretResource);
verify(secretHelper).buildCertificateSecret(NAMESPACE, SERVER_CERTIFICATE_SECRET_DATA);
}
@Test
void shouldCreateOrReplace() {
service.createOrReplaceCredentialSecret(NAMESPACE, secretResource);
verify(resourceAdapter).createOrReplace(CREDENTIAL_SECRET);
}
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment