aboutsummaryrefslogtreecommitdiffstats
path: root/tests/Core/Command/Maintenance/DataFingerprintTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Core/Command/Maintenance/DataFingerprintTest.php')
-rw-r--r--tests/Core/Command/Maintenance/DataFingerprintTest.php53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/Core/Command/Maintenance/DataFingerprintTest.php b/tests/Core/Command/Maintenance/DataFingerprintTest.php
new file mode 100644
index 00000000000..99004a7a5f5
--- /dev/null
+++ b/tests/Core/Command/Maintenance/DataFingerprintTest.php
@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
+namespace Tests\Core\Command\Maintenance;
+
+use OC\Core\Command\Maintenance\DataFingerprint;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\IConfig;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+use Test\TestCase;
+
+class DataFingerprintTest extends TestCase {
+ /** @var IConfig|\PHPUnit\Framework\MockObject\MockObject */
+ protected $config;
+ /** @var \PHPUnit\Framework\MockObject\MockObject */
+ protected $consoleInput;
+ /** @var \PHPUnit\Framework\MockObject\MockObject */
+ protected $consoleOutput;
+ /** @var ITimeFactory|\PHPUnit\Framework\MockObject\MockObject */
+ protected $timeFactory;
+
+ /** @var \Symfony\Component\Console\Command\Command */
+ protected $command;
+
+ protected function setUp(): void {
+ parent::setUp();
+
+ $this->config = $this->getMockBuilder(IConfig::class)->getMock();
+ $this->timeFactory = $this->getMockBuilder(ITimeFactory::class)->getMock();
+ $this->consoleInput = $this->getMockBuilder(InputInterface::class)->getMock();
+ $this->consoleOutput = $this->getMockBuilder(OutputInterface::class)->getMock();
+
+ /** @var IConfig $config */
+ $this->command = new DataFingerprint($this->config, $this->timeFactory);
+ }
+
+ public function testSetFingerPrint(): void {
+ $this->timeFactory->expects($this->once())
+ ->method('getTime')
+ ->willReturn(42);
+ $this->config->expects($this->once())
+ ->method('setSystemValue')
+ ->with('data-fingerprint', md5(42));
+
+ self::invokePrivate($this->command, 'execute', [$this->consoleInput, $this->consoleOutput]);
+ }
+}