DynamoDBCertRecordStoreFactory implements CertRecordStoreFactory { AmazonDynamoDB getDynamoDBClient(ZTSClientNotificationSenderImpl ztsClientNotificationSender, PrivateKeyStore keyStore) { DynamoDBClientFetcher dynamoDBClientFetcher = DynamoDBClientFetcherFactory.getDynamoDBClientFetcher(); return dynamoDBClientFetcher.getDynamoDBClient(ztsClientNotificationSender, keyStore).getAmazonDynamoDB(); }  @Override CertRecordStore create(PrivateKeyStore keyStore);  }
@Test public void testGetDynamoDBClient() { System.setProperty(ZTS_PROP_DYNAMODB_KEY_PATH, "test.keypath"); System.setProperty(ZTS_PROP_DYNAMODB_CERT_PATH, "test.certpath"); System.setProperty(ZTS_PROP_DYNAMODB_DOMAIN, "test.domain"); System.setProperty(ZTS_PROP_DYNAMODB_REGION, "test.region"); System.setProperty(ZTS_PROP_DYNAMODB_ROLE, "test.role"); System.setProperty(ZTS_PROP_DYNAMODB_TRUSTSTORE, "test.truststore"); System.setProperty(ZTS_PROP_DYNAMODB_TRUSTSTORE_PASSWORD, "test.truststore.password"); System.setProperty(ZTS_PROP_DYNAMODB_ZTS_URL, "test.ztsurl"); System.setProperty(ZTS_PROP_DYNAMODB_TRUSTSTORE_APPNAME, "test.appname"); PrivateKeyStore keyStore = Mockito.mock(PrivateKeyStore.class); when(keyStore.getApplicationSecret(Mockito.eq("test.appname"), Mockito.eq("test.truststore.password"))) .thenReturn("decryptedPassword"); DynamoDBCertRecordStoreFactory factory = new DynamoDBCertRecordStoreFactory(); ZTSClientNotificationSenderImpl ztsClientNotificationSender = Mockito.mock(ZTSClientNotificationSenderImpl.class); PrivateKeyStore privateKeyStore = Mockito.mock(PrivateKeyStore.class); AmazonDynamoDB dynamoDBClient = factory.getDynamoDBClient(ztsClientNotificationSender, privateKeyStore); assertNotNull(dynamoDBClient); System.clearProperty(ZTS_PROP_DYNAMODB_KEY_PATH); System.clearProperty(ZTS_PROP_DYNAMODB_CERT_PATH); System.clearProperty(ZTS_PROP_DYNAMODB_DOMAIN); System.clearProperty(ZTS_PROP_DYNAMODB_REGION); System.clearProperty(ZTS_PROP_DYNAMODB_ROLE); System.clearProperty(ZTS_PROP_DYNAMODB_TRUSTSTORE); System.clearProperty(ZTS_PROP_DYNAMODB_TRUSTSTORE_PASSWORD); System.clearProperty(ZTS_PROP_DYNAMODB_ZTS_URL); System.clearProperty(ZTS_PROP_DYNAMODB_TRUSTSTORE_APPNAME); }