package org.camunda.bpm.extension.osgi.configadmin.impl; import static org.camunda.bpm.extension.osgi.configadmin.impl.ProcessEngineConfigurationProperties.*; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import java.nio.charset.Charset; import org.junit.Before; import org.junit.Test; public class ProcessEngineConfigurationPropertiesTest { private static final String TRUE = "true"; private static final String FALSE = "false"; private ProcessEngineConfigurationFromProperties config; @Before public void setUp() { config = new ProcessEngineConfigurationFromProperties(); } @Test public void setAuthorizationEnabled() { AUTHORIZATION_ENABLED.setPropertyOnConfiguration(config, TRUE); assertThat(config.isAuthorizationEnabled(), is(true)); } @Test public void setAuthorizationDisabled() { AUTHORIZATION_ENABLED.setPropertyOnConfiguration(config, FALSE); assertThat(config.isAuthorizationEnabled(), is(false)); } @Test public void setAutoStoreVariablesEnabled() { AUTO_STORE_SCRIPT_VARIABLES.setPropertyOnConfiguration(config, TRUE); assertThat(config.isAutoStoreScriptVariables(), is(true)); } @Test public void setAutoStoreVariablesDisabled() { AUTO_STORE_SCRIPT_VARIABLES.setPropertyOnConfiguration(config, FALSE); assertThat(config.isAutoStoreScriptVariables(), is(false)); } @Test public void setCmmnEnabled() { CMMN_ENABLED.setPropertyOnConfiguration(config, TRUE); assertThat(config.isCmmnEnabled(), is(true)); } @Test public void setCmmnDisabled() { CMMN_ENABLED.setPropertyOnConfiguration(config, FALSE); assertThat(config.isCmmnEnabled(), is(false)); } @Test public void setCreateDiagramOnDeployEnabled() { CREATE_DIAGRAM_ON_DEPLOY.setPropertyOnConfiguration(config, TRUE); assertThat(config.isCreateDiagramOnDeploy(), is(true)); } @Test public void setCreateDiagramOnDeployDisabled() { CREATE_DIAGRAM_ON_DEPLOY.setPropertyOnConfiguration(config, FALSE); assertThat(config.isCreateDiagramOnDeploy(), is(false)); } @Test public void setCreateIncidentOnFailEnabled() { CREATE_INCIDENT_ON_FAIL.setPropertyOnConfiguration(config, TRUE); assertThat(config.isCreateIncidentOnFailedJobEnabled(), is(true)); } @Test public void setCreateIncidentOnFailDisabled() { CREATE_INCIDENT_ON_FAIL.setPropertyOnConfiguration(config, FALSE); assertThat(config.isCreateIncidentOnFailedJobEnabled(), is(false)); } @Test public void setDatasourceJndiName() { String name = "foobar"; DATA_SOURCE_JNDI_NAME.setPropertyOnConfiguration(config, name); assertThat(config.getDataSourceJndiName(), is(name)); } @Test public void setDatabaseSchema() { String schema = "h2"; DATABASE_SCHEMA.setPropertyOnConfiguration(config, schema); assertThat(config.getDatabaseSchema(), is(schema)); } @Test public void setDatabaseSchemaUpdate() { String update = "create"; DATABASE_SCHEMA_UPDATE.setPropertyOnConfiguration(config, update); assertThat(config.getDatabaseSchemaUpdate(), is(update)); } @Test public void setDatabaseTablePrefix() { String prefix = "abc"; DATABASE_TABLE_PREFIX.setPropertyOnConfiguration(config, prefix); assertThat(config.getDatabaseTablePrefix(), is(prefix)); } @Test public void setDatabaseType() { String type = "H-Base"; DATABASE_TYPE.setPropertyOnConfiguration(config, type); assertThat(config.getDatabaseType(), is(type)); } @Test public void setDbEntityCacheReuseEnabled() { DB_ENTITY_CACHE_REUSE_ENABLED.setPropertyOnConfiguration(config, TRUE); assertThat(config.isDbEntityCacheReuseEnabled(), is(true)); } @Test public void setDbEntityCacheReuseDisabled() { DB_ENTITY_CACHE_REUSE_ENABLED.setPropertyOnConfiguration(config, FALSE); assertThat(config.isDbEntityCacheReuseEnabled(), is(false)); } @Test public void setDbHistoryUsedEnabled() { DB_HISTORY_USED.setPropertyOnConfiguration(config, TRUE); assertThat(config.isDbHistoryUsed(), is(true)); } @Test public void setDbHistoryUsedDisabled() { DB_HISTORY_USED.setPropertyOnConfiguration(config, FALSE); assertThat(config.isDbHistoryUsed(), is(false)); } @Test public void setDbIdentityUsedEnabled() { DB_IDENTITY_USED.setPropertyOnConfiguration(config, TRUE); assertThat(config.isDbIdentityUsed(), is(true)); } @Test public void setDbIdentityUsedDisabled() { DB_IDENTITY_USED.setPropertyOnConfiguration(config, FALSE); assertThat(config.isDbIdentityUsed(), is(false)); } @Test public void setDefaultCharsetName() { String charset = "ISO-8859-1"; DEFAULT_CHARSET_NAME.setPropertyOnConfiguration(config, charset); JDBC_URL.setPropertyOnConfiguration(config, "jdbc:h2:mem:camunda"); DATABASE_SCHEMA_UPDATE.setPropertyOnConfiguration(config, "true"); // we have to build the engine or else the charset won't be initiated config.buildProcessEngine(); assertThat(config.getDefaultCharset(), is(Charset.forName(charset))); } @Test public void setDefaultNumberOfRetries() { String number = String.valueOf(Integer.MAX_VALUE); DEFAULT_NUMBER_OF_RETRIES.setPropertyOnConfiguration(config, number); assertThat(config.getDefaultNumberOfRetries(), is(Integer.MAX_VALUE)); } @Test public void setDefaultSerializationFormat() { String format = "json2"; DEFAULT_SERIALIZATION_FORMAT.setPropertyOnConfiguration(config, format); assertThat(config.getDefaultSerializationFormat(), is(format)); } @Test public void setDeploymentLockEnabled() { DEPLOYMENT_LOCK_USED.setPropertyOnConfiguration(config, TRUE); assertThat(config.isDeploymentLockUsed(), is(true)); } @Test public void setDeploymentLockDisabled() { DEPLOYMENT_LOCK_USED.setPropertyOnConfiguration(config, FALSE); assertThat(config.isDeploymentLockUsed(), is(false)); } @Test public void setScriptCompilationEnabled() { ENABLE_SCRIPT_COMPILATION.setPropertyOnConfiguration(config, TRUE); assertThat(config.isEnableScriptCompilation(), is(true)); } @Test public void setScriptCompilationDisabled() { ENABLE_SCRIPT_COMPILATION.setPropertyOnConfiguration(config, FALSE); assertThat(config.isEnableScriptCompilation(), is(false)); } @Test public void setExecutionTreePrefatchEnabled() { EXECUTION_TREE_PREFETCH_ENABLED.setPropertyOnConfiguration(config, TRUE); assertThat(config.isExecutionTreePrefetchEnabled(), is(true)); } @Test public void setExecutionTreePrefatchDisabled() { EXECUTION_TREE_PREFETCH_ENABLED.setPropertyOnConfiguration(config, FALSE); assertThat(config.isExecutionTreePrefetchEnabled(), is(false)); } @Test public void setHintJobExecutorEnabled() { HINT_JOB_EXECUTOR.setPropertyOnConfiguration(config, TRUE); assertThat(config.isHintJobExecutor(), is(true)); } @Test public void setHintJobExecutorDisabled() { HINT_JOB_EXECUTOR.setPropertyOnConfiguration(config, FALSE); assertThat(config.isHintJobExecutor(), is(false)); } @Test public void setHistory() { String history = "audit"; HISTORY.setPropertyOnConfiguration(config, history); assertThat(config.getHistory(), is(history)); } @Test public void setIdBlockSize() { String size = String.valueOf(Integer.MAX_VALUE); ID_BLOCK_SIZE.setPropertyOnConfiguration(config, size); assertThat(config.getIdBlockSize(), is(Integer.MAX_VALUE)); } @Test public void setIdGeneratorDatasourceName() { String name = "name"; ID_GENERATOR_DATASOURCE_NAME.setPropertyOnConfiguration(config, name); assertThat(config.getIdGeneratorDataSourceJndiName(), is(name)); } @Test public void setInvokeCustomVariableListenersEnabled() { INVOKE_CUSTOM_VARIABLE_LISTENERS.setPropertyOnConfiguration(config, TRUE); assertThat(config.isInvokeCustomVariableListeners(), is(true)); } @Test public void setInvokeCustomVariableListenersDisabled() { INVOKE_CUSTOM_VARIABLE_LISTENERS.setPropertyOnConfiguration(config, FALSE); assertThat(config.isInvokeCustomVariableListeners(), is(false)); } @Test public void setJdbcDriver() { String driver = "H-Base"; JDBC_DRIVER.setPropertyOnConfiguration(config, driver); assertThat(config.getJdbcDriver(), is(driver)); } @Test public void setJdbcMaxActiveConnections() { String max = String.valueOf(Integer.MAX_VALUE); JDBC_MAX_ACTIVE_CONNECTIONS.setPropertyOnConfiguration(config, max); assertThat(config.getJdbcMaxActiveConnections(), is(Integer.MAX_VALUE)); } @Test public void setJdbcMaxCheckoutTime() { String time = String.valueOf(Integer.MAX_VALUE); JDBC_MAX_CHECKOUT_TIME.setPropertyOnConfiguration(config, time); assertThat(config.getJdbcMaxCheckoutTime(), is(Integer.MAX_VALUE)); } @Test public void setJdbcMaxIdleConnections() { String max = String.valueOf(Integer.MAX_VALUE); JDBC_MAX_IDLE_CONNECTIONS.setPropertyOnConfiguration(config, max); assertThat(config.getJdbcMaxIdleConnections(), is(Integer.MAX_VALUE)); } @Test public void setJdbcMaxWaitTime() { String max = String.valueOf(Integer.MAX_VALUE); JDBC_MAX_WAIT_TIME.setPropertyOnConfiguration(config, max); assertThat(config.getJdbcMaxWaitTime(), is(Integer.MAX_VALUE)); } @Test public void setJdbcPassword() { String password = "secret"; JDBC_PASSWORD.setPropertyOnConfiguration(config, password); assertThat(config.getJdbcPassword(), is(password)); } @Test public void setJdbcPingConnectionNotUsedFor() { String notUsedFor = String.valueOf(Integer.MAX_VALUE); JDBC_PING_CONNECTION_NOT_USED_FOR.setPropertyOnConfiguration(config, notUsedFor); assertThat(config.getJdbcPingConnectionNotUsedFor(), is(Integer.MAX_VALUE)); } @Test public void setJdbcPingEnabled() { JDBC_PING_ENABLED.setPropertyOnConfiguration(config, TRUE); assertThat(config.isJdbcPingEnabled(), is(true)); } @Test public void setJdbcPingDisabled() { JDBC_PING_ENABLED.setPropertyOnConfiguration(config, FALSE); assertThat(config.isJdbcPingEnabled(), is(false)); } @Test public void setJdbcPingQuery() { String query = "SELECT ping FROM table"; JDBC_PING_QUERY.setPropertyOnConfiguration(config, query); assertThat(config.getJdbcPingQuery(), is(query)); } @Test public void setJdbcUrl() { String url = "jdbc:h2:mem:camunda"; JDBC_URL.setPropertyOnConfiguration(config, url); assertThat(config.getJdbcUrl(), is(url)); } @Test public void setJdbcUsername() { String username = "name"; JDBC_USERNAME.setPropertyOnConfiguration(config, username); assertThat(config.getJdbcUsername(), is(username)); } @Test public void setJobExecutorActivateEnabled() { JOB_EXECUTOR_ACTIVATE.setPropertyOnConfiguration(config, TRUE); assertThat(config.isJobExecutorActivate(), is(true)); } @Test public void setJobExecutorActivateDisabled() { JOB_EXECUTOR_ACTIVATE.setPropertyOnConfiguration(config, FALSE); assertThat(config.isJobExecutorActivate(), is(false)); } @Test public void setJobExecutorDeploymentAwareEnabled() { JOB_EXECUTOR_DEPLOYMENT_AWARE.setPropertyOnConfiguration(config, TRUE); assertThat(config.isJobExecutorDeploymentAware(), is(true)); } @Test public void setJobExecutorDeploymentAwareDisabled() { JOB_EXECUTOR_DEPLOYMENT_AWARE.setPropertyOnConfiguration(config, FALSE); assertThat(config.isJobExecutorDeploymentAware(), is(false)); } @Test public void setJpaCloseEntityManagerEnabled() { JPA_CLOSE_ENTITY_MANAGER.setPropertyOnConfiguration(config, TRUE); assertThat(config.isJpaCloseEntityManager(), is(true)); } @Test public void setJpaCloseEntityManagerDisabled() { JPA_CLOSE_ENTITY_MANAGER.setPropertyOnConfiguration(config, FALSE); assertThat(config.isJpaCloseEntityManager(), is(false)); } @Test public void setJpaHandleTransactionEnabled() { JPA_HANDLE_TRANSACTION.setPropertyOnConfiguration(config, TRUE); assertThat(config.isJpaHandleTransaction(), is(true)); } @Test public void setJpaHandleTransactionDisabled() { JPA_HANDLE_TRANSACTION.setPropertyOnConfiguration(config, FALSE); assertThat(config.isJpaHandleTransaction(), is(false)); } @Test public void setJpaPersistenceUnitName() { String jpaName = "datasource"; JPA_PERSISTENCE_UNIT_NAME.setPropertyOnConfiguration(config, jpaName); assertThat(config.getJpaPersistenceUnitName(), is(jpaName)); } @Test public void setMailServerDefaultFrom() { String from = "test@foo.bar"; MAIL_SERVER_DEFAULT_FROM.setPropertyOnConfiguration(config, from); assertThat(config.getMailServerDefaultFrom(), is(from)); } @Test public void setMailServerHost() { String host = "localhost"; MAIL_SERVER_HOST.setPropertyOnConfiguration(config, host); assertThat(config.getMailServerHost(), is(host)); } @Test public void setMailServerPassword() { String password = "secret"; MAIL_SERVER_PASSWORD.setPropertyOnConfiguration(config, password); assertThat(config.getMailServerPassword(), is(password)); } @Test public void setMailServerPort() { String port = "8080"; MAIL_SERVER_PORT.setPropertyOnConfiguration(config, port); assertThat(config.getMailServerPort(), is(Integer.parseInt(port))); } @Test public void setMailServerUseTLSEnabled() { MAIL_SERVER_USE_TLS.setPropertyOnConfiguration(config, TRUE); assertThat(config.getMailServerUseTLS(), is(true)); } @Test public void setMailServerUseTLSDisabled() { MAIL_SERVER_USE_TLS.setPropertyOnConfiguration(config, FALSE); assertThat(config.getMailServerUseTLS(), is(false)); } @Test public void setMailServerUsername() { String username = "user"; MAIL_SERVER_USERNAME.setPropertyOnConfiguration(config, username); assertThat(config.getMailServerUsername(), is(username)); } @Test public void setProcessEngineName() { String name = "engine"; PROCESS_ENGINE_NAME.setPropertyOnConfiguration(config, name); assertThat(config.getProcessEngineName(), is(name)); } @Test public void setTransactionExternallyManagedEnabled() { TRANSACTION_EXTERNALLY_MANAGED.setPropertyOnConfiguration(config, TRUE); assertThat(config.isTransactionsExternallyManaged(), is(true)); } @Test public void setTransactionExternallyManagedDisabled() { TRANSACTION_EXTERNALLY_MANAGED.setPropertyOnConfiguration(config, FALSE); assertThat(config.isTransactionsExternallyManaged(), is(false)); } }