diff --git a/datasafe-directory/datasafe-directory-impl/src/test/java/de/adorsys/datasafe/directory/impl/profile/dfs/BucketAccessServiceImplTest.java b/datasafe-directory/datasafe-directory-impl/src/test/java/de/adorsys/datasafe/directory/impl/profile/dfs/BucketAccessServiceImplTest.java index 2aa1091de..ed9ca5837 100644 --- a/datasafe-directory/datasafe-directory-impl/src/test/java/de/adorsys/datasafe/directory/impl/profile/dfs/BucketAccessServiceImplTest.java +++ b/datasafe-directory/datasafe-directory-impl/src/test/java/de/adorsys/datasafe/directory/impl/profile/dfs/BucketAccessServiceImplTest.java @@ -4,6 +4,7 @@ import de.adorsys.datasafe.encrypiton.api.types.UserIDAuth; import de.adorsys.datasafe.types.api.resource.BasePrivateResource; import de.adorsys.datasafe.types.api.resource.BasePublicResource; +import de.adorsys.datasafe.types.api.resource.Uri; import de.adorsys.datasafe.types.api.shared.BaseMockitoTest; import de.adorsys.datasafe.types.api.utils.ReadKeyPasswordTestFactory; import org.junit.jupiter.api.Test; @@ -14,6 +15,7 @@ class BucketAccessServiceImplTest extends BaseMockitoTest { private static final String ABSOLUTE_BUCKET = "s3://bucket"; + private final Uri uri = new Uri(ABSOLUTE_BUCKET); private UserIDAuth auth = new UserIDAuth(new UserID(""), ReadKeyPasswordTestFactory.getForString("")); @@ -35,4 +37,10 @@ void publicAccessFor() { BasePublicResource.forAbsolutePublic(ABSOLUTE_BUCKET).getResource()).location().asURI() ).asString().isEqualTo(ABSOLUTE_BUCKET); } + @Test + void withSystemAccess() { + assertThat(bucketAccessService.withSystemAccess( + BasePublicResource.forAbsolutePublic(ABSOLUTE_BUCKET)).location().asURI() + ).asString().isEqualTo(ABSOLUTE_BUCKET); + } } diff --git a/datasafe-directory/datasafe-directory-impl/src/test/java/de/adorsys/datasafe/directory/impl/profile/dfs/DefaultDFSConfigTest.java b/datasafe-directory/datasafe-directory-impl/src/test/java/de/adorsys/datasafe/directory/impl/profile/dfs/DefaultDFSConfigTest.java index 95c9a57e1..d5916117a 100644 --- a/datasafe-directory/datasafe-directory-impl/src/test/java/de/adorsys/datasafe/directory/impl/profile/dfs/DefaultDFSConfigTest.java +++ b/datasafe-directory/datasafe-directory-impl/src/test/java/de/adorsys/datasafe/directory/impl/profile/dfs/DefaultDFSConfigTest.java @@ -1,7 +1,10 @@ package de.adorsys.datasafe.directory.impl.profile.dfs; +import de.adorsys.datasafe.directory.api.types.CreateUserPublicProfile; import de.adorsys.datasafe.directory.impl.profile.config.DefaultDFSConfig; +import de.adorsys.datasafe.encrypiton.api.types.UserID; import de.adorsys.datasafe.types.api.resource.Uri; +import de.adorsys.datasafe.types.api.types.ReadStorePassword; import lombok.SneakyThrows; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -38,5 +41,14 @@ public void checkUriWithSlash() { Uri result2 = DefaultDFSConfig.addTrailingSlashIfNeeded(result1); Assertions.assertEquals(new Uri(uriString + "/"), result2); } + @Test + @SneakyThrows + public void createDefaultPublicTemplate() { + ReadStorePassword systemPassword = new ReadStorePassword("storePassword"); + DefaultDFSConfig config = new DefaultDFSConfig(new URI(uriString), systemPassword); + CreateUserPublicProfile template = config.defaultPublicTemplate(new UserID("user1")); + Assertions.assertEquals(new UserID("user1"), template.getId()); + + } } diff --git a/datasafe-encryption/datasafe-encryption-impl/src/test/java/de/adorsys/datasafe/encrypiton/impl/keystore/PublicKeySerdeImplTest.java b/datasafe-encryption/datasafe-encryption-impl/src/test/java/de/adorsys/datasafe/encrypiton/impl/keystore/PublicKeySerdeImplTest.java new file mode 100644 index 000000000..cfdd401f8 --- /dev/null +++ b/datasafe-encryption/datasafe-encryption-impl/src/test/java/de/adorsys/datasafe/encrypiton/impl/keystore/PublicKeySerdeImplTest.java @@ -0,0 +1,56 @@ +package de.adorsys.datasafe.encrypiton.impl.keystore; + +import de.adorsys.datasafe.encrypiton.api.keystore.KeyStoreService; +import de.adorsys.datasafe.encrypiton.api.types.encryption.EncryptionConfig; +import de.adorsys.datasafe.encrypiton.api.types.encryption.KeyCreationConfig; +import de.adorsys.datasafe.encrypiton.api.types.keystore.KeyStoreAccess; +import de.adorsys.datasafe.encrypiton.api.types.keystore.KeyStoreAuth; +import de.adorsys.datasafe.encrypiton.api.types.keystore.PublicKeyIDWithPublicKey; +import de.adorsys.datasafe.types.api.shared.BaseMockitoTest; +import de.adorsys.datasafe.types.api.types.ReadKeyPassword; +import de.adorsys.datasafe.types.api.types.ReadStorePassword; +import de.adorsys.datasafe.types.api.utils.ReadKeyPasswordTestFactory; +import de.adorsys.keymanagement.juggler.services.DaggerBCJuggler; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.InjectMocks; + +import javax.inject.Inject; +import java.security.KeyStore; +import java.security.PublicKey; +import java.util.Base64; +import java.util.List; + +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; +import static org.mockito.Mockito.mock; + +public class PublicKeySerdeImplTest extends BaseMockitoTest { + private KeyStoreService keyStoreService = new KeyStoreServiceImpl( + EncryptionConfig.builder().build().getKeystore(), + DaggerBCJuggler.builder().build() + ); + + @Test + public void writeAndReadPubKey(){ + ReadStorePassword readStorePassword = new ReadStorePassword("storepass"); + ReadKeyPassword readKeyPassword = ReadKeyPasswordTestFactory.getForString("keypass"); + + KeyStoreAuth keyStoreAuth = new KeyStoreAuth(readStorePassword, readKeyPassword); + KeyCreationConfig config = KeyCreationConfig.builder().signKeyNumber(0).encKeyNumber(1).build(); + KeyStore keyStore = keyStoreService.createKeyStore(keyStoreAuth, config); + + KeyStoreAccess keyStoreAccess = new KeyStoreAccess(keyStore, keyStoreAuth); + PublicKeySerdeImpl publicKeySerde = mock(PublicKeySerdeImpl.class); + + List publicKeys = keyStoreService.getPublicKeys(keyStoreAccess); + + PublicKey publicKey = publicKeys.get(0).getPublicKey(); + String encodedKey = publicKeySerde.writePubKey(publicKey); + + assertThat(encodedKey).isEqualTo(Base64.getEncoder().encodeToString(publicKey.getEncoded())); + + PublicKey readPublicKey = publicKeySerde.readPubKey(encodedKey); + + assertThat(readPublicKey).isEqualTo(publicKey); + } +}