mirror of
https://github.com/apache/nifi.git
synced 2025-02-07 10:38:33 +00:00
NIFI-12524 Fixed null handling for auditing Connect Details
Signed-off-by: Matt Burgess <mattyb149@apache.org>
This commit is contained in:
parent
dcc80805f9
commit
e7f0efb999
@ -446,12 +446,20 @@ public class EntityStoreAuditService implements AuditService, Closeable {
|
||||
actionEntity.setLink(ActionLink.CONNECT_DETAILS.getProperty(), connectDetailsEntity);
|
||||
|
||||
connectDetailsEntity.setProperty(ConnectDetailsEntity.SOURCE_ID.getProperty(), connectDetails.getSourceId());
|
||||
connectDetailsEntity.setProperty(ConnectDetailsEntity.SOURCE_NAME.getProperty(), connectDetails.getSourceName());
|
||||
connectDetailsEntity.setProperty(ConnectDetailsEntity.SOURCE_TYPE.getProperty(), connectDetails.getSourceType().name());
|
||||
if (connectDetails.getSourceName() != null) {
|
||||
connectDetailsEntity.setProperty(ConnectDetailsEntity.SOURCE_NAME.getProperty(), connectDetails.getSourceName());
|
||||
}
|
||||
|
||||
connectDetailsEntity.setProperty(ConnectDetailsEntity.DESTINATION_ID.getProperty(), connectDetails.getDestinationId());
|
||||
connectDetailsEntity.setProperty(ConnectDetailsEntity.DESTINATION_NAME.getProperty(), connectDetails.getDestinationName());
|
||||
connectDetailsEntity.setProperty(ConnectDetailsEntity.DESTINATION_TYPE.getProperty(), connectDetails.getDestinationType().name());
|
||||
connectDetailsEntity.setProperty(ConnectDetailsEntity.RELATIONSHIP.getProperty(), connectDetails.getRelationship());
|
||||
if (connectDetails.getDestinationName() != null) {
|
||||
connectDetailsEntity.setProperty(ConnectDetailsEntity.DESTINATION_NAME.getProperty(), connectDetails.getDestinationName());
|
||||
}
|
||||
|
||||
if (connectDetails.getRelationship() != null) {
|
||||
connectDetailsEntity.setProperty(ConnectDetailsEntity.RELATIONSHIP.getProperty(), connectDetails.getRelationship());
|
||||
}
|
||||
}
|
||||
|
||||
private void addMoveDetails(final StoreTransaction storeTransaction, final Entity actionEntity, final MoveDetails moveDetails) {
|
||||
|
@ -21,7 +21,9 @@ import org.apache.nifi.action.Component;
|
||||
import org.apache.nifi.action.FlowChangeAction;
|
||||
import org.apache.nifi.action.Operation;
|
||||
import org.apache.nifi.action.details.ActionDetails;
|
||||
import org.apache.nifi.action.details.ConnectDetails;
|
||||
import org.apache.nifi.action.details.FlowChangeConfigureDetails;
|
||||
import org.apache.nifi.action.details.FlowChangeConnectDetails;
|
||||
import org.apache.nifi.action.details.FlowChangePurgeDetails;
|
||||
import org.apache.nifi.action.details.PurgeDetails;
|
||||
import org.apache.nifi.history.History;
|
||||
@ -74,6 +76,12 @@ class EntityStoreAuditServiceTest {
|
||||
|
||||
private static final Component SOURCE_TYPE = Component.Processor;
|
||||
|
||||
private static final String DESTINATION_NAME = "UpdateCounter";
|
||||
|
||||
private static final Component DESTINATION_TYPE = Component.Funnel;
|
||||
|
||||
private static final String RELATIONSHIP = "success";
|
||||
|
||||
private static final Operation OPERATION = Operation.Add;
|
||||
|
||||
private static final int ACTION_ID = 0;
|
||||
@ -348,6 +356,55 @@ class EntityStoreAuditServiceTest {
|
||||
assertEquals(USER_IDENTITY, secondPreviousValue.getUserIdentity());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testAddActionsConnectDetailsMinimumPropertiesGetAction() {
|
||||
final FlowChangeAction action = newAction();
|
||||
|
||||
final FlowChangeConnectDetails connectDetails = new FlowChangeConnectDetails();
|
||||
connectDetails.setSourceId(SOURCE_ID);
|
||||
connectDetails.setSourceType(SOURCE_TYPE);
|
||||
connectDetails.setDestinationId(SECOND_SOURCE_ID);
|
||||
connectDetails.setDestinationType(DESTINATION_TYPE);
|
||||
action.setActionDetails(connectDetails);
|
||||
|
||||
final Collection<Action> actions = Collections.singletonList(action);
|
||||
|
||||
service.addActions(actions);
|
||||
|
||||
final Action actionFound = service.getAction(ACTION_ID);
|
||||
assertEquals(ACTION_ID, actionFound.getId());
|
||||
assertActionFound(actionFound);
|
||||
|
||||
final ActionDetails actionDetails = actionFound.getActionDetails();
|
||||
assertConnectDetailsFound(connectDetails, actionDetails);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testAddActionsConnectDetailsGetAction() {
|
||||
final FlowChangeAction action = newAction();
|
||||
|
||||
final FlowChangeConnectDetails connectDetails = new FlowChangeConnectDetails();
|
||||
connectDetails.setSourceName(SOURCE_NAME);
|
||||
connectDetails.setSourceId(SOURCE_ID);
|
||||
connectDetails.setSourceType(SOURCE_TYPE);
|
||||
connectDetails.setDestinationName(DESTINATION_NAME);
|
||||
connectDetails.setDestinationId(SECOND_SOURCE_ID);
|
||||
connectDetails.setDestinationType(DESTINATION_TYPE);
|
||||
connectDetails.setRelationship(RELATIONSHIP);
|
||||
action.setActionDetails(connectDetails);
|
||||
|
||||
final Collection<Action> actions = Collections.singletonList(action);
|
||||
|
||||
service.addActions(actions);
|
||||
|
||||
final Action actionFound = service.getAction(ACTION_ID);
|
||||
assertEquals(ACTION_ID, actionFound.getId());
|
||||
assertActionFound(actionFound);
|
||||
|
||||
final ActionDetails actionDetails = actionFound.getActionDetails();
|
||||
assertConnectDetailsFound(connectDetails, actionDetails);
|
||||
}
|
||||
|
||||
private FlowChangeAction newAction() {
|
||||
final FlowChangeAction action = new FlowChangeAction();
|
||||
action.setTimestamp(ACTION_TIMESTAMP);
|
||||
@ -367,4 +424,18 @@ class EntityStoreAuditServiceTest {
|
||||
assertEquals(USER_IDENTITY, actionFound.getUserIdentity());
|
||||
assertEquals(OPERATION, actionFound.getOperation());
|
||||
}
|
||||
|
||||
private void assertConnectDetailsFound(final ConnectDetails connectDetails, final ActionDetails actionDetails) {
|
||||
assertNotNull(actionDetails);
|
||||
assertInstanceOf(ConnectDetails.class, actionDetails);
|
||||
|
||||
final ConnectDetails connectDetailsFound = (ConnectDetails) actionDetails;
|
||||
assertEquals(connectDetails.getSourceName(), connectDetailsFound.getSourceName());
|
||||
assertEquals(connectDetails.getSourceId(), connectDetailsFound.getSourceId());
|
||||
assertEquals(connectDetails.getSourceType(), connectDetailsFound.getSourceType());
|
||||
assertEquals(connectDetails.getDestinationName(), connectDetailsFound.getDestinationName());
|
||||
assertEquals(connectDetails.getDestinationId(), connectDetailsFound.getDestinationId());
|
||||
assertEquals(connectDetails.getDestinationType(), connectDetailsFound.getDestinationType());
|
||||
assertEquals(connectDetails.getRelationship(), connectDetailsFound.getRelationship());
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user