From b227e8f33538ef9975f4299524dbb3928f35f803 Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Thu, 8 Aug 2024 17:36:02 +0600 Subject: [PATCH 1/5] pkp/pkp-lib#9899 Added unit tests for queue jobs --- tests/jobs/.gitkeep | 1 - ...mpileCounterSubmissionDailyMetricsTest.php | 87 +++++++++++ ...rSubmissionInstitutionDailyMetricsTest.php | 87 +++++++++++ .../CompileSubmissionGeoDailyMetricsTest.php | 76 ++++++++++ .../CompileUniqueInvestigationsTest.php | 65 +++++++++ .../statistics/CompileUniqueRequestsTest.php | 65 +++++++++ .../DeleteUsageStatsTemporaryRecordsTest.php | 95 ++++++++++++ .../ProcessUsageStatsLogFileTest.php | 137 ++++++++++++++++++ 8 files changed, 612 insertions(+), 1 deletion(-) delete mode 100644 tests/jobs/.gitkeep create mode 100644 tests/jobs/statistics/CompileCounterSubmissionDailyMetricsTest.php create mode 100644 tests/jobs/statistics/CompileCounterSubmissionInstitutionDailyMetricsTest.php create mode 100644 tests/jobs/statistics/CompileSubmissionGeoDailyMetricsTest.php create mode 100644 tests/jobs/statistics/CompileUniqueInvestigationsTest.php create mode 100644 tests/jobs/statistics/CompileUniqueRequestsTest.php create mode 100644 tests/jobs/statistics/DeleteUsageStatsTemporaryRecordsTest.php create mode 100644 tests/jobs/statistics/ProcessUsageStatsLogFileTest.php diff --git a/tests/jobs/.gitkeep b/tests/jobs/.gitkeep deleted file mode 100644 index ca99fa2374..0000000000 --- a/tests/jobs/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -Placeholder while we have no tests here so git will check out the directory -- keeps phpunit from complaining diff --git a/tests/jobs/statistics/CompileCounterSubmissionDailyMetricsTest.php b/tests/jobs/statistics/CompileCounterSubmissionDailyMetricsTest.php new file mode 100644 index 0000000000..5ff675466f --- /dev/null +++ b/tests/jobs/statistics/CompileCounterSubmissionDailyMetricsTest.php @@ -0,0 +1,87 @@ +assertInstanceOf( + CompileCounterSubmissionDailyMetrics::class, + unserialize($this->serializedJobData) + ); + } + + /** + * Ensure that a serialized job can be unserialized and executed + */ + public function testRunSerializedJob() + { + /** @var CompileCounterSubmissionDailyMetrics $compileCounterSubmissionDailyMetricsJob */ + $compileCounterSubmissionDailyMetricsJob = unserialize($this->serializedJobData); + + $temporaryTotalsDAOMock = Mockery::mock(\APP\statistics\TemporaryTotalsDAO::class) + ->makePartial() + ->shouldReceive([ + 'deleteCounterSubmissionDailyByLoadId' => null, + 'compileCounterSubmissionDailyMetrics' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryTotalsDAO', $temporaryTotalsDAOMock); + + $temporaryItemInvestigationsDAOMock = Mockery::mock(\APP\statistics\TemporaryItemInvestigationsDAO::class) + ->makePartial() + ->shouldReceive([ + 'compileCounterSubmissionDailyMetrics' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryItemInvestigationsDAO', $temporaryItemInvestigationsDAOMock); + + $temporaryItemRequestsDAOMock = Mockery::mock(\APP\statistics\TemporaryItemRequestsDAO::class) + ->makePartial() + ->shouldReceive([ + 'compileCounterSubmissionDailyMetrics' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryItemRequestsDAO', $temporaryItemRequestsDAOMock); + + + $this->assertNull($compileCounterSubmissionDailyMetricsJob->handle()); + } +} diff --git a/tests/jobs/statistics/CompileCounterSubmissionInstitutionDailyMetricsTest.php b/tests/jobs/statistics/CompileCounterSubmissionInstitutionDailyMetricsTest.php new file mode 100644 index 0000000000..f931becf67 --- /dev/null +++ b/tests/jobs/statistics/CompileCounterSubmissionInstitutionDailyMetricsTest.php @@ -0,0 +1,87 @@ +assertInstanceOf( + CompileCounterSubmissionInstitutionDailyMetrics::class, + unserialize($this->serializedJobData) + ); + } + + /** + * Ensure that a serialized job can be unserialized and executed + */ + public function testRunSerializedJob() + { + /** @var CompileCounterSubmissionInstitutionDailyMetrics $compileCounterSubmissionInstitutionDailyMetricsJob */ + $compileCounterSubmissionInstitutionDailyMetricsJob = unserialize($this->serializedJobData); + + $temporaryTotalsDAOMock = Mockery::mock(\APP\statistics\TemporaryTotalsDAO::class) + ->makePartial() + ->shouldReceive([ + 'deleteCounterSubmissionInstitutionDailyByLoadId' => null, + 'compileCounterSubmissionDailyMetrics' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryTotalsDAO', $temporaryTotalsDAOMock); + + $temporaryItemInvestigationsDAOMock = Mockery::mock(\APP\statistics\TemporaryItemInvestigationsDAO::class) + ->makePartial() + ->shouldReceive([ + 'compileCounterSubmissionInstitutionDailyMetrics' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryItemInvestigationsDAO', $temporaryItemInvestigationsDAOMock); + + $temporaryItemRequestsDAOMock = Mockery::mock(\APP\statistics\TemporaryItemRequestsDAO::class) + ->makePartial() + ->shouldReceive([ + 'compileCounterSubmissionInstitutionDailyMetrics' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryItemRequestsDAO', $temporaryItemRequestsDAOMock); + + + $this->assertNull($compileCounterSubmissionInstitutionDailyMetricsJob->handle()); + } +} diff --git a/tests/jobs/statistics/CompileSubmissionGeoDailyMetricsTest.php b/tests/jobs/statistics/CompileSubmissionGeoDailyMetricsTest.php new file mode 100644 index 0000000000..9fed493278 --- /dev/null +++ b/tests/jobs/statistics/CompileSubmissionGeoDailyMetricsTest.php @@ -0,0 +1,76 @@ +assertInstanceOf( + CompileSubmissionGeoDailyMetrics::class, + unserialize($this->serializedJobData) + ); + } + + /** + * Ensure that a serialized job can be unserialized and executed + */ + public function testRunSerializedJob() + { + /** @var CompileSubmissionGeoDailyMetrics $compileSubmissionGeoDailyMetricsJob */ + $compileSubmissionGeoDailyMetricsJob = unserialize($this->serializedJobData); + + $temporaryTotalsDAOMock = Mockery::mock(\APP\statistics\TemporaryTotalsDAO::class) + ->makePartial() + ->shouldReceive([ + 'deleteSubmissionGeoDailyByLoadId' => null, + 'compileSubmissionGeoDailyMetrics' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryTotalsDAO', $temporaryTotalsDAOMock); + + $temporaryItemInvestigationsDAOMock = Mockery::mock(\APP\statistics\TemporaryItemInvestigationsDAO::class) + ->makePartial() + ->shouldReceive([ + 'compileSubmissionGeoDailyMetrics' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryItemInvestigationsDAO', $temporaryItemInvestigationsDAOMock); + + $this->assertNull($compileSubmissionGeoDailyMetricsJob->handle()); + } +} diff --git a/tests/jobs/statistics/CompileUniqueInvestigationsTest.php b/tests/jobs/statistics/CompileUniqueInvestigationsTest.php new file mode 100644 index 0000000000..699b08f262 --- /dev/null +++ b/tests/jobs/statistics/CompileUniqueInvestigationsTest.php @@ -0,0 +1,65 @@ +assertInstanceOf( + CompileUniqueInvestigations::class, + unserialize($this->serializedJobData) + ); + } + + /** + * Ensure that a serialized job can be unserialized and executed + */ + public function testRunSerializedJob() + { + /** @var CompileUniqueInvestigations $compileUniqueInvestigationsJob */ + $compileUniqueInvestigationsJob = unserialize($this->serializedJobData); + + $temporaryItemInvestigationsDAOMock = Mockery::mock(\APP\statistics\TemporaryItemInvestigationsDAO::class) + ->makePartial() + ->shouldReceive([ + 'compileUniqueClicks' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryItemInvestigationsDAO', $temporaryItemInvestigationsDAOMock); + + $this->assertNull($compileUniqueInvestigationsJob->handle()); + } +} diff --git a/tests/jobs/statistics/CompileUniqueRequestsTest.php b/tests/jobs/statistics/CompileUniqueRequestsTest.php new file mode 100644 index 0000000000..be165131df --- /dev/null +++ b/tests/jobs/statistics/CompileUniqueRequestsTest.php @@ -0,0 +1,65 @@ +assertInstanceOf( + CompileUniqueRequests::class, + unserialize($this->serializedJobData) + ); + } + + /** + * Ensure that a serialized job can be unserialized and executed + */ + public function testRunSerializedJob() + { + /** @var CompileUniqueRequests $compileUniqueRequestsJob */ + $compileUniqueRequestsJob = unserialize($this->serializedJobData); + + $temporaryItemRequestsDAOMock = Mockery::mock(\APP\statistics\TemporaryItemRequestsDAO::class) + ->makePartial() + ->shouldReceive([ + 'compileUniqueClicks' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryItemRequestsDAO', $temporaryItemRequestsDAOMock); + + $this->assertNull($compileUniqueRequestsJob->handle()); + } +} diff --git a/tests/jobs/statistics/DeleteUsageStatsTemporaryRecordsTest.php b/tests/jobs/statistics/DeleteUsageStatsTemporaryRecordsTest.php new file mode 100644 index 0000000000..df2ef11ca1 --- /dev/null +++ b/tests/jobs/statistics/DeleteUsageStatsTemporaryRecordsTest.php @@ -0,0 +1,95 @@ +assertInstanceOf( + DeleteUsageStatsTemporaryRecords::class, + unserialize($this->serializedJobData) + ); + } + + /** + * Ensure that a serialized job can be unserialized and executed + */ + public function testRunSerializedJob() + { + /** @var DeleteUsageStatsTemporaryRecords $deleteUsageStatsTemporaryRecordsJob */ + $deleteUsageStatsTemporaryRecordsJob = unserialize($this->serializedJobData); + + $temporaryTotalsDAOMock = Mockery::mock(\APP\statistics\TemporaryTotalsDAO::class) + ->makePartial() + ->shouldReceive([ + 'deleteByLoadId' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryTotalsDAO', $temporaryTotalsDAOMock); + + $temporaryItemInvestigationsDAOMock = Mockery::mock(\APP\statistics\TemporaryItemInvestigationsDAO::class) + ->makePartial() + ->shouldReceive([ + 'deleteByLoadId' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryItemInvestigationsDAO', $temporaryItemInvestigationsDAOMock); + + $temporaryItemRequestsDAOMock = Mockery::mock(\APP\statistics\TemporaryItemRequestsDAO::class) + ->makePartial() + ->shouldReceive([ + 'deleteByLoadId' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryItemRequestsDAO', $temporaryItemRequestsDAOMock); + + $temporaryInstitutionsDAOMock = Mockery::mock(\PKP\statistics\TemporaryInstitutionsDAO::class) + ->makePartial() + ->shouldReceive([ + 'deleteByLoadId' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryInstitutionsDAO', $temporaryInstitutionsDAOMock); + + $this->assertNull($deleteUsageStatsTemporaryRecordsJob->handle()); + } +} diff --git a/tests/jobs/statistics/ProcessUsageStatsLogFileTest.php b/tests/jobs/statistics/ProcessUsageStatsLogFileTest.php new file mode 100644 index 0000000000..2db3d1babc --- /dev/null +++ b/tests/jobs/statistics/ProcessUsageStatsLogFileTest.php @@ -0,0 +1,137 @@ +assertInstanceOf( + ProcessUsageStatsLogFile::class, + unserialize($this->serializedJobData) + ); + } + + /** + * Ensure that a serialized job can be unserialized and executed + */ + public function testRunSerializedJob() + { + /** @var ProcessUsageStatsLogFile $processUsageStatsLogFileJob */ + $processUsageStatsLogFileJob = unserialize($this->serializedJobData); + + // we need to create a dummy file if not existed as to avoid mocking PHP's built in functions + $dummyFile = $this->createDummyFileIfNeeded($processUsageStatsLogFileJob, 'loadId'); + + $temporaryTotalsDAOMock = Mockery::mock(\APP\statistics\TemporaryTotalsDAO::class) + ->makePartial() + ->shouldReceive([ + 'deleteByLoadId' => null, + 'insert' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryTotalsDAO', $temporaryTotalsDAOMock); + + $temporaryItemInvestigationsDAOMock = Mockery::mock(\APP\statistics\TemporaryItemInvestigationsDAO::class) + ->makePartial() + ->shouldReceive([ + 'deleteByLoadId' => null, + 'insert' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryItemInvestigationsDAO', $temporaryItemInvestigationsDAOMock); + + $temporaryItemRequestsDAOMock = Mockery::mock(\APP\statistics\TemporaryItemRequestsDAO::class) + ->makePartial() + ->shouldReceive([ + 'deleteByLoadId' => null, + 'insert' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryItemRequestsDAO', $temporaryItemRequestsDAOMock); + + $temporaryInstitutionsDAOMock = Mockery::mock(\PKP\statistics\TemporaryInstitutionsDAO::class) + ->makePartial() + ->shouldReceive([ + 'deleteByLoadId' => null, + 'insert' => null, + ]) + ->withAnyArgs() + ->getMock(); + + DAORegistry::registerDAO('TemporaryInstitutionsDAO', $temporaryInstitutionsDAOMock); + + $this->assertNull($processUsageStatsLogFileJob->handle()); + + if ($dummyFile) { + unlink($dummyFile); + } + } + + /** + * Create the dummy file with dummy content if required + */ + protected function createDummyFileIfNeeded(ProcessUsageStatsLogFile $job, string $propertyName): ?string + { + $reflection = new ReflectionClass($job); + $property = $reflection->getProperty($propertyName); + $property->setAccessible(true); + $fileName = $property->getValue($job); + + $filePath = StatisticsHelper::getUsageStatsDirPath() + . DIRECTORY_SEPARATOR + . FileLoader::FILE_LOADER_PATH_DISPATCH + . DIRECTORY_SEPARATOR; + + if (!file_exists($filePath . $fileName)) { + file_put_contents($filePath . $fileName, $this->dummyFileContent); + return $filePath . $fileName; + } + + return null; + } +} From 96362e8e184a1aee04cbaeed20c653402f1810cd Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Thu, 8 Aug 2024 17:36:26 +0600 Subject: [PATCH 2/5] pkp/pkp-lib#9899 Submodule Update ##touhidurabir/i9899_stable_3_4_0## --- lib/pkp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pkp b/lib/pkp index 1c05e0eb67..b26481aecd 160000 --- a/lib/pkp +++ b/lib/pkp @@ -1 +1 @@ -Subproject commit 1c05e0eb67e847a19114b3b0069adb6f83e7cf59 +Subproject commit b26481aecd903fd376393c6989c8cad0e906dfc9 From 576d6e8659c63d5bc37aa7c4ee946440175b857b Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Thu, 8 Aug 2024 17:38:34 +0600 Subject: [PATCH 3/5] pkp/pkp-lib#9899 fixed doc blocks --- .../statistics/CompileCounterSubmissionDailyMetricsTest.php | 2 +- .../CompileCounterSubmissionInstitutionDailyMetricsTest.php | 2 +- tests/jobs/statistics/CompileSubmissionGeoDailyMetricsTest.php | 2 +- tests/jobs/statistics/CompileUniqueInvestigationsTest.php | 2 +- tests/jobs/statistics/CompileUniqueRequestsTest.php | 2 +- tests/jobs/statistics/DeleteUsageStatsTemporaryRecordsTest.php | 2 +- tests/jobs/statistics/ProcessUsageStatsLogFileTest.php | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/jobs/statistics/CompileCounterSubmissionDailyMetricsTest.php b/tests/jobs/statistics/CompileCounterSubmissionDailyMetricsTest.php index 5ff675466f..d5e959d362 100644 --- a/tests/jobs/statistics/CompileCounterSubmissionDailyMetricsTest.php +++ b/tests/jobs/statistics/CompileCounterSubmissionDailyMetricsTest.php @@ -25,7 +25,7 @@ class CompileCounterSubmissionDailyMetricsTest extends PKPTestCase { /** - * base64_encoded serializion from OJS 3.4.0 + * base64_encoded serializion from OPS 3.4.0 */ protected string $serializedJobData = << Date: Mon, 12 Aug 2024 18:07:39 +0600 Subject: [PATCH 4/5] pkp/pkp-lib#9899 added proper return type hints --- .../statistics/CompileCounterSubmissionDailyMetricsTest.php | 2 +- .../CompileCounterSubmissionInstitutionDailyMetricsTest.php | 2 +- tests/jobs/statistics/CompileSubmissionGeoDailyMetricsTest.php | 2 +- tests/jobs/statistics/CompileUniqueInvestigationsTest.php | 2 +- tests/jobs/statistics/CompileUniqueRequestsTest.php | 2 +- tests/jobs/statistics/DeleteUsageStatsTemporaryRecordsTest.php | 2 +- tests/jobs/statistics/ProcessUsageStatsLogFileTest.php | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/jobs/statistics/CompileCounterSubmissionDailyMetricsTest.php b/tests/jobs/statistics/CompileCounterSubmissionDailyMetricsTest.php index d5e959d362..ad6baec2fb 100644 --- a/tests/jobs/statistics/CompileCounterSubmissionDailyMetricsTest.php +++ b/tests/jobs/statistics/CompileCounterSubmissionDailyMetricsTest.php @@ -45,7 +45,7 @@ public function testUnserializationGetProperDepositIssueJobInstance(): void /** * Ensure that a serialized job can be unserialized and executed */ - public function testRunSerializedJob() + public function testRunSerializedJob(): void { /** @var CompileCounterSubmissionDailyMetrics $compileCounterSubmissionDailyMetricsJob */ $compileCounterSubmissionDailyMetricsJob = unserialize($this->serializedJobData); diff --git a/tests/jobs/statistics/CompileCounterSubmissionInstitutionDailyMetricsTest.php b/tests/jobs/statistics/CompileCounterSubmissionInstitutionDailyMetricsTest.php index f1f427b4fb..c8ef10c4bb 100644 --- a/tests/jobs/statistics/CompileCounterSubmissionInstitutionDailyMetricsTest.php +++ b/tests/jobs/statistics/CompileCounterSubmissionInstitutionDailyMetricsTest.php @@ -45,7 +45,7 @@ public function testUnserializationGetProperDepositIssueJobInstance(): void /** * Ensure that a serialized job can be unserialized and executed */ - public function testRunSerializedJob() + public function testRunSerializedJob(): void { /** @var CompileCounterSubmissionInstitutionDailyMetrics $compileCounterSubmissionInstitutionDailyMetricsJob */ $compileCounterSubmissionInstitutionDailyMetricsJob = unserialize($this->serializedJobData); diff --git a/tests/jobs/statistics/CompileSubmissionGeoDailyMetricsTest.php b/tests/jobs/statistics/CompileSubmissionGeoDailyMetricsTest.php index f5eb01bf66..16dc6f7674 100644 --- a/tests/jobs/statistics/CompileSubmissionGeoDailyMetricsTest.php +++ b/tests/jobs/statistics/CompileSubmissionGeoDailyMetricsTest.php @@ -45,7 +45,7 @@ public function testUnserializationGetProperDepositIssueJobInstance(): void /** * Ensure that a serialized job can be unserialized and executed */ - public function testRunSerializedJob() + public function testRunSerializedJob(): void { /** @var CompileSubmissionGeoDailyMetrics $compileSubmissionGeoDailyMetricsJob */ $compileSubmissionGeoDailyMetricsJob = unserialize($this->serializedJobData); diff --git a/tests/jobs/statistics/CompileUniqueInvestigationsTest.php b/tests/jobs/statistics/CompileUniqueInvestigationsTest.php index e8e240a90d..a5ee31b90a 100644 --- a/tests/jobs/statistics/CompileUniqueInvestigationsTest.php +++ b/tests/jobs/statistics/CompileUniqueInvestigationsTest.php @@ -45,7 +45,7 @@ public function testUnserializationGetProperDepositIssueJobInstance(): void /** * Ensure that a serialized job can be unserialized and executed */ - public function testRunSerializedJob() + public function testRunSerializedJob(): void { /** @var CompileUniqueInvestigations $compileUniqueInvestigationsJob */ $compileUniqueInvestigationsJob = unserialize($this->serializedJobData); diff --git a/tests/jobs/statistics/CompileUniqueRequestsTest.php b/tests/jobs/statistics/CompileUniqueRequestsTest.php index 09231862f1..c24717ae0f 100644 --- a/tests/jobs/statistics/CompileUniqueRequestsTest.php +++ b/tests/jobs/statistics/CompileUniqueRequestsTest.php @@ -45,7 +45,7 @@ public function testUnserializationGetProperDepositIssueJobInstance(): void /** * Ensure that a serialized job can be unserialized and executed */ - public function testRunSerializedJob() + public function testRunSerializedJob(): void { /** @var CompileUniqueRequests $compileUniqueRequestsJob */ $compileUniqueRequestsJob = unserialize($this->serializedJobData); diff --git a/tests/jobs/statistics/DeleteUsageStatsTemporaryRecordsTest.php b/tests/jobs/statistics/DeleteUsageStatsTemporaryRecordsTest.php index 801796370c..90e8201bed 100644 --- a/tests/jobs/statistics/DeleteUsageStatsTemporaryRecordsTest.php +++ b/tests/jobs/statistics/DeleteUsageStatsTemporaryRecordsTest.php @@ -45,7 +45,7 @@ public function testUnserializationGetProperDepositIssueJobInstance(): void /** * Ensure that a serialized job can be unserialized and executed */ - public function testRunSerializedJob() + public function testRunSerializedJob(): void { /** @var DeleteUsageStatsTemporaryRecords $deleteUsageStatsTemporaryRecordsJob */ $deleteUsageStatsTemporaryRecordsJob = unserialize($this->serializedJobData); diff --git a/tests/jobs/statistics/ProcessUsageStatsLogFileTest.php b/tests/jobs/statistics/ProcessUsageStatsLogFileTest.php index b95e1a7465..67072daf56 100644 --- a/tests/jobs/statistics/ProcessUsageStatsLogFileTest.php +++ b/tests/jobs/statistics/ProcessUsageStatsLogFileTest.php @@ -53,7 +53,7 @@ public function testUnserializationGetProperDepositIssueJobInstance(): void /** * Ensure that a serialized job can be unserialized and executed */ - public function testRunSerializedJob() + public function testRunSerializedJob(): void { /** @var ProcessUsageStatsLogFile $processUsageStatsLogFileJob */ $processUsageStatsLogFileJob = unserialize($this->serializedJobData); From cb267cfac748d94e6609965df240bc62e9e07d67 Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Mon, 12 Aug 2024 18:08:06 +0600 Subject: [PATCH 5/5] pkp/pkp-lib#9899 Submodule Update ##touhidurabir/i9899_stable_3_4_0## --- lib/pkp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pkp b/lib/pkp index b26481aecd..0dd0ff4ac2 160000 --- a/lib/pkp +++ b/lib/pkp @@ -1 +1 @@ -Subproject commit b26481aecd903fd376393c6989c8cad0e906dfc9 +Subproject commit 0dd0ff4ac20b70359039dddae6f551aae888e6e0