Merge branch 'develop' into feature/hub

# Conflicts:
#	pom.xml
#	src/main/resources/license/THIRD-PARTY.txt
This commit is contained in:
Sebastian Stenzel
2022-04-28 12:55:55 +02:00
83 changed files with 1296 additions and 980 deletions
@@ -2,17 +2,16 @@ package org.cryptomator.common.keychain;
import org.cryptomator.integrations.keychain.KeychainAccessException;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Assumptions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import javafx.application.Platform;
import javafx.beans.property.ReadOnlyBooleanProperty;
import javafx.beans.property.SimpleObjectProperty;
import java.time.Duration;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -23,7 +22,7 @@ public class KeychainManagerTest {
@Test
public void testStoreAndLoad() throws KeychainAccessException {
KeychainManager keychainManager = new KeychainManager(new SimpleObjectProperty<>(new MapKeychainAccess()));
keychainManager.storePassphrase("test", "asd");
keychainManager.storePassphrase("test", "Test", "asd");
Assertions.assertArrayEquals("asd".toCharArray(), keychainManager.loadPassphrase("test"));
}
@@ -42,9 +41,9 @@ public class KeychainManagerTest {
public void testPropertyChangesWhenStoringPassword() throws KeychainAccessException, InterruptedException {
KeychainManager keychainManager = new KeychainManager(new SimpleObjectProperty<>(new MapKeychainAccess()));
ReadOnlyBooleanProperty property = keychainManager.getPassphraseStoredProperty("test");
Assertions.assertEquals(false, property.get());
Assertions.assertFalse(property.get());
keychainManager.storePassphrase("test", "bar");
keychainManager.storePassphrase("test", null,"bar");
AtomicBoolean result = new AtomicBoolean(false);
CountDownLatch latch = new CountDownLatch(1);
@@ -52,8 +51,8 @@ public class KeychainManagerTest {
result.set(property.get());
latch.countDown();
});
latch.await(1, TimeUnit.SECONDS);
Assertions.assertEquals(true, result.get());
Assertions.assertTimeoutPreemptively(Duration.ofSeconds(1), () -> latch.await());
Assertions.assertTrue(result.get());
}
}
@@ -20,7 +20,7 @@ class MapKeychainAccess implements KeychainAccessProvider {
}
@Override
public void storePassphrase(String key, CharSequence passphrase) {
public void storePassphrase(String key, String displayName,CharSequence passphrase) {
char[] pw = new char[passphrase.length()];
for (int i = 0; i < passphrase.length(); i++) {
pw[i] = passphrase.charAt(i);
@@ -39,9 +39,9 @@ class MapKeychainAccess implements KeychainAccessProvider {
}
@Override
public void changePassphrase(String key, CharSequence passphrase) {
public void changePassphrase(String key, String displayName, CharSequence passphrase) {
map.get(key);
storePassphrase(key, passphrase);
storePassphrase(key, displayName, passphrase);
}
@Override