ZTSUtils { public static Identity generateIdentity(InstanceCertManager certManager, final String csr, final String cn, final String certUsage, int expiryTime) { String pemCert = certManager.generateX509Certificate(csr, certUsage, expiryTime); if (pemCert == null || pemCert.isEmpty()) { return null; } return new Identity().setName(cn).setCertificate(pemCert); }  static SslContextFactory createSSLContextObject(String[] clientProtocols); static SslContextFactory createSSLContextObject(final String[] clientProtocols,
            final PrivateKeyStore privateKeyStore); static boolean emitMonmetricError(int errorCode, String caller,
            String requestDomain, String principalDomain, Metric metric); static boolean verifyCertificateRequest(PKCS10CertificationRequest certReq,
            final String domain, final String service, X509CertRecord certRecord); static boolean validateCertReqCommonName(PKCS10CertificationRequest certReq, String cn); static String extractCertReqInstanceId(PKCS10CertificationRequest certReq); static Identity generateIdentity(InstanceCertManager certManager, final String csr,
            final String cn, final String certUsage, int expiryTime); static SSLContext createServerClientSSLContext(PrivateKeyStore privateKeyStore); static int parseInt(final String value, int defaultValue); static boolean parseBoolean(final String value, boolean defaultValue); static final String ZTS_CERT_DNS_SUFFIX; }
@Test public void testGenerateIdentityFailure() throws IOException { InstanceCertManager certManager = Mockito.mock(InstanceCertManager.class); Mockito.when(certManager.generateX509Certificate(Mockito.any(), Mockito.any(), Mockito.anyInt())).thenReturn(null); Path path = Paths.get("src/test/resources/valid.csr"); String csr = new String(Files.readAllBytes(path)); Identity identity = ZTSUtils.generateIdentity(certManager, csr, "unknown.syncer", null, 0); assertNull(identity); }