diff options
author | Bjoern Schiessle <schiessle@owncloud.com> | 2015-07-08 19:08:41 +0200 |
---|---|---|
committer | Bjoern Schiessle <schiessle@owncloud.com> | 2015-07-08 19:08:41 +0200 |
commit | 1e284b15ff07b7a90067c5166ee7f85547095a34 (patch) | |
tree | e75b13aba83c0378ebfddd365f801df85ad94e63 /apps/encryption/tests | |
parent | 85c3b9d5cf9fe9c9d884c7a08b0da46e4e585720 (diff) | |
download | nextcloud-server-1e284b15ff07b7a90067c5166ee7f85547095a34.tar.gz nextcloud-server-1e284b15ff07b7a90067c5166ee7f85547095a34.zip |
only create new key pair if both keys are missing
Diffstat (limited to 'apps/encryption/tests')
-rw-r--r-- | apps/encryption/tests/lib/KeyManagerTest.php | 50 |
1 files changed, 47 insertions, 3 deletions
diff --git a/apps/encryption/tests/lib/KeyManagerTest.php b/apps/encryption/tests/lib/KeyManagerTest.php index 2561b29462f..0bac5e0341b 100644 --- a/apps/encryption/tests/lib/KeyManagerTest.php +++ b/apps/encryption/tests/lib/KeyManagerTest.php @@ -182,18 +182,62 @@ class KeyManagerTest extends TestCase { ); } - public function testUserHasKeys() { + /** + * @dataProvider dataTestUserHasKeys + */ + public function testUserHasKeys($key, $expected) { $this->keyStorageMock->expects($this->exactly(2)) ->method('getUserKey') ->with($this->equalTo($this->userId), $this->anything()) - ->willReturn('key'); + ->willReturn($key); - $this->assertTrue( + $this->assertSame($expected, $this->instance->userHasKeys($this->userId) ); } + public function dataTestUserHasKeys() { + return [ + ['key', true], + ['', false] + ]; + } + + /** + * @expectedException \OCA\Encryption\Exceptions\PrivateKeyMissingException + */ + public function testUserHasKeysMissingPrivateKey() { + $this->keyStorageMock->expects($this->exactly(2)) + ->method('getUserKey') + ->willReturnCallback(function ($uid, $keyID, $encryptionModuleId) { + if ($keyID=== 'privateKey') { + return ''; + } + return 'key'; + }); + + $this->instance->userHasKeys($this->userId); + } + + /** + * @expectedException \OCA\Encryption\Exceptions\PublicKeyMissingException + */ + public function testUserHasKeysMissingPublicKey() { + $this->keyStorageMock->expects($this->exactly(2)) + ->method('getUserKey') + ->willReturnCallback(function ($uid, $keyID, $encryptionModuleId){ + if ($keyID === 'publicKey') { + return ''; + } + return 'key'; + }); + + $this->instance->userHasKeys($this->userId); + + } + + public function testInit() { $this->keyStorageMock->expects($this->any()) ->method('getUserKey') |