use of com.venafi.vcert.sdk.endpoint.Authentication in project vcert-java by Venafi.
the class CloudConnectorTest method testExceptionValidatingPolicyOrgUnitsWhenWildcards.
@Test
@DisplayName("Cloud - Testing Exception in Validation of Policy OrgUnits with wildcard value")
public void testExceptionValidatingPolicyOrgUnitsWhenWildcards() throws VCertException {
classUnderTest.authenticate(new Authentication(null, null, "12345678-1234-1234-1234-123456789012"));
PolicySpecification policySpecification = CloudTestUtils.getPolicySpecification();
// setting the orgUnits to a list of values which contains ".*" to validate that the related VCertException is thrown
policySpecification.policy().subject().orgUnits(new String[] { PolicySpecificationConst.ALLOW_ALL, "org1" });
Exception exception = assertThrows(VCertException.class, () -> classUnderTest.setPolicy(CloudTestUtils.getRandomZone(), policySpecification));
assertEquals(CloudTestUtils.getVCertExceptionMessage(CloudPolicySpecificationValidator.ATTRIBUTE_HAS_MORE_THAN_ONE_VALUE_CONTAINING_ALLOW_ALL_STRING_EXCEPTION_MESSAGE, PolicySpecificationConst.ATT_POLICY_SUBJECT_ORG_UNITS), exception.getMessage());
}
use of com.venafi.vcert.sdk.endpoint.Authentication in project vcert-java by Venafi.
the class CloudConnectorTest method requestCertificate.
@Test
void requestCertificate() throws VCertException {
Security.addProvider(new BouncyCastleProvider());
String apiKey = "12345678-1234-1234-1234-123456789012";
CertificateIssuingTemplate cit = new CertificateIssuingTemplate();
cit.id("15c7e3f0-ff0a-11e9-a3f0-2b5db8116980");
cit.keyTypes(Arrays.asList(new AllowedKeyType("RSA", Arrays.asList(2048))));
cit.keyReuse(true);
cit.subjectCNRegexes(Arrays.asList("^random name$", "^.*.example.com$", "^.*.example.org$", "^.*.example.net$", "^.*.invalid$", "^.*.local$", "^.*.localhost$", "^.*.test$"));
cit.subjectORegexes(Arrays.asList("^.*$"));
cit.subjectOURegexes(Arrays.asList("^.*$"));
cit.subjectSTRegexes(Arrays.asList());
cit.subjectLRegexes(Arrays.asList());
cit.subjectCValues(Arrays.asList());
cit.sanDnsNameRegexes(Arrays.asList());
Application application = new Application();
application.id("d3d7e270-545b-11eb-a494-893c4e1e4fad");
when(cloud.applicationByName(eq("test_app"), eq(apiKey))).thenReturn(application);
when(cloud.certificateIssuingTemplateByAppNameAndCitAlias(eq("test_app"), eq("test_zone"), eq(apiKey))).thenReturn(cit);
// todo:
when(cloud.certificateRequest(eq(apiKey), any(CloudConnector.CertificateRequestsPayload.class))).thenReturn(new CloudConnector.CertificateRequestsResponse().certificateRequests(singletonList(new CloudConnector.CertificateRequestsResponseData().id("jackpot"))));
CertificateRequest request = new CertificateRequest().subject(new CertificateRequest.PKIXName().commonName("random name").organization(singletonList("Venafi, Inc.")).organizationalUnit(singletonList("Automated Tests")));
final Authentication auth = new Authentication(null, null, apiKey);
classUnderTest.authenticate(auth);
ZoneConfiguration zoneConfig = classUnderTest.readZoneConfiguration("test_app\\test_zone");
classUnderTest.generateRequest(zoneConfig, request);
String actual = classUnderTest.requestCertificate(request, zoneConfig);
assertThat(actual).isEqualTo("jackpot");
}
use of com.venafi.vcert.sdk.endpoint.Authentication in project vcert-java by Venafi.
the class CloudConnectorTest method renewCertificateEmptyRequest.
@Test
@DisplayName("Renew a certificate without request details in cloud should fail")
void renewCertificateEmptyRequest() throws VCertException {
final String apiKey = "12345678-1234-1234-1234-123456789012";
final Authentication auth = new Authentication(null, null, apiKey);
final RenewalRequest renewalRequest = new RenewalRequest();
final Cloud.CertificateSearchResponse searchResponse = mock(Cloud.CertificateSearchResponse.class);
classUnderTest.authenticate(auth);
Throwable exception = assertThrows(VCertException.class, () -> classUnderTest.renewCertificate(renewalRequest));
assertThat(exception.getMessage()).contains("CertificateDN or Thumbprint required");
}
use of com.venafi.vcert.sdk.endpoint.Authentication in project vcert-java by Venafi.
the class CloudConnectorTest method testExceptionValidatingCertificateAuthority.
@Test
@DisplayName("Cloud - Testing Exception in Validation of CertificateAuthority")
public void testExceptionValidatingCertificateAuthority() throws VCertException {
classUnderTest.authenticate(new Authentication(null, null, "12345678-1234-1234-1234-123456789012"));
PolicySpecification policySpecification = CloudTestUtils.getPolicySpecification();
// setting the certificate authority to null to validate that the related VCertException is thrown
policySpecification.policy().certificateAuthority("certificateAuthority");
Exception exception = assertThrows(VCertException.class, () -> classUnderTest.setPolicy(CloudTestUtils.getRandomZone(), policySpecification));
assertEquals(CloudTestUtils.getVCertExceptionMessage(CloudPolicySpecificationValidator.CERTIFICATE_AUTHORITY_EXCEPTION_MESSAGE), exception.getMessage());
}
use of com.venafi.vcert.sdk.endpoint.Authentication in project vcert-java by Venafi.
the class CloudConnectorTest method testExceptionValidatingPolicyStatesWhenWildcards.
@Test
@DisplayName("Cloud - Testing Exception in Validation of Policy States with wildcard value")
public void testExceptionValidatingPolicyStatesWhenWildcards() throws VCertException {
classUnderTest.authenticate(new Authentication(null, null, "12345678-1234-1234-1234-123456789012"));
PolicySpecification policySpecification = CloudTestUtils.getPolicySpecification();
// setting the States to a list of values which contains ".*" to validate that the related VCertException is thrown
policySpecification.policy().subject().states(new String[] { PolicySpecificationConst.ALLOW_ALL, "Yucatan" });
Exception exception = assertThrows(VCertException.class, () -> classUnderTest.setPolicy(CloudTestUtils.getRandomZone(), policySpecification));
assertEquals(CloudTestUtils.getVCertExceptionMessage(CloudPolicySpecificationValidator.ATTRIBUTE_HAS_MORE_THAN_ONE_VALUE_CONTAINING_ALLOW_ALL_STRING_EXCEPTION_MESSAGE, PolicySpecificationConst.ATT_POLICY_SUBJECT_STATES), exception.getMessage());
}
Aggregations