未验证 提交 7dc3632f 编写于 作者: S salaboy 提交者: GitHub

Merge pull request #2423 from Activiti/daisuke-fix-2228-history-table

Fix #2228(History tables missing)
......@@ -35,7 +35,7 @@ public class ActivitiProperties {
private boolean mailServerUseTls;
private String databaseSchemaUpdate = "true";
private String databaseSchema;
private boolean isDbHistoryUsed = false;
private boolean dbHistoryUsed = false;
private HistoryLevel historyLevel = HistoryLevel.NONE;
private String processDefinitionLocationPrefix = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + "**/processes/";
private List<String> processDefinitionLocationSuffixes = Arrays.asList("**.bpmn20.xml", "**.bpmn");
......@@ -88,11 +88,11 @@ public class ActivitiProperties {
}
public boolean isDbHistoryUsed() {
return isDbHistoryUsed;
return dbHistoryUsed;
}
public void setDbHistoryUsed(boolean isDbHistoryUsed) {
this.isDbHistoryUsed = isDbHistoryUsed;
this.dbHistoryUsed = isDbHistoryUsed;
}
public HistoryLevel getHistoryLevel() {
......
package org.activiti.spring.boot;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.spy;
import org.activiti.api.process.model.ProcessInstance;
import org.activiti.api.process.model.builders.ProcessPayloadBuilder;
import org.activiti.api.process.runtime.ProcessRuntime;
import org.activiti.api.process.runtime.conf.ProcessRuntimeConfiguration;
import org.activiti.core.common.spring.security.policies.ProcessSecurityPoliciesManager;
import org.activiti.engine.HistoryService;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.runtime.api.impl.ProcessAdminRuntimeImpl;
import org.activiti.runtime.api.impl.ProcessRuntimeImpl;
import org.activiti.runtime.api.model.impl.APIProcessDefinitionConverter;
import org.activiti.runtime.api.model.impl.APIProcessInstanceConverter;
import org.activiti.runtime.api.model.impl.APIVariableInstanceConverter;
import org.activiti.spring.boot.security.util.SecurityUtil;
import org.activiti.spring.boot.test.util.ProcessCleanUpUtil;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE)
@TestPropertySource("classpath:application-history.properties")
public class HistoryConfigurationTest {
private static final String CATEGORIZE_PROCESS = "categorizeProcess";
@Autowired
private ProcessRuntime processRuntime;
@Autowired
private SecurityUtil securityUtil;
@Autowired
private RepositoryService repositoryService;
@Autowired
private HistoryService historyService;
@Autowired
private APIProcessDefinitionConverter processDefinitionConverter;
@Autowired
private RuntimeService runtimeService;
@Autowired
private ProcessSecurityPoliciesManager securityPoliciesManager;
@Autowired
private APIProcessInstanceConverter processInstanceConverter;
@Autowired
private APIVariableInstanceConverter variableInstanceConverter;
@Autowired
private ProcessRuntimeConfiguration configuration;
@Autowired
private ApplicationEventPublisher applicationEventPublisher;
@Autowired
private ProcessCleanUpUtil processCleanUpUtil;
@After
public void cleanUp(){
processCleanUpUtil.cleanUpWithAdmin();
}
@Before
public void init() {
ApplicationEventPublisher eventPublisher = spy(applicationEventPublisher);
spy(new ProcessRuntimeImpl(repositoryService,
processDefinitionConverter,
runtimeService,
securityPoliciesManager,
processInstanceConverter,
variableInstanceConverter,
configuration,
eventPublisher));
spy(new ProcessAdminRuntimeImpl(repositoryService,
processDefinitionConverter,
runtimeService,
processInstanceConverter,
eventPublisher));
//Reset test variables
RuntimeTestConfiguration.processImageConnectorExecuted = false;
RuntimeTestConfiguration.tagImageConnectorExecuted = false;
RuntimeTestConfiguration.discardImageConnectorExecuted = false;
}
@Test
public void shouldRecordHistory() {
securityUtil.logInAs("salaboy");
//when
ProcessInstance categorizeProcess = processRuntime.start(ProcessPayloadBuilder.start()
.withProcessDefinitionKey(CATEGORIZE_PROCESS)
.withVariable("expectedKey",
true)
.build());
assertThat(RuntimeTestConfiguration.completedProcesses).contains(categorizeProcess.getId());
assertThat(historyService.createHistoricProcessInstanceQuery().processInstanceId(categorizeProcess.getId()).count()).isEqualTo(1);
}
}
\ No newline at end of file
spring.activiti.dbHistoryUsed=true
spring.activiti.historyLevel=audit
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册