doodzio commented on code in PR #6335:
URL: https://github.com/apache/nifi/pull/6335#discussion_r970107044


##########
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/java/org/apache/nifi/web/StandardNiFiServiceFacadeTest.java:
##########
@@ -114,6 +127,21 @@ public class StandardNiFiServiceFacadeTest {
     private static final Integer ACTION_ID_2 = 2;
     private static final String PROCESSOR_ID_2 = "processor-2";
 
+    private static final String GROUP_NAME_1 = "group-name-1";
+    private static final String GROUP_NAME_2 = "group-name-2";
+    private static final String PROCESSOR_NAME_1 = "Processor1";
+    private static final String PROCESSOR_NAME_2 = "Processor2";
+    private static final String BULLETIN_CATEGORY = "Log Message";
+    private static final String BULLETIN_SEVERITY = "ERROR";
+    private static final String BULLETIN_MESSAGE_1 = "Error1";
+    private static final String BULLETIN_MESSAGE_2 = "Error2";
+    private static final String PATH_TO_GROUP_1 = "Path1";
+    private static final String PATH_TO_GROUP_2 = "Path2";
+    private static final String RANDOM_GROUP_ID = "randomGroupId";
+
+
+
+

Review Comment:
   Unnecessary empty lines 142 - 143
   



##########
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/java/org/apache/nifi/web/StandardNiFiServiceFacadeTest.java:
##########
@@ -555,4 +583,179 @@ private RemoteProcessGroupDTO 
createRemoteProcessGroupDTO(String id, boolean tra
 
         return remoteProcessGroup;
     }
+
+
+    @Test
+    public void testUpdateProcessGroup_WithProcessorBulletin() {
+        //GIVEN
+        final String groupId = UUID.randomUUID().toString();
+        final ProcessGroup processGroup = mock(ProcessGroup.class);
+        when(processGroup.getIdentifier()).thenReturn(groupId);
+
+        ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+        processGroupStatus.setId(groupId);
+        processGroupStatus.setName(GROUP_NAME_1);
+
+        final ControllerFacade controllerFacade = mock(ControllerFacade.class);
+        
when(controllerFacade.getProcessGroupStatus(any())).thenReturn(processGroupStatus);
+
+        final StandardNiFiServiceFacade serviceFacadeSpy = spy(serviceFacade);
+        serviceFacadeSpy.setControllerFacade(controllerFacade);
+        final DtoFactory dtoFactory = new DtoFactory();
+        ProcessGroupDTO processGroupDTO = new ProcessGroupDTO();
+        processGroupDTO.setId(groupId);
+        
when(processGroupDAO.getProcessGroup(groupId)).thenReturn(processGroup);
+        
when(processGroupDAO.updateProcessGroup(processGroupDTO)).thenReturn(processGroup);
+
+        final RevisionManager revisionManager = mock(RevisionManager.class);
+        Revision revision = new Revision(1L,"a","b");
+        final FlowModification lastModification = new 
FlowModification(revision,"a");
+        RevisionUpdate<Object> snapshot = new 
StandardRevisionUpdate<>(processGroupDTO,lastModification);
+        
when(revisionManager.updateRevision(any(),any(),any())).thenReturn((RevisionUpdate<Object>
 )snapshot);
+        serviceFacadeSpy.setRevisionManager(revisionManager);
+        serviceFacadeSpy.setDtoFactory(dtoFactory);
+
+        MockTestBulletinRepository bulletinRepository = new 
MockTestBulletinRepository();
+        serviceFacadeSpy.setBulletinRepository(bulletinRepository);
+        bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, 
GROUP_NAME_1, PROCESSOR_ID_1,
+        
ComponentType.PROCESSOR,PROCESSOR_NAME_1,BULLETIN_CATEGORY,BULLETIN_SEVERITY,BULLETIN_MESSAGE_1,PATH_TO_GROUP_1));
+        
bulletinRepository.addBulletin(BulletinFactory.createBulletin(RANDOM_GROUP_ID,GROUP_NAME_2,
 PROCESSOR_ID_2,
+        ComponentType.PROCESSOR,PROCESSOR_NAME_2, 
BULLETIN_CATEGORY,BULLETIN_SEVERITY, BULLETIN_MESSAGE_2,PATH_TO_GROUP_2));
+        //WHEN
+        ProcessGroupEntity result = 
serviceFacadeSpy.updateProcessGroup(revision, processGroupDTO);
+        //THEN
+        Assert.assertNotNull(result);
+        Assert.assertEquals(1,result.getBulletins().size());
+        Assert.assertEquals(groupId,result.getBulletins().get(0).getGroupId());
+    }
+
+    @Test
+    public void testUpdateProcessGroup_WithNoBulletinForProcessGroup() {
+
+        //GIVEN
+

Review Comment:
   Unnecessary empt line before and after `//Given`



##########
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/java/org/apache/nifi/web/StandardNiFiServiceFacadeTest.java:
##########
@@ -555,4 +583,179 @@ private RemoteProcessGroupDTO 
createRemoteProcessGroupDTO(String id, boolean tra
 
         return remoteProcessGroup;
     }
+
+
+    @Test
+    public void testUpdateProcessGroup_WithProcessorBulletin() {
+        //GIVEN
+        final String groupId = UUID.randomUUID().toString();
+        final ProcessGroup processGroup = mock(ProcessGroup.class);
+        when(processGroup.getIdentifier()).thenReturn(groupId);
+
+        ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+        processGroupStatus.setId(groupId);
+        processGroupStatus.setName(GROUP_NAME_1);
+
+        final ControllerFacade controllerFacade = mock(ControllerFacade.class);
+        
when(controllerFacade.getProcessGroupStatus(any())).thenReturn(processGroupStatus);
+
+        final StandardNiFiServiceFacade serviceFacadeSpy = spy(serviceFacade);
+        serviceFacadeSpy.setControllerFacade(controllerFacade);
+        final DtoFactory dtoFactory = new DtoFactory();
+        ProcessGroupDTO processGroupDTO = new ProcessGroupDTO();
+        processGroupDTO.setId(groupId);
+        
when(processGroupDAO.getProcessGroup(groupId)).thenReturn(processGroup);
+        
when(processGroupDAO.updateProcessGroup(processGroupDTO)).thenReturn(processGroup);
+
+        final RevisionManager revisionManager = mock(RevisionManager.class);
+        Revision revision = new Revision(1L,"a","b");
+        final FlowModification lastModification = new 
FlowModification(revision,"a");
+        RevisionUpdate<Object> snapshot = new 
StandardRevisionUpdate<>(processGroupDTO,lastModification);
+        
when(revisionManager.updateRevision(any(),any(),any())).thenReturn((RevisionUpdate<Object>
 )snapshot);
+        serviceFacadeSpy.setRevisionManager(revisionManager);
+        serviceFacadeSpy.setDtoFactory(dtoFactory);
+
+        MockTestBulletinRepository bulletinRepository = new 
MockTestBulletinRepository();
+        serviceFacadeSpy.setBulletinRepository(bulletinRepository);
+        bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, 
GROUP_NAME_1, PROCESSOR_ID_1,
+        
ComponentType.PROCESSOR,PROCESSOR_NAME_1,BULLETIN_CATEGORY,BULLETIN_SEVERITY,BULLETIN_MESSAGE_1,PATH_TO_GROUP_1));
+        
bulletinRepository.addBulletin(BulletinFactory.createBulletin(RANDOM_GROUP_ID,GROUP_NAME_2,
 PROCESSOR_ID_2,
+        ComponentType.PROCESSOR,PROCESSOR_NAME_2, 
BULLETIN_CATEGORY,BULLETIN_SEVERITY, BULLETIN_MESSAGE_2,PATH_TO_GROUP_2));
+        //WHEN
+        ProcessGroupEntity result = 
serviceFacadeSpy.updateProcessGroup(revision, processGroupDTO);
+        //THEN
+        Assert.assertNotNull(result);
+        Assert.assertEquals(1,result.getBulletins().size());
+        Assert.assertEquals(groupId,result.getBulletins().get(0).getGroupId());
+    }
+
+    @Test
+    public void testUpdateProcessGroup_WithNoBulletinForProcessGroup() {
+
+        //GIVEN
+
+        final String groupId = UUID.randomUUID().toString();
+
+        final ProcessGroup processGroup = mock(ProcessGroup.class);
+        when(processGroup.getIdentifier()).thenReturn(groupId);
+
+        ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+        processGroupStatus.setId(groupId);
+        processGroupStatus.setName("group-name-1");
+
+        final ControllerFacade controllerFacade = mock(ControllerFacade.class);
+        
when(controllerFacade.getProcessGroupStatus(any())).thenReturn(processGroupStatus);
+
+        final StandardNiFiServiceFacade serviceFacadeSpy = spy(serviceFacade);
+        serviceFacadeSpy.setControllerFacade(controllerFacade);
+
+        final DtoFactory dtoFactory = new DtoFactory();
+
+        ProcessGroupDTO processGroupDTO = new ProcessGroupDTO();
+        processGroupDTO.setId(groupId);
+        
when(processGroupDAO.getProcessGroup(groupId)).thenReturn(processGroup);
+        
when(processGroupDAO.updateProcessGroup(processGroupDTO)).thenReturn(processGroup);
+
+        final RevisionManager revisionManager = mock(RevisionManager.class);
+        Revision revision = new Revision(1L,"a","b");
+        final FlowModification lastModification = new 
FlowModification(revision,"a");
+
+        RevisionUpdate<Object> snapshot = new 
StandardRevisionUpdate<>(processGroupDTO,lastModification);
+        
when(revisionManager.updateRevision(any(),any(),any())).thenReturn((RevisionUpdate<Object>
 )snapshot);
+
+        serviceFacadeSpy.setRevisionManager(revisionManager);
+        serviceFacadeSpy.setDtoFactory(dtoFactory);
+
+        MockTestBulletinRepository bulletinRepository = new 
MockTestBulletinRepository();
+        serviceFacadeSpy.setBulletinRepository(bulletinRepository);
+
+        
bulletinRepository.addBulletin(BulletinFactory.createBulletin(RANDOM_GROUP_ID,GROUP_NAME_2,
 PROCESSOR_ID_2,
+        ComponentType.PROCESSOR,PROCESSOR_NAME_2, 
BULLETIN_CATEGORY,BULLETIN_SEVERITY, BULLETIN_MESSAGE_2,PATH_TO_GROUP_2));
+
+        //WHEN
+        ProcessGroupEntity result = 
serviceFacadeSpy.updateProcessGroup(revision, processGroupDTO);
+
+        //THEN
+        Assert.assertNotNull(result);
+        Assert.assertEquals(0,result.getBulletins().size());
+    }
+
+    @Test
+    public void testUpdateProcessGroup_WithProcessorGroupBulletin() {
+
+        //GIVEN
+
+        final String groupId = UUID.randomUUID().toString();
+
+        final ProcessGroup processGroup = mock(ProcessGroup.class);
+        when(processGroup.getIdentifier()).thenReturn(groupId);
+
+        ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+        processGroupStatus.setId(groupId);
+        processGroupStatus.setName("group-name-1");
+
+        final ControllerFacade controllerFacade = mock(ControllerFacade.class);
+        
when(controllerFacade.getProcessGroupStatus(any())).thenReturn(processGroupStatus);
+
+        final StandardNiFiServiceFacade serviceFacadeSpy = spy(serviceFacade);
+        serviceFacadeSpy.setControllerFacade(controllerFacade);
+
+        final DtoFactory dtoFactory = new DtoFactory();
+
+        ProcessGroupDTO processGroupDTO = new ProcessGroupDTO();
+        processGroupDTO.setId(groupId);
+        
when(processGroupDAO.getProcessGroup(groupId)).thenReturn(processGroup);
+        
when(processGroupDAO.updateProcessGroup(processGroupDTO)).thenReturn(processGroup);
+
+        final RevisionManager revisionManager = mock(RevisionManager.class);
+        Revision revision = new Revision(1L,"a","b");
+        final FlowModification lastModification = new 
FlowModification(revision,"a");
+
+        RevisionUpdate<Object> snapshot = new 
StandardRevisionUpdate<>(processGroupDTO,lastModification);
+        
when(revisionManager.updateRevision(any(),any(),any())).thenReturn((RevisionUpdate<Object>
 )snapshot);
+
+        serviceFacadeSpy.setRevisionManager(revisionManager);
+        serviceFacadeSpy.setDtoFactory(dtoFactory);
+
+        MockTestBulletinRepository bulletinRepository = new 
MockTestBulletinRepository();
+        serviceFacadeSpy.setBulletinRepository(bulletinRepository);
+
+        bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, 
GROUP_NAME_1, groupId,
+        
ComponentType.PROCESSOR,GROUP_NAME_1,BULLETIN_CATEGORY,BULLETIN_SEVERITY,BULLETIN_MESSAGE_1,PATH_TO_GROUP_1));
+        
bulletinRepository.addBulletin(BulletinFactory.createBulletin(RANDOM_GROUP_ID,GROUP_NAME_2,
 PROCESSOR_ID_2,
+        ComponentType.PROCESSOR,PROCESSOR_NAME_2, 
BULLETIN_CATEGORY,BULLETIN_SEVERITY, BULLETIN_MESSAGE_2,PATH_TO_GROUP_2));
+
+        //WHEN
+        ProcessGroupEntity result = 
serviceFacadeSpy.updateProcessGroup(revision, processGroupDTO);
+
+        //THEN
+        Assert.assertNotNull(result);
+        Assert.assertEquals(1,result.getBulletins().size());
+        Assert.assertEquals(groupId,result.getBulletins().get(0).getGroupId());
+    }
+
+    private static class MockTestBulletinRepository extends 
MockBulletinRepository {
+
+        List<Bulletin> bulletinList;
+
+        public MockTestBulletinRepository() {
+            bulletinList = new ArrayList<>();
+        }
+
+        @Override
+        public void addBulletin(Bulletin bulletin) {
+            bulletinList.add(bulletin);
+        }
+
+        public List<Bulletin> findBulletinsForGroupBySource(String groupId) {
+            List<Bulletin> ans  = new ArrayList<Bulletin>();

Review Comment:
   Can be simplified
   
   List<Bulletin> ans = new ArrayList<>();



##########
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/java/org/apache/nifi/web/StandardNiFiServiceFacadeTest.java:
##########
@@ -555,4 +583,179 @@ private RemoteProcessGroupDTO 
createRemoteProcessGroupDTO(String id, boolean tra
 
         return remoteProcessGroup;
     }
+
+
+    @Test
+    public void testUpdateProcessGroup_WithProcessorBulletin() {
+        //GIVEN
+        final String groupId = UUID.randomUUID().toString();
+        final ProcessGroup processGroup = mock(ProcessGroup.class);
+        when(processGroup.getIdentifier()).thenReturn(groupId);
+
+        ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+        processGroupStatus.setId(groupId);
+        processGroupStatus.setName(GROUP_NAME_1);
+
+        final ControllerFacade controllerFacade = mock(ControllerFacade.class);
+        
when(controllerFacade.getProcessGroupStatus(any())).thenReturn(processGroupStatus);
+
+        final StandardNiFiServiceFacade serviceFacadeSpy = spy(serviceFacade);
+        serviceFacadeSpy.setControllerFacade(controllerFacade);
+        final DtoFactory dtoFactory = new DtoFactory();
+        ProcessGroupDTO processGroupDTO = new ProcessGroupDTO();
+        processGroupDTO.setId(groupId);
+        
when(processGroupDAO.getProcessGroup(groupId)).thenReturn(processGroup);
+        
when(processGroupDAO.updateProcessGroup(processGroupDTO)).thenReturn(processGroup);
+
+        final RevisionManager revisionManager = mock(RevisionManager.class);
+        Revision revision = new Revision(1L,"a","b");
+        final FlowModification lastModification = new 
FlowModification(revision,"a");
+        RevisionUpdate<Object> snapshot = new 
StandardRevisionUpdate<>(processGroupDTO,lastModification);
+        
when(revisionManager.updateRevision(any(),any(),any())).thenReturn((RevisionUpdate<Object>
 )snapshot);
+        serviceFacadeSpy.setRevisionManager(revisionManager);
+        serviceFacadeSpy.setDtoFactory(dtoFactory);

Review Comment:
   This factory is used only here, seems redundant, mock already similar one.



##########
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/java/org/apache/nifi/web/StandardNiFiServiceFacadeTest.java:
##########
@@ -555,4 +583,179 @@ private RemoteProcessGroupDTO 
createRemoteProcessGroupDTO(String id, boolean tra
 
         return remoteProcessGroup;
     }
+
+
+    @Test
+    public void testUpdateProcessGroup_WithProcessorBulletin() {
+        //GIVEN
+        final String groupId = UUID.randomUUID().toString();
+        final ProcessGroup processGroup = mock(ProcessGroup.class);
+        when(processGroup.getIdentifier()).thenReturn(groupId);
+
+        ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+        processGroupStatus.setId(groupId);
+        processGroupStatus.setName(GROUP_NAME_1);
+
+        final ControllerFacade controllerFacade = mock(ControllerFacade.class);
+        
when(controllerFacade.getProcessGroupStatus(any())).thenReturn(processGroupStatus);
+
+        final StandardNiFiServiceFacade serviceFacadeSpy = spy(serviceFacade);
+        serviceFacadeSpy.setControllerFacade(controllerFacade);
+        final DtoFactory dtoFactory = new DtoFactory();
+        ProcessGroupDTO processGroupDTO = new ProcessGroupDTO();
+        processGroupDTO.setId(groupId);
+        
when(processGroupDAO.getProcessGroup(groupId)).thenReturn(processGroup);
+        
when(processGroupDAO.updateProcessGroup(processGroupDTO)).thenReturn(processGroup);
+
+        final RevisionManager revisionManager = mock(RevisionManager.class);
+        Revision revision = new Revision(1L,"a","b");
+        final FlowModification lastModification = new 
FlowModification(revision,"a");
+        RevisionUpdate<Object> snapshot = new 
StandardRevisionUpdate<>(processGroupDTO,lastModification);
+        
when(revisionManager.updateRevision(any(),any(),any())).thenReturn((RevisionUpdate<Object>
 )snapshot);
+        serviceFacadeSpy.setRevisionManager(revisionManager);
+        serviceFacadeSpy.setDtoFactory(dtoFactory);
+
+        MockTestBulletinRepository bulletinRepository = new 
MockTestBulletinRepository();
+        serviceFacadeSpy.setBulletinRepository(bulletinRepository);
+        bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, 
GROUP_NAME_1, PROCESSOR_ID_1,
+        
ComponentType.PROCESSOR,PROCESSOR_NAME_1,BULLETIN_CATEGORY,BULLETIN_SEVERITY,BULLETIN_MESSAGE_1,PATH_TO_GROUP_1));
+        
bulletinRepository.addBulletin(BulletinFactory.createBulletin(RANDOM_GROUP_ID,GROUP_NAME_2,
 PROCESSOR_ID_2,
+        ComponentType.PROCESSOR,PROCESSOR_NAME_2, 
BULLETIN_CATEGORY,BULLETIN_SEVERITY, BULLETIN_MESSAGE_2,PATH_TO_GROUP_2));
+        //WHEN
+        ProcessGroupEntity result = 
serviceFacadeSpy.updateProcessGroup(revision, processGroupDTO);
+        //THEN
+        Assert.assertNotNull(result);
+        Assert.assertEquals(1,result.getBulletins().size());
+        Assert.assertEquals(groupId,result.getBulletins().get(0).getGroupId());
+    }
+
+    @Test
+    public void testUpdateProcessGroup_WithNoBulletinForProcessGroup() {
+
+        //GIVEN
+
+        final String groupId = UUID.randomUUID().toString();
+
+        final ProcessGroup processGroup = mock(ProcessGroup.class);
+        when(processGroup.getIdentifier()).thenReturn(groupId);
+
+        ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+        processGroupStatus.setId(groupId);
+        processGroupStatus.setName("group-name-1");
+
+        final ControllerFacade controllerFacade = mock(ControllerFacade.class);
+        
when(controllerFacade.getProcessGroupStatus(any())).thenReturn(processGroupStatus);
+
+        final StandardNiFiServiceFacade serviceFacadeSpy = spy(serviceFacade);
+        serviceFacadeSpy.setControllerFacade(controllerFacade);
+
+        final DtoFactory dtoFactory = new DtoFactory();
+
+        ProcessGroupDTO processGroupDTO = new ProcessGroupDTO();
+        processGroupDTO.setId(groupId);
+        
when(processGroupDAO.getProcessGroup(groupId)).thenReturn(processGroup);
+        
when(processGroupDAO.updateProcessGroup(processGroupDTO)).thenReturn(processGroup);
+
+        final RevisionManager revisionManager = mock(RevisionManager.class);
+        Revision revision = new Revision(1L,"a","b");
+        final FlowModification lastModification = new 
FlowModification(revision,"a");
+
+        RevisionUpdate<Object> snapshot = new 
StandardRevisionUpdate<>(processGroupDTO,lastModification);
+        
when(revisionManager.updateRevision(any(),any(),any())).thenReturn((RevisionUpdate<Object>
 )snapshot);
+
+        serviceFacadeSpy.setRevisionManager(revisionManager);
+        serviceFacadeSpy.setDtoFactory(dtoFactory);
+
+        MockTestBulletinRepository bulletinRepository = new 
MockTestBulletinRepository();
+        serviceFacadeSpy.setBulletinRepository(bulletinRepository);
+
+        
bulletinRepository.addBulletin(BulletinFactory.createBulletin(RANDOM_GROUP_ID,GROUP_NAME_2,
 PROCESSOR_ID_2,
+        ComponentType.PROCESSOR,PROCESSOR_NAME_2, 
BULLETIN_CATEGORY,BULLETIN_SEVERITY, BULLETIN_MESSAGE_2,PATH_TO_GROUP_2));
+
+        //WHEN
+        ProcessGroupEntity result = 
serviceFacadeSpy.updateProcessGroup(revision, processGroupDTO);
+
+        //THEN
+        Assert.assertNotNull(result);
+        Assert.assertEquals(0,result.getBulletins().size());
+    }
+
+    @Test
+    public void testUpdateProcessGroup_WithProcessorGroupBulletin() {
+
+        //GIVEN

Review Comment:
   Unnecessary empt line before and after //Given



##########
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/java/org/apache/nifi/web/StandardNiFiServiceFacadeTest.java:
##########
@@ -555,4 +583,179 @@ private RemoteProcessGroupDTO 
createRemoteProcessGroupDTO(String id, boolean tra
 
         return remoteProcessGroup;
     }
+
+
+    @Test
+    public void testUpdateProcessGroup_WithProcessorBulletin() {
+        //GIVEN
+        final String groupId = UUID.randomUUID().toString();
+        final ProcessGroup processGroup = mock(ProcessGroup.class);
+        when(processGroup.getIdentifier()).thenReturn(groupId);
+
+        ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+        processGroupStatus.setId(groupId);
+        processGroupStatus.setName(GROUP_NAME_1);
+
+        final ControllerFacade controllerFacade = mock(ControllerFacade.class);
+        
when(controllerFacade.getProcessGroupStatus(any())).thenReturn(processGroupStatus);
+
+        final StandardNiFiServiceFacade serviceFacadeSpy = spy(serviceFacade);
+        serviceFacadeSpy.setControllerFacade(controllerFacade);
+        final DtoFactory dtoFactory = new DtoFactory();
+        ProcessGroupDTO processGroupDTO = new ProcessGroupDTO();
+        processGroupDTO.setId(groupId);
+        
when(processGroupDAO.getProcessGroup(groupId)).thenReturn(processGroup);
+        
when(processGroupDAO.updateProcessGroup(processGroupDTO)).thenReturn(processGroup);
+
+        final RevisionManager revisionManager = mock(RevisionManager.class);
+        Revision revision = new Revision(1L,"a","b");
+        final FlowModification lastModification = new 
FlowModification(revision,"a");
+        RevisionUpdate<Object> snapshot = new 
StandardRevisionUpdate<>(processGroupDTO,lastModification);
+        
when(revisionManager.updateRevision(any(),any(),any())).thenReturn((RevisionUpdate<Object>
 )snapshot);
+        serviceFacadeSpy.setRevisionManager(revisionManager);
+        serviceFacadeSpy.setDtoFactory(dtoFactory);
+
+        MockTestBulletinRepository bulletinRepository = new 
MockTestBulletinRepository();
+        serviceFacadeSpy.setBulletinRepository(bulletinRepository);
+        bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, 
GROUP_NAME_1, PROCESSOR_ID_1,
+        
ComponentType.PROCESSOR,PROCESSOR_NAME_1,BULLETIN_CATEGORY,BULLETIN_SEVERITY,BULLETIN_MESSAGE_1,PATH_TO_GROUP_1));
+        
bulletinRepository.addBulletin(BulletinFactory.createBulletin(RANDOM_GROUP_ID,GROUP_NAME_2,
 PROCESSOR_ID_2,
+        ComponentType.PROCESSOR,PROCESSOR_NAME_2, 
BULLETIN_CATEGORY,BULLETIN_SEVERITY, BULLETIN_MESSAGE_2,PATH_TO_GROUP_2));
+        //WHEN

Review Comment:
   Can you make these lines more readable 621-623.
   
   Also, please add empty line before `//WHEN` 



##########
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/java/org/apache/nifi/web/StandardNiFiServiceFacadeTest.java:
##########
@@ -555,4 +583,179 @@ private RemoteProcessGroupDTO 
createRemoteProcessGroupDTO(String id, boolean tra
 
         return remoteProcessGroup;
     }
+
+
+    @Test
+    public void testUpdateProcessGroup_WithProcessorBulletin() {
+        //GIVEN
+        final String groupId = UUID.randomUUID().toString();
+        final ProcessGroup processGroup = mock(ProcessGroup.class);
+        when(processGroup.getIdentifier()).thenReturn(groupId);
+
+        ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+        processGroupStatus.setId(groupId);
+        processGroupStatus.setName(GROUP_NAME_1);
+
+        final ControllerFacade controllerFacade = mock(ControllerFacade.class);
+        
when(controllerFacade.getProcessGroupStatus(any())).thenReturn(processGroupStatus);
+
+        final StandardNiFiServiceFacade serviceFacadeSpy = spy(serviceFacade);
+        serviceFacadeSpy.setControllerFacade(controllerFacade);
+        final DtoFactory dtoFactory = new DtoFactory();
+        ProcessGroupDTO processGroupDTO = new ProcessGroupDTO();
+        processGroupDTO.setId(groupId);
+        
when(processGroupDAO.getProcessGroup(groupId)).thenReturn(processGroup);
+        
when(processGroupDAO.updateProcessGroup(processGroupDTO)).thenReturn(processGroup);
+
+        final RevisionManager revisionManager = mock(RevisionManager.class);
+        Revision revision = new Revision(1L,"a","b");
+        final FlowModification lastModification = new 
FlowModification(revision,"a");
+        RevisionUpdate<Object> snapshot = new 
StandardRevisionUpdate<>(processGroupDTO,lastModification);
+        
when(revisionManager.updateRevision(any(),any(),any())).thenReturn((RevisionUpdate<Object>
 )snapshot);
+        serviceFacadeSpy.setRevisionManager(revisionManager);
+        serviceFacadeSpy.setDtoFactory(dtoFactory);
+
+        MockTestBulletinRepository bulletinRepository = new 
MockTestBulletinRepository();
+        serviceFacadeSpy.setBulletinRepository(bulletinRepository);
+        bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, 
GROUP_NAME_1, PROCESSOR_ID_1,
+        
ComponentType.PROCESSOR,PROCESSOR_NAME_1,BULLETIN_CATEGORY,BULLETIN_SEVERITY,BULLETIN_MESSAGE_1,PATH_TO_GROUP_1));
+        
bulletinRepository.addBulletin(BulletinFactory.createBulletin(RANDOM_GROUP_ID,GROUP_NAME_2,
 PROCESSOR_ID_2,
+        ComponentType.PROCESSOR,PROCESSOR_NAME_2, 
BULLETIN_CATEGORY,BULLETIN_SEVERITY, BULLETIN_MESSAGE_2,PATH_TO_GROUP_2));
+        //WHEN
+        ProcessGroupEntity result = 
serviceFacadeSpy.updateProcessGroup(revision, processGroupDTO);
+        //THEN
+        Assert.assertNotNull(result);
+        Assert.assertEquals(1,result.getBulletins().size());
+        Assert.assertEquals(groupId,result.getBulletins().get(0).getGroupId());
+    }
+
+    @Test
+    public void testUpdateProcessGroup_WithNoBulletinForProcessGroup() {
+
+        //GIVEN
+
+        final String groupId = UUID.randomUUID().toString();
+
+        final ProcessGroup processGroup = mock(ProcessGroup.class);
+        when(processGroup.getIdentifier()).thenReturn(groupId);
+
+        ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+        processGroupStatus.setId(groupId);
+        processGroupStatus.setName("group-name-1");
+
+        final ControllerFacade controllerFacade = mock(ControllerFacade.class);
+        
when(controllerFacade.getProcessGroupStatus(any())).thenReturn(processGroupStatus);
+
+        final StandardNiFiServiceFacade serviceFacadeSpy = spy(serviceFacade);
+        serviceFacadeSpy.setControllerFacade(controllerFacade);
+
+        final DtoFactory dtoFactory = new DtoFactory();
+
+        ProcessGroupDTO processGroupDTO = new ProcessGroupDTO();
+        processGroupDTO.setId(groupId);
+        
when(processGroupDAO.getProcessGroup(groupId)).thenReturn(processGroup);
+        
when(processGroupDAO.updateProcessGroup(processGroupDTO)).thenReturn(processGroup);
+
+        final RevisionManager revisionManager = mock(RevisionManager.class);
+        Revision revision = new Revision(1L,"a","b");
+        final FlowModification lastModification = new 
FlowModification(revision,"a");
+
+        RevisionUpdate<Object> snapshot = new 
StandardRevisionUpdate<>(processGroupDTO,lastModification);
+        
when(revisionManager.updateRevision(any(),any(),any())).thenReturn((RevisionUpdate<Object>
 )snapshot);
+
+        serviceFacadeSpy.setRevisionManager(revisionManager);
+        serviceFacadeSpy.setDtoFactory(dtoFactory);
+
+        MockTestBulletinRepository bulletinRepository = new 
MockTestBulletinRepository();
+        serviceFacadeSpy.setBulletinRepository(bulletinRepository);
+
+        
bulletinRepository.addBulletin(BulletinFactory.createBulletin(RANDOM_GROUP_ID,GROUP_NAME_2,
 PROCESSOR_ID_2,
+        ComponentType.PROCESSOR,PROCESSOR_NAME_2, 
BULLETIN_CATEGORY,BULLETIN_SEVERITY, BULLETIN_MESSAGE_2,PATH_TO_GROUP_2));
+
+        //WHEN
+        ProcessGroupEntity result = 
serviceFacadeSpy.updateProcessGroup(revision, processGroupDTO);
+
+        //THEN
+        Assert.assertNotNull(result);
+        Assert.assertEquals(0,result.getBulletins().size());
+    }
+
+    @Test
+    public void testUpdateProcessGroup_WithProcessorGroupBulletin() {
+
+        //GIVEN
+
+        final String groupId = UUID.randomUUID().toString();
+
+        final ProcessGroup processGroup = mock(ProcessGroup.class);
+        when(processGroup.getIdentifier()).thenReturn(groupId);
+
+        ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+        processGroupStatus.setId(groupId);
+        processGroupStatus.setName("group-name-1");
+
+        final ControllerFacade controllerFacade = mock(ControllerFacade.class);
+        
when(controllerFacade.getProcessGroupStatus(any())).thenReturn(processGroupStatus);
+
+        final StandardNiFiServiceFacade serviceFacadeSpy = spy(serviceFacade);
+        serviceFacadeSpy.setControllerFacade(controllerFacade);
+
+        final DtoFactory dtoFactory = new DtoFactory();
+
+        ProcessGroupDTO processGroupDTO = new ProcessGroupDTO();
+        processGroupDTO.setId(groupId);
+        
when(processGroupDAO.getProcessGroup(groupId)).thenReturn(processGroup);
+        
when(processGroupDAO.updateProcessGroup(processGroupDTO)).thenReturn(processGroup);
+
+        final RevisionManager revisionManager = mock(RevisionManager.class);
+        Revision revision = new Revision(1L,"a","b");
+        final FlowModification lastModification = new 
FlowModification(revision,"a");
+
+        RevisionUpdate<Object> snapshot = new 
StandardRevisionUpdate<>(processGroupDTO,lastModification);
+        
when(revisionManager.updateRevision(any(),any(),any())).thenReturn((RevisionUpdate<Object>
 )snapshot);
+
+        serviceFacadeSpy.setRevisionManager(revisionManager);
+        serviceFacadeSpy.setDtoFactory(dtoFactory);

Review Comment:
   This factory is used only here, seems redundant, mock already similar one.



##########
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/java/org/apache/nifi/web/StandardNiFiServiceFacadeTest.java:
##########
@@ -555,4 +583,179 @@ private RemoteProcessGroupDTO 
createRemoteProcessGroupDTO(String id, boolean tra
 
         return remoteProcessGroup;
     }
+

Review Comment:
   Unnecessary empty line



##########
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/java/org/apache/nifi/web/StandardNiFiServiceFacadeTest.java:
##########
@@ -555,4 +583,179 @@ private RemoteProcessGroupDTO 
createRemoteProcessGroupDTO(String id, boolean tra
 
         return remoteProcessGroup;
     }
+
+
+    @Test
+    public void testUpdateProcessGroup_WithProcessorBulletin() {
+        //GIVEN
+        final String groupId = UUID.randomUUID().toString();
+        final ProcessGroup processGroup = mock(ProcessGroup.class);
+        when(processGroup.getIdentifier()).thenReturn(groupId);
+
+        ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+        processGroupStatus.setId(groupId);
+        processGroupStatus.setName(GROUP_NAME_1);
+
+        final ControllerFacade controllerFacade = mock(ControllerFacade.class);
+        
when(controllerFacade.getProcessGroupStatus(any())).thenReturn(processGroupStatus);
+
+        final StandardNiFiServiceFacade serviceFacadeSpy = spy(serviceFacade);
+        serviceFacadeSpy.setControllerFacade(controllerFacade);
+        final DtoFactory dtoFactory = new DtoFactory();
+        ProcessGroupDTO processGroupDTO = new ProcessGroupDTO();
+        processGroupDTO.setId(groupId);
+        
when(processGroupDAO.getProcessGroup(groupId)).thenReturn(processGroup);
+        
when(processGroupDAO.updateProcessGroup(processGroupDTO)).thenReturn(processGroup);
+
+        final RevisionManager revisionManager = mock(RevisionManager.class);
+        Revision revision = new Revision(1L,"a","b");
+        final FlowModification lastModification = new 
FlowModification(revision,"a");
+        RevisionUpdate<Object> snapshot = new 
StandardRevisionUpdate<>(processGroupDTO,lastModification);
+        
when(revisionManager.updateRevision(any(),any(),any())).thenReturn((RevisionUpdate<Object>
 )snapshot);
+        serviceFacadeSpy.setRevisionManager(revisionManager);
+        serviceFacadeSpy.setDtoFactory(dtoFactory);
+
+        MockTestBulletinRepository bulletinRepository = new 
MockTestBulletinRepository();
+        serviceFacadeSpy.setBulletinRepository(bulletinRepository);
+        bulletinRepository.addBulletin(BulletinFactory.createBulletin(groupId, 
GROUP_NAME_1, PROCESSOR_ID_1,
+        
ComponentType.PROCESSOR,PROCESSOR_NAME_1,BULLETIN_CATEGORY,BULLETIN_SEVERITY,BULLETIN_MESSAGE_1,PATH_TO_GROUP_1));
+        
bulletinRepository.addBulletin(BulletinFactory.createBulletin(RANDOM_GROUP_ID,GROUP_NAME_2,
 PROCESSOR_ID_2,
+        ComponentType.PROCESSOR,PROCESSOR_NAME_2, 
BULLETIN_CATEGORY,BULLETIN_SEVERITY, BULLETIN_MESSAGE_2,PATH_TO_GROUP_2));
+        //WHEN
+        ProcessGroupEntity result = 
serviceFacadeSpy.updateProcessGroup(revision, processGroupDTO);
+        //THEN
+        Assert.assertNotNull(result);
+        Assert.assertEquals(1,result.getBulletins().size());
+        Assert.assertEquals(groupId,result.getBulletins().get(0).getGroupId());
+    }
+
+    @Test
+    public void testUpdateProcessGroup_WithNoBulletinForProcessGroup() {
+
+        //GIVEN
+
+        final String groupId = UUID.randomUUID().toString();
+
+        final ProcessGroup processGroup = mock(ProcessGroup.class);
+        when(processGroup.getIdentifier()).thenReturn(groupId);
+
+        ProcessGroupStatus processGroupStatus = new ProcessGroupStatus();
+        processGroupStatus.setId(groupId);
+        processGroupStatus.setName("group-name-1");
+
+        final ControllerFacade controllerFacade = mock(ControllerFacade.class);
+        
when(controllerFacade.getProcessGroupStatus(any())).thenReturn(processGroupStatus);
+
+        final StandardNiFiServiceFacade serviceFacadeSpy = spy(serviceFacade);
+        serviceFacadeSpy.setControllerFacade(controllerFacade);
+
+        final DtoFactory dtoFactory = new DtoFactory();
+
+        ProcessGroupDTO processGroupDTO = new ProcessGroupDTO();
+        processGroupDTO.setId(groupId);
+        
when(processGroupDAO.getProcessGroup(groupId)).thenReturn(processGroup);
+        
when(processGroupDAO.updateProcessGroup(processGroupDTO)).thenReturn(processGroup);
+
+        final RevisionManager revisionManager = mock(RevisionManager.class);
+        Revision revision = new Revision(1L,"a","b");
+        final FlowModification lastModification = new 
FlowModification(revision,"a");
+
+        RevisionUpdate<Object> snapshot = new 
StandardRevisionUpdate<>(processGroupDTO,lastModification);
+        
when(revisionManager.updateRevision(any(),any(),any())).thenReturn((RevisionUpdate<Object>
 )snapshot);
+
+        serviceFacadeSpy.setRevisionManager(revisionManager);
+        serviceFacadeSpy.setDtoFactory(dtoFactory);

Review Comment:
   This factory is used only here, seems redundant, mock already similar one.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to