Test content of written vault config as well
While creating a vault, check also the content for the vault.cryptomator file.
This commit is contained in:
parent
f6c8554779
commit
a4762fb32a
@ -37,6 +37,7 @@ class MasterkeyCryptoCloudProviderTest {
|
|||||||
private CloudContentRepository cloudContentRepository;
|
private CloudContentRepository cloudContentRepository;
|
||||||
private CryptoCloudContentRepositoryFactory cryptoCloudContentRepositoryFactory;
|
private CryptoCloudContentRepositoryFactory cryptoCloudContentRepositoryFactory;
|
||||||
private Vault vault;
|
private Vault vault;
|
||||||
|
private VaultConfig.VaultConfigBuilder vaultConfigBuilder;
|
||||||
|
|
||||||
private Cryptor cryptor;
|
private Cryptor cryptor;
|
||||||
private FileNameCryptor fileNameCryptor;
|
private FileNameCryptor fileNameCryptor;
|
||||||
@ -45,12 +46,13 @@ class MasterkeyCryptoCloudProviderTest {
|
|||||||
private MasterkeyCryptoCloudProvider inTest;
|
private MasterkeyCryptoCloudProvider inTest;
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void setUp() {
|
public void setUp() {
|
||||||
context = Mockito.mock(Context.class);
|
context = Mockito.mock(Context.class);
|
||||||
cloud = Mockito.mock(Cloud.class);
|
cloud = Mockito.mock(Cloud.class);
|
||||||
cloudContentRepository = Mockito.mock(CloudContentRepository.class);
|
cloudContentRepository = Mockito.mock(CloudContentRepository.class);
|
||||||
cryptoCloudContentRepositoryFactory = Mockito.mock(CryptoCloudContentRepositoryFactory.class);
|
cryptoCloudContentRepositoryFactory = Mockito.mock(CryptoCloudContentRepositoryFactory.class);
|
||||||
vault = Mockito.mock(Vault.class);
|
vault = Mockito.mock(Vault.class);
|
||||||
|
vaultConfigBuilder = VaultConfig.createVaultConfig().id("");
|
||||||
|
|
||||||
cryptor = Mockito.mock(Cryptor.class);
|
cryptor = Mockito.mock(Cryptor.class);
|
||||||
fileNameCryptor = Mockito.mock(FileNameCryptor.class);
|
fileNameCryptor = Mockito.mock(FileNameCryptor.class);
|
||||||
@ -68,6 +70,7 @@ class MasterkeyCryptoCloudProviderTest {
|
|||||||
@DisplayName("create(\"/foo, foo\")")
|
@DisplayName("create(\"/foo, foo\")")
|
||||||
public void testCreateVault() throws BackendException {
|
public void testCreateVault() throws BackendException {
|
||||||
String masterkey = "{ \"version\": 999, \"scryptSalt\": \"AAAAAAAAAAA=\", \"scryptCostParam\": 32768, \"scryptBlockSize\": 8, \"primaryMasterKey\": \"D2kc+xBoAcVY+M7s74YBEy6l7ga2+Nz+HS5o0TQY3JMW1uQ5jTlLIQ==\", \"hmacMasterKey\": \"D2kc+xBoAcVY+M7s74YBEy6l7ga2+Nz+HS5o0TQY3JMW1uQ5jTlLIQ==\", \"versionMac\": \"trDKXqDhu94/VPuoWaQGBm8hwSPYc0D9t6DRRxKZ65k=\"}";
|
String masterkey = "{ \"version\": 999, \"scryptSalt\": \"AAAAAAAAAAA=\", \"scryptCostParam\": 32768, \"scryptBlockSize\": 8, \"primaryMasterKey\": \"D2kc+xBoAcVY+M7s74YBEy6l7ga2+Nz+HS5o0TQY3JMW1uQ5jTlLIQ==\", \"hmacMasterKey\": \"D2kc+xBoAcVY+M7s74YBEy6l7ga2+Nz+HS5o0TQY3JMW1uQ5jTlLIQ==\", \"versionMac\": \"trDKXqDhu94/VPuoWaQGBm8hwSPYc0D9t6DRRxKZ65k=\"}";
|
||||||
|
String vaultConfig = "eyJraWQiOiJtYXN0ZXJrZXlmaWxlOm1hc3RlcmtleS5jcnlwdG9tYXRvciIsImFsZyI6IkhTNTEyIn0.eyJtYXhGaWxlbmFtZUxlbiI6MjIwLCJmb3JtYXQiOjgsImNpcGhlckNvbWJvIjoiU0lWX0NUUk1BQyJ9.umiAcGObWuVISugrQu16hznDHIFM7moD1ukA1r5V1DRA0GjHQk1p6S9hkL0PaMD7xl04jSttMRalOYU1sg4wqQ";
|
||||||
|
|
||||||
TestFolder rootFolder = new RootTestFolder(cloud);
|
TestFolder rootFolder = new RootTestFolder(cloud);
|
||||||
TestFolder foo = new TestFolder(rootFolder, "foo", "/foo");
|
TestFolder foo = new TestFolder(rootFolder, "foo", "/foo");
|
||||||
@ -85,11 +88,15 @@ class MasterkeyCryptoCloudProviderTest {
|
|||||||
return invocationOnMock.getArgument(0);
|
return invocationOnMock.getArgument(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 2. initialize vault
|
||||||
|
Mockito.when(cloudContentRepository.write(Mockito.eq(vaultFile), Mockito.any(DataSource.class), Mockito.eq(NO_OP_PROGRESS_AWARE), Mockito.eq(false), Mockito.anyLong())).thenAnswer(invocationOnMock -> {
|
||||||
|
DataSource in = invocationOnMock.getArgument(1);
|
||||||
|
String vaultConfigFileContent = new BufferedReader(new InputStreamReader(in.open(context), StandardCharsets.UTF_8)).lines().collect(Collectors.joining());
|
||||||
|
assertThat(vaultConfigFileContent, is(vaultConfig));
|
||||||
|
return invocationOnMock.getArgument(0);
|
||||||
|
});
|
||||||
|
|
||||||
// 2. initialize vault:
|
// 3. create root folder
|
||||||
Mockito.when(cloudContentRepository.write(Mockito.eq(vaultFile), Mockito.any(DataSource.class), Mockito.eq(NO_OP_PROGRESS_AWARE), Mockito.eq(false), Mockito.anyLong())).thenReturn(vaultFile);
|
|
||||||
|
|
||||||
// 3. create root folder:
|
|
||||||
String rootDirHash = "KG6TFDGKXGZEGWRZOGTDFDF4YEGAZO6Q";
|
String rootDirHash = "KG6TFDGKXGZEGWRZOGTDFDF4YEGAZO6Q";
|
||||||
|
|
||||||
TestFolder dFolder = new TestFolder(foo, "d", "/foo/" + DATA_DIR_NAME);
|
TestFolder dFolder = new TestFolder(foo, "d", "/foo/" + DATA_DIR_NAME);
|
||||||
@ -108,7 +115,7 @@ class MasterkeyCryptoCloudProviderTest {
|
|||||||
Mockito.when(cloudContentRepository.folder(lvl1Dir, lvl2Dir.getName())).thenReturn(lvl2Dir);
|
Mockito.when(cloudContentRepository.folder(lvl1Dir, lvl2Dir.getName())).thenReturn(lvl2Dir);
|
||||||
Mockito.when(cloudContentRepository.create(lvl2Dir)).thenReturn(lvl2Dir);
|
Mockito.when(cloudContentRepository.create(lvl2Dir)).thenReturn(lvl2Dir);
|
||||||
|
|
||||||
inTest.create(foo, "foo");
|
inTest.create(foo, "foo", vaultConfigBuilder);
|
||||||
|
|
||||||
Mockito.verify(cloudContentRepository).write(Mockito.eq(masterKeyFile), Mockito.any(DataSource.class), Mockito.eq(NO_OP_PROGRESS_AWARE), Mockito.eq(false), Mockito.anyLong());
|
Mockito.verify(cloudContentRepository).write(Mockito.eq(masterKeyFile), Mockito.any(DataSource.class), Mockito.eq(NO_OP_PROGRESS_AWARE), Mockito.eq(false), Mockito.anyLong());
|
||||||
Mockito.verify(cloudContentRepository).write(Mockito.eq(vaultFile), Mockito.any(DataSource.class), Mockito.eq(NO_OP_PROGRESS_AWARE), Mockito.eq(false), Mockito.anyLong());
|
Mockito.verify(cloudContentRepository).write(Mockito.eq(vaultFile), Mockito.any(DataSource.class), Mockito.eq(NO_OP_PROGRESS_AWARE), Mockito.eq(false), Mockito.anyLong());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user