stable

Clone or download

Read-only

Send a single Redis event for Program Increment Update and Iterations

part of story #22675 replicate program increment changes to mirrored program increments How to test: make sure your redis worker is running - Edit an existing Program Increment artifact. You can change anything. - a new row will be created in the `plugin_program_management_pending_program_increment_update` database table. It will have the program increment's artifact id, your user id and the changeset id. No functional change expected when creating mirror iterations: - Run `tuleap config-set feature_flag_program_management_display_iteration 1` to enable iterations. - Edit a Program Increment artifact and add one or more artifact links with _is_child type to Iteration artifacts. For each iteration, Tuleap will write a new row in the `plugin_program_management_pending_iterations` database table. - a log message will be added to "program_management_syslog" for each iteration. - Only links to Iterations that have never been linked in previous changesets of the Program Increment are considered. If you edit the PI again, the iterations are not processed again. Notes: We need a single message because the update of program increment mirrors and the creation of iteration mirrors will both modify the source program increment (its artifact links). If we let them happen in parallel (with multiple redis messages), we will lose information due to the way Tracker changeset are designed. Change-Id: I92e84fc8821fa06918e7aff682692c888dcc73a5

Modified Files

Name
R plugins/program_management/include/Adapter/Events/IterationCreationEventProxy.php Go to diff View file
D plugins/program_management/include/Adapter/Program/Backlog/AsynchronousCreation/IterationCreationsRunner.php +0 −87 Go to diff View file
M plugins/program_management/include/Adapter/Program/Backlog/AsynchronousCreation/PendingIterationCreationDAO.php +28 −15 Go to diff View file
A plugins/program_management/include/Adapter/Program/Backlog/AsynchronousCreation/PendingIterationCreationProxy.php +59 −0 Go to diff View file
A plugins/program_management/include/Adapter/Program/Backlog/AsynchronousCreation/ProgramIncrementUpdateRunner.php +81 −0 Go to diff View file
R plugins/program_management/include/Domain/Events/IterationCreationEvent.php Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/IterationCreation.php +9 −16 Go to diff View file
R plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/IterationReplicationScheduler.php Go to diff View file
A plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/PendingIterationCreation.php +36 −0 Go to diff View file
R plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/IterationCreationEventHandler.php Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/ProgramIncrementUpdateScheduler.php +8 −4 Go to diff View file
R plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/SearchPendingIteration.php Go to diff View file
R plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/StorePendingIterations.php Go to diff View file
R plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/RunIterationsCreation.php Go to diff View file
M plugins/program_management/include/program_managementPlugin.php +25 −23 Go to diff View file
R plugins/program_management/tests/unit/Adapter/Events/IterationCreationEventProxyTest.php Go to diff View file
D plugins/program_management/tests/unit/Adapter/Program/Backlog/AsynchronousCreation/IterationCreationsRunnerTest.php +0 −153 Go to diff View file
A plugins/program_management/tests/unit/Adapter/Program/Backlog/AsynchronousCreation/PendingIterationCreationProxyTest.php +45 −0 Go to diff View file
A plugins/program_management/tests/unit/Adapter/Program/Backlog/AsynchronousCreation/ProgramIncrementUpdateRunnerTest.php +145 −0 Go to diff View file
M plugins/program_management/tests/unit/Builder/ProgramIncrementUpdateBuilder.php +13 −4 Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/ArtifactUpdatedHandlerTest.php +16 −16 Go to diff View file
R plugins/program_management/tests/unit/Domain/Program/Backlog/AsynchronousCreation/IterationReplicationSchedulerTest.php Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/AsynchronousCreation/IterationCreationTest.php +15 −43 Go to diff View file
R plugins/program_management/tests/unit/Domain/Program/Backlog/AsynchronousCreation/IterationCreationEventHandlerTest.php Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/AsynchronousCreation/ProgramIncrementUpdateSchedulerTest.php +16 −16 Go to diff View file
D plugins/program_management/tests/unit/Stub/SearchPendingIterationStub.php +0 −70 Go to diff View file
A plugins/program_management/tests/unit/Stub/SearchPendingIterationsStub.php +57 −0 Go to diff View file