Skip to content

Commit

Permalink
Merge pull request #49 from dserkowski/SYNCT-83
Browse files Browse the repository at this point in the history
SYNCT-83: Fix audit log saving bugs
  • Loading branch information
pkornowski committed Jan 9, 2018
2 parents 5687adc + 9b4f820 commit 567ae97
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 3 deletions.
Expand Up @@ -8,6 +8,7 @@
import org.openmrs.module.sync2.api.model.audit.AuditMessage;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

public interface SyncAuditService extends OpenmrsService {
Expand All @@ -25,7 +26,7 @@ public interface SyncAuditService extends OpenmrsService {
String getPaginatedMessages(Integer page, Integer pageSize, Boolean success, String action, String resourceName) throws APIException;

@Authorized(SyncModuleConfig.SYNC_AUDIT_PRIVILEGE)
@Transactional
@Transactional(propagation = Propagation.REQUIRES_NEW)
AuditMessage saveAuditMessage(AuditMessage auditMessage) throws APIException;

@Authorized(SyncModuleConfig.SYNC_AUDIT_PRIVILEGE)
Expand Down
Expand Up @@ -3,6 +3,7 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonParseException;
import org.apache.commons.lang3.BooleanUtils;
import org.openmrs.api.APIException;
import org.openmrs.api.impl.BaseOpenmrsService;
import org.openmrs.module.sync2.api.SyncAuditService;
Expand Down Expand Up @@ -51,9 +52,9 @@ public String getPaginatedMessages(Integer page, Integer pageSize, Boolean succe

@Override
public AuditMessage saveAuditMessage(AuditMessage auditMessage) {
boolean persistSuccessAudit = auditMessage.getSuccess()
boolean persistSuccessAudit = BooleanUtils.isTrue(auditMessage.getSuccess())
&& configuration.getSyncConfiguration().getGeneral().isPersistSuccessAudit();
boolean persistFailureAudit = !auditMessage.getSuccess()
boolean persistFailureAudit = BooleanUtils.isFalse(auditMessage.getSuccess())
&& configuration.getSyncConfiguration().getGeneral().isPersistFailureAudit();
if (persistFailureAudit || persistSuccessAudit) {
if (auditMessage.getTimestamp() == null) {
Expand Down
Expand Up @@ -143,6 +143,17 @@ public void saveAuditMessage_shouldSaveFailureAudit() {
Assert.assertEquals(auditMessage, fetched);
}

@Test
public void saveAuditMessage_shouldNotFailedIfBooleanObjectIsNotSet() {
AuditMessage auditMessage = new AuditMessage();

when(dao.saveItem(any())).thenReturn(auditMessage);
when(configurationService.getSyncConfiguration().getGeneral().isPersistSuccessAudit()).thenReturn(false);
when(configurationService.getSyncConfiguration().getGeneral().isPersistFailureAudit()).thenReturn(true);

auditService.saveAuditMessage(auditMessage);
}

@Test
public void saveAuditMessage_shouldNotSaveFailureAudit() {
AuditMessage auditMessage = new AuditMessage();
Expand Down

0 comments on commit 567ae97

Please sign in to comment.