diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml
new file mode 100644
index 000000000..b0d6e2f9e
--- /dev/null
+++ b/.github/workflows/pull-request.yml
@@ -0,0 +1,44 @@
+name: Actions on pull requests
+on:
+ pull_request:
+ branches:
+ - develop
+ - master
+
+jobs:
+ pull-request-job:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Step 1 - Checkout repository code
+ uses: actions/checkout@v4
+
+ - name: Step 2 - Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+ cache: 'maven'
+
+ - name: Step 3 - Cache Docker images.
+ uses: ScribeMD/docker-cache@0.3.7
+ with:
+ key: docker-${{ runner.os }}
+
+ - name: Step 4 - Build & Test
+ run: mvn clean verify -ntp -PIT
+
+ - name: Step 5 - Upload coverage unittests reports to Codecov
+ uses: codecov/codecov-action@v3
+ with:
+ token: ${{ secrets.CODECOV_TOKEN }}
+ gcov_ignore: '!*datasafe-business*'
+ flags: unittests
+ verbose: true
+
+ - name: Step 6 - Upload coverage e2e tests reports to Codecov
+ uses: codecov/codecov-action@v3
+ with:
+ token: ${{ secrets.CODECOV_TOKEN }}
+ gcov_include: '*datasafe-business*'
+ flags: e2e_tests
+ verbose: true
\ No newline at end of file
diff --git a/.github/workflows/pull-requests.yml b/.github/workflows/pull-requests.yml
deleted file mode 100644
index 0891234c0..000000000
--- a/.github/workflows/pull-requests.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-# Builds Pull-requests to key branches
-name: Pull request CI
-
-on:
- pull_request:
- branches:
- - develop
- - master
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: Set up JDK 17
- uses: actions/setup-java@v3
- with:
- java-version: 17
- distribution: 'adopt'
-
- - name: Build project and run default test suite
- run: mvn clean verify -ntp
diff --git a/.github/workflows/push-develop.yml b/.github/workflows/push-develop.yml
new file mode 100644
index 000000000..cebd686b3
--- /dev/null
+++ b/.github/workflows/push-develop.yml
@@ -0,0 +1,53 @@
+name: Develop branch build
+on:
+ push:
+ branches:
+ - develop
+
+jobs:
+ develop-build-job:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Step 1 - Checkout repository code
+ uses: actions/checkout@v4
+
+ - name: Step 2 - Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+ cache: 'maven'
+
+ - name: Step 3 - Cache Docker images.
+ uses: ScribeMD/docker-cache@0.3.7
+ with:
+ key: docker-${{ runner.os }}
+
+ - name: Step 4 - Build & Test
+ run: mvn clean verify -ntp -PIT
+
+ - name: Step 5 - Deploy Snapshot
+ run: ./scripts/mvn_deploy.sh
+ env:
+ SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
+ SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
+ GPG_EXECUTABLE: gpg
+ GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
+ GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}
+ GPG_OWNERTRUST: ${{ secrets.GPG_OWNERTRUST }}
+
+ - name: Step 6 - Upload coverage unittests reports to Codecov
+ uses: codecov/codecov-action@v3
+ with:
+ token: ${{ secrets.CODECOV_TOKEN }}
+ gcov_ignore: '!*datasafe-business*'
+ flags: unittests
+ verbose: true
+
+ - name: Step 7 - Upload coverage e2e tests reports to Codecov
+ uses: codecov/codecov-action@v3
+ with:
+ token: ${{ secrets.CODECOV_TOKEN }}
+ gcov_include: '*datasafe-business*'
+ flags: e2e_tests
+ verbose: true
\ No newline at end of file
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 000000000..2ecc29728
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,37 @@
+name: Release to Maven Central
+on:
+ push:
+ tags:
+ - v*
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Step 1 - Checkout repository code
+ uses: actions/checkout@v4
+
+ - name: Step 2 - Setup JDK
+ uses: actions/setup-java@v4
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+ cache: 'maven'
+
+ - name: Step 3 - Cache Docker images.
+ uses: ScribeMD/docker-cache@0.3.7
+ with:
+ key: docker-${{ runner.os }}
+
+ - name: Step 4 - Maven deploy release
+ run: ./scripts/mvn_deploy.sh
+ env:
+ SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
+ SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
+ GPG_EXECUTABLE: gpg
+ GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
+ GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}
+ GPG_OWNERTRUST: ${{ secrets.GPG_OWNERTRUST }}
+
+# - name: Step 4 - Push JavaDoc to GitHub Pages
+# run: ./scripts/push-javadoc-to-gh-pages.sh
diff --git a/.travis/codecov_bash.sh b/.travis/codecov_bash.sh
deleted file mode 100644
index a11db3d6a..000000000
--- a/.travis/codecov_bash.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env bash
-
-BRANCH="$TRAVIS_BRANCH"
-if [[ -n "$TRAVIS_PULL_REQUEST_BRANCH" ]]; then
- BRANCH="$TRAVIS_PULL_REQUEST_BRANCH"
- echo "Pull request branch identified: $TRAVIS_PULL_REQUEST_BRANCH"
-fi
-
-echo "Sending test results to codecov using $BRANCH"
-bash <(curl -s https://codecov.io/bash) -f '!*datasafe-business*' -F unittests -B "$BRANCH";
-bash <(curl -s https://codecov.io/bash) -s '*datasafe-business*' -F e2e_tests -B "$BRANCH";
\ No newline at end of file
diff --git a/.travis/deploy.sh b/.travis/deploy.sh
deleted file mode 100644
index 3f1052e59..000000000
--- a/.travis/deploy.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-
-echo "$GPG_SECRET_KEY" | base64 --decode | "$GPG_EXECUTABLE" --import
-echo "$GPG_OWNERTRUST" | base64 --decode | "$GPG_EXECUTABLE" --import-ownertrust
-
-set -e
-
-mvn --settings .travis/settings.xml package gpg:sign deploy -Prelease -DskipTests -B -U;
diff --git a/README.md b/README.md
index 6a867c696..f160362dd 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,5 @@
-[![Build Status](https://travis-ci.com/adorsys/datasafe.svg?branch=develop)](https://travis-ci.com/adorsys/datasafe)
[![codecov](https://codecov.io/gh/adorsys/datasafe/branch/develop/graph/badge.svg)](https://codecov.io/gh/adorsys/datasafe)
-[![Maintainability](https://api.codeclimate.com/v1/badges/06ae7d4cafc3012cee85/maintainability)](https://codeclimate.com/github/adorsys/datasafe/maintainability)
+[![Maintainability](https://codeclimate.com/github/adorsys/datasafe.png)](https://codeclimate.com/github/adorsys/datasafe/maintainability)
# Secure, Encrypted and Versioned Data Storage Library
diff --git a/datasafe-business/pom.xml b/datasafe-business/pom.xml
index 4c814b1ec..2ea45d796 100644
--- a/datasafe-business/pom.xml
+++ b/datasafe-business/pom.xml
@@ -5,7 +5,7 @@
datasafe
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BaseE2ETest.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BaseE2EIT.java
similarity index 99%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BaseE2ETest.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BaseE2EIT.java
index d544e2842..9cf4118e6 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BaseE2ETest.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BaseE2EIT.java
@@ -52,7 +52,7 @@
@Slf4j
@RequiredArgsConstructor
-public abstract class BaseE2ETest extends WithStorageProvider {
+public abstract class BaseE2EIT extends WithStorageProvider {
protected static final String PRIVATE_COMPONENT = "private";
protected static final String PRIVATE_FILES_COMPONENT = PRIVATE_COMPONENT + "/files";
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityTest.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityIT.java
similarity index 99%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityTest.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityIT.java
index 8ee49c217..ce249ce74 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityTest.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityIT.java
@@ -47,7 +47,7 @@
* Tests that validates basic functionality - storing data to inbox, privatespace, listing files, etc.
*/
@Slf4j
-class BasicFunctionalityTest extends BaseE2ETest {
+class BasicFunctionalityIT extends BaseE2EIT {
private static final int LARGE_SIZE = 10 * 1024 * 1024 + 100;
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityUtf8Test.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityUtf8IT.java
similarity index 99%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityUtf8Test.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityUtf8IT.java
index 7d9c233c1..344099e55 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityUtf8Test.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityUtf8IT.java
@@ -15,7 +15,7 @@
* Tests that validates basic functionality - storing data to inbox, privatespace, listing files, etc. using UTF-8 paths.
*/
@Slf4j
-class BasicFunctionalityUtf8Test extends BaseE2ETest {
+class BasicFunctionalityUtf8IT extends BaseE2EIT {
private static final String MESSAGE_ONE = "Hello here 1";
private static final String FOLDER = "folder1";
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityWithConcurrencyTest.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityWithConcurrencyIT.java
similarity index 99%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityWithConcurrencyTest.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityWithConcurrencyIT.java
index 7a219bf06..665666f61 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityWithConcurrencyTest.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityWithConcurrencyIT.java
@@ -56,7 +56,7 @@
* Multithreaded test of basic operations.
*/
@Slf4j
-class BasicFunctionalityWithConcurrencyTest extends BaseE2ETest {
+class BasicFunctionalityWithConcurrencyIT extends BaseE2EIT {
private static final int TIMEOUT_S = 30;
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityWithPasswordChangeTest.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityWithPasswordChangeIT.java
similarity index 99%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityWithPasswordChangeTest.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityWithPasswordChangeIT.java
index e970bcd3c..714696659 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityWithPasswordChangeTest.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/BasicFunctionalityWithPasswordChangeIT.java
@@ -28,7 +28,7 @@
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
-class BasicFunctionalityWithPasswordChangeTest extends BaseE2ETest {
+class BasicFunctionalityWithPasswordChangeIT extends BaseE2EIT {
@SneakyThrows
@ParameterizedTest
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/DataTamperingResistanceTest.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/DataTamperingResistanceIT.java
similarity index 99%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/DataTamperingResistanceTest.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/DataTamperingResistanceIT.java
index 9fcedfe97..9d2a623fb 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/DataTamperingResistanceTest.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/DataTamperingResistanceIT.java
@@ -38,7 +38,7 @@
* attacker is unable to modify encrypted text without being detected.
*/
@Slf4j
-class DataTamperingResistanceTest extends BaseE2ETest {
+class DataTamperingResistanceIT extends BaseE2EIT {
private static final Set NOT_TO_REPLACE_IN_PATH = ImmutableSet.of('=', '/');
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/KeyStoreTypeCompareTest.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/KeyStoreTypeCompareIT.java
similarity index 98%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/KeyStoreTypeCompareTest.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/KeyStoreTypeCompareIT.java
index 76e75fcc4..d07bd839a 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/KeyStoreTypeCompareTest.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/KeyStoreTypeCompareIT.java
@@ -24,7 +24,7 @@
import static org.assertj.core.api.Assertions.assertThat;
@Slf4j
-public class KeyStoreTypeCompareTest extends BaseE2ETest {
+public class KeyStoreTypeCompareIT extends BaseE2EIT {
private final static int NUMBER_WRITES = 100;
private final static int NUMBER_READS = 100;
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/MultiDFSFunctionalityTest.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/MultiDFSFunctionalityIT.java
similarity index 99%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/MultiDFSFunctionalityTest.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/MultiDFSFunctionalityIT.java
index a4e5830b8..c58607ac9 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/MultiDFSFunctionalityTest.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/MultiDFSFunctionalityIT.java
@@ -70,7 +70,7 @@
* access `credentialsBucket` that has user profile and his storage access keystore.
*/
@Slf4j
-class MultiDFSFunctionalityTest extends BaseMockitoTest {
+class MultiDFSFunctionalityIT extends BaseMockitoTest {
private static final String REGION = "eu-central-1";
private static final String LOCALHOST = getDockerUri("http://127.0.0.1");
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/ProfileContainsDatasafeVersionTest.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/ProfileContainsDatasafeVersion2EIT.java
similarity index 94%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/ProfileContainsDatasafeVersionTest.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/ProfileContainsDatasafeVersion2EIT.java
index cf7afb707..7f12fdcf2 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/ProfileContainsDatasafeVersionTest.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/ProfileContainsDatasafeVersion2EIT.java
@@ -8,7 +8,7 @@
import static org.assertj.core.api.Assertions.assertThat;
-class ProfileContainsDatasafeVersionTest extends BaseE2ETest {
+class ProfileContainsDatasafeVersion2EIT extends BaseE2EIT {
@Test
@SneakyThrows
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/SchemeDelegationTest.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/SchemeDelegationIT.java
similarity index 98%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/SchemeDelegationTest.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/SchemeDelegationIT.java
index f6396957e..0035db8c2 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/SchemeDelegationTest.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/SchemeDelegationIT.java
@@ -1,5 +1,4 @@
package de.adorsys.datasafe.business.impl.e2e;
-
import de.adorsys.datasafe.business.impl.service.DaggerDefaultDatasafeServices;
import de.adorsys.datasafe.business.impl.service.DefaultDatasafeServices;
import de.adorsys.datasafe.directory.impl.profile.config.DefaultDFSConfig;
@@ -32,7 +31,7 @@
import static org.assertj.core.api.Assertions.assertThat;
-class SchemeDelegationTest extends WithStorageProvider {
+class SchemeDelegationIT extends WithStorageProvider {
private Path fsPath;
private Uri minioPath;
@@ -125,4 +124,4 @@ public AbsoluteLocation privateProfile(UserID forUser) {
);
}
}
-}
+}
\ No newline at end of file
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/SchemeDelegationWithDbTest.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/SchemeDelegationWithDbIT.java
similarity index 98%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/SchemeDelegationWithDbTest.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/SchemeDelegationWithDbIT.java
index 21a0b0397..59f526289 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/SchemeDelegationWithDbTest.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/SchemeDelegationWithDbIT.java
@@ -38,7 +38,7 @@
import static de.adorsys.datasafe.types.api.global.PathEncryptionId.AES_SIV;
import static org.assertj.core.api.Assertions.assertThat;
-class SchemeDelegationWithDbTest extends WithStorageProvider {
+class SchemeDelegationWithDbIT extends WithStorageProvider {
private static final Set ALLOWED_TABLES = ImmutableSet.of("users", "private_profiles", "public_profiles");
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/StorageBasedVersioningTest.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/StorageBasedVersioningIT.java
similarity index 98%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/StorageBasedVersioningTest.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/StorageBasedVersioningIT.java
index f82960a16..5445cbaf3 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/StorageBasedVersioningTest.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/StorageBasedVersioningIT.java
@@ -25,7 +25,7 @@
import static org.junit.jupiter.api.Assertions.assertThrows;
@DisabledIfSystemProperty(named = WithStorageProvider.SKIP_CEPH, matches = "true")
-class StorageBasedVersioningTest extends BaseE2ETest {
+class StorageBasedVersioningIT extends BaseE2EIT {
private static final String FILE = "file.txt";
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/UserProfileWithUtf8Test.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/UserProfileWithUtf8IT.java
similarity index 98%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/UserProfileWithUtf8Test.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/UserProfileWithUtf8IT.java
index eebdc6f71..4a71a3cc1 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/UserProfileWithUtf8Test.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/UserProfileWithUtf8IT.java
@@ -32,7 +32,7 @@
import static de.adorsys.datasafe.types.api.shared.Dirs.computeRelativePreventingDoubleUrlEncode;
import static org.assertj.core.api.Assertions.assertThat;
-class UserProfileWithUtf8Test extends WithStorageProvider {
+class UserProfileWithUtf8IT extends WithStorageProvider {
private Path fsPath;
private Uri minioPath;
diff --git a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/VersionedDataTest.java b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/VersionedDataIT.java
similarity index 99%
rename from datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/VersionedDataTest.java
rename to datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/VersionedDataIT.java
index d331737e1..a4a583237 100644
--- a/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/VersionedDataTest.java
+++ b/datasafe-business/src/test/java/de/adorsys/datasafe/business/impl/e2e/VersionedDataIT.java
@@ -36,7 +36,7 @@
* Validates software versioned operations.
*/
@Slf4j
-public class VersionedDataTest extends BaseE2ETest {
+public class VersionedDataIT extends BaseE2EIT {
private static final String MESSAGE_ONE = "Hello here 1";
private static final String MESSAGE_TWO = "Hello here 2";
diff --git a/datasafe-cli/pom.xml b/datasafe-cli/pom.xml
index a185dc1ad..13134382c 100644
--- a/datasafe-cli/pom.xml
+++ b/datasafe-cli/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-cli
diff --git a/datasafe-directory/datasafe-directory-api/pom.xml b/datasafe-directory/datasafe-directory-api/pom.xml
index 64078b587..151e3b189 100644
--- a/datasafe-directory/datasafe-directory-api/pom.xml
+++ b/datasafe-directory/datasafe-directory-api/pom.xml
@@ -3,7 +3,7 @@
de.adorsys
datasafe-directory
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-directory-api
diff --git a/datasafe-directory/datasafe-directory-impl/pom.xml b/datasafe-directory/datasafe-directory-impl/pom.xml
index 8d01a516a..1cf886ad9 100644
--- a/datasafe-directory/datasafe-directory-impl/pom.xml
+++ b/datasafe-directory/datasafe-directory-impl/pom.xml
@@ -3,7 +3,7 @@
de.adorsys
datasafe-directory
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-directory-impl
diff --git a/datasafe-directory/pom.xml b/datasafe-directory/pom.xml
index 7bbf7574f..4c0fac14c 100644
--- a/datasafe-directory/pom.xml
+++ b/datasafe-directory/pom.xml
@@ -5,7 +5,7 @@
datasafe
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-encryption/datasafe-encryption-api/pom.xml b/datasafe-encryption/datasafe-encryption-api/pom.xml
index 4e453c981..59b38cfe2 100644
--- a/datasafe-encryption/datasafe-encryption-api/pom.xml
+++ b/datasafe-encryption/datasafe-encryption-api/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe-encryption
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-encryption-api
diff --git a/datasafe-encryption/datasafe-encryption-impl/pom.xml b/datasafe-encryption/datasafe-encryption-impl/pom.xml
index 7109cd9b4..dc95d9b60 100644
--- a/datasafe-encryption/datasafe-encryption-impl/pom.xml
+++ b/datasafe-encryption/datasafe-encryption-impl/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe-encryption
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-encryption-impl
@@ -98,29 +98,24 @@
test-jar
test
-
com.fasterxml.jackson.core
jackson-databind
- ${jackson-databind.version}
test
com.fasterxml.jackson.dataformat
jackson-dataformat-yaml
- ${jackson.version}
test
com.fasterxml.jackson.core
jackson-annotations
- ${jackson.version}
test
com.fasterxml.jackson.core
jackson-core
- ${jackson.version}
test
diff --git a/datasafe-encryption/pom.xml b/datasafe-encryption/pom.xml
index e8597d40f..b7ac67034 100644
--- a/datasafe-encryption/pom.xml
+++ b/datasafe-encryption/pom.xml
@@ -5,7 +5,7 @@
datasafe
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-examples/datasafe-examples-business/pom.xml b/datasafe-examples/datasafe-examples-business/pom.xml
index 6d9e1e396..af89b9596 100644
--- a/datasafe-examples/datasafe-examples-business/pom.xml
+++ b/datasafe-examples/datasafe-examples-business/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe-examples
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-examples-business
diff --git a/datasafe-examples/datasafe-examples-customize-dagger/pom.xml b/datasafe-examples/datasafe-examples-customize-dagger/pom.xml
index bd2050378..7a874ae12 100644
--- a/datasafe-examples/datasafe-examples-customize-dagger/pom.xml
+++ b/datasafe-examples/datasafe-examples-customize-dagger/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe-examples
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-examples-customize-dagger
diff --git a/datasafe-examples/datasafe-examples-multidfs/pom.xml b/datasafe-examples/datasafe-examples-multidfs/pom.xml
index 1693f8ab1..c6b349de3 100644
--- a/datasafe-examples/datasafe-examples-multidfs/pom.xml
+++ b/datasafe-examples/datasafe-examples-multidfs/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe-examples
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-examples-multidfs
diff --git a/datasafe-examples/datasafe-examples-multidfs/src/test/java/de/adorsys/datasafe/examples/business/s3/MultiDfsWithCredentialsExampleTest.java b/datasafe-examples/datasafe-examples-multidfs/src/test/java/de/adorsys/datasafe/examples/business/s3/MultiDfsWithCredentialsExampleIT.java
similarity index 99%
rename from datasafe-examples/datasafe-examples-multidfs/src/test/java/de/adorsys/datasafe/examples/business/s3/MultiDfsWithCredentialsExampleTest.java
rename to datasafe-examples/datasafe-examples-multidfs/src/test/java/de/adorsys/datasafe/examples/business/s3/MultiDfsWithCredentialsExampleIT.java
index cf779ff93..29b7e5f36 100644
--- a/datasafe-examples/datasafe-examples-multidfs/src/test/java/de/adorsys/datasafe/examples/business/s3/MultiDfsWithCredentialsExampleTest.java
+++ b/datasafe-examples/datasafe-examples-multidfs/src/test/java/de/adorsys/datasafe/examples/business/s3/MultiDfsWithCredentialsExampleIT.java
@@ -58,7 +58,7 @@
* filesBucketOne, filesBucketTwo.
*/
@Slf4j
-class MultiDfsWithCredentialsExampleTest {
+class MultiDfsWithCredentialsExampleIT{
private static final String REGION = "eu-central-1";
private static final ExecutorService EXECUTOR = ExecutorServiceUtil.submitterExecutesOnStarvationExecutingService(4, 4);
diff --git a/datasafe-examples/datasafe-examples-versioned-s3/pom.xml b/datasafe-examples/datasafe-examples-versioned-s3/pom.xml
index fe1bd76db..a9944fdbb 100644
--- a/datasafe-examples/datasafe-examples-versioned-s3/pom.xml
+++ b/datasafe-examples/datasafe-examples-versioned-s3/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe-examples
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-examples-versioned-s3
diff --git a/datasafe-examples/datasafe-examples-versioned-s3/src/test/java/de/adorsys/datasafe/examples/business/s3/BaseUserOperationsWithDefaultDatasafeOnVersionedStorageTest.java b/datasafe-examples/datasafe-examples-versioned-s3/src/test/java/de/adorsys/datasafe/examples/business/s3/BaseUserOperationsWithDefaultDatasafeOnVersionedStorageIT.java
similarity index 99%
rename from datasafe-examples/datasafe-examples-versioned-s3/src/test/java/de/adorsys/datasafe/examples/business/s3/BaseUserOperationsWithDefaultDatasafeOnVersionedStorageTest.java
rename to datasafe-examples/datasafe-examples-versioned-s3/src/test/java/de/adorsys/datasafe/examples/business/s3/BaseUserOperationsWithDefaultDatasafeOnVersionedStorageIT.java
index 0f41f74b9..c8429a2cb 100644
--- a/datasafe-examples/datasafe-examples-versioned-s3/src/test/java/de/adorsys/datasafe/examples/business/s3/BaseUserOperationsWithDefaultDatasafeOnVersionedStorageTest.java
+++ b/datasafe-examples/datasafe-examples-versioned-s3/src/test/java/de/adorsys/datasafe/examples/business/s3/BaseUserOperationsWithDefaultDatasafeOnVersionedStorageIT.java
@@ -43,7 +43,7 @@
*/
@Slf4j
@DisabledIfSystemProperty(named = "SKIP_CEPH", matches = "true")
-class BaseUserOperationsWithDefaultDatasafeOnVersionedStorageTest {
+class BaseUserOperationsWithDefaultDatasafeOnVersionedStorageIT{
private static final String MY_OWN_FILE_TXT = "my/own/file.txt";
diff --git a/datasafe-examples/pom.xml b/datasafe-examples/pom.xml
index 98d612712..94dea6288 100644
--- a/datasafe-examples/pom.xml
+++ b/datasafe-examples/pom.xml
@@ -5,7 +5,7 @@
datasafe
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-inbox/datasafe-inbox-api/pom.xml b/datasafe-inbox/datasafe-inbox-api/pom.xml
index bd7523ee2..a5f5d3603 100644
--- a/datasafe-inbox/datasafe-inbox-api/pom.xml
+++ b/datasafe-inbox/datasafe-inbox-api/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe-inbox
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-inbox-api
diff --git a/datasafe-inbox/datasafe-inbox-impl/pom.xml b/datasafe-inbox/datasafe-inbox-impl/pom.xml
index 19feb8c4d..fbc4773a9 100644
--- a/datasafe-inbox/datasafe-inbox-impl/pom.xml
+++ b/datasafe-inbox/datasafe-inbox-impl/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe-inbox
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-inbox-impl
diff --git a/datasafe-inbox/pom.xml b/datasafe-inbox/pom.xml
index 84bdb7ab9..53836fc16 100644
--- a/datasafe-inbox/pom.xml
+++ b/datasafe-inbox/pom.xml
@@ -5,7 +5,7 @@
datasafe
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-long-run-tests/README.md b/datasafe-long-run-tests/README.md
index d49af3632..64fd0dce8 100644
--- a/datasafe-long-run-tests/README.md
+++ b/datasafe-long-run-tests/README.md
@@ -2,7 +2,7 @@
### 1. Testing environment preparation
Datasafe throughput tests was run on different Amazon EC2 instances. On each instance after creation was installed JDK, maven and git. Then datasafe project was pulled and executed
-[RandomActionsOnDatasafeTest](datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnDatasafeTest.java) which uses one bucket. Test was launched with all combinations of 2, 4, 8 and 16 parallel threads and 100kb, 1mb and 10mb file sizes.
+[RandomActionsOnDatasafeIT](datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnDatasafeIT.java) which uses one bucket. Test was launched with all combinations of 2, 4, 8 and 16 parallel threads and 100kb, 1mb and 10mb file sizes.
#### Preparation commands for running test
@@ -87,29 +87,29 @@ Multibucket test is in [RandomActionsOnMultiBucketTest](datasafe-business-tests-
Example of raw test results:
```text
-07:57:55.523 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - ==== Statistics for AMAZON with 2 threads and 100 Kb filesize: ====
-07:57:55.532 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - WRITE : StatisticService.Percentiles(stat={50=35.0, 99=113.73, 90=79.0, 75=57.0, 95=87.65}, throughputPerThread=21.199480270806266)
-07:57:55.532 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - SHARE : StatisticService.Percentiles(stat={50=210.0, 99=537.75, 90=354.5, 75=299.5, 95=440.25}, throughputPerThread=4.598540145985401)
-07:57:55.532 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - LIST : StatisticService.Percentiles(stat={50=18.0, 99=45.39, 90=25.0, 75=21.0, 95=29.95}, throughputPerThread=53.27014218009479)
-07:57:55.532 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - DELETE : StatisticService.Percentiles(stat={50=17.0, 99=47.73, 90=26.0, 75=19.0, 95=35.65}, throughputPerThread=51.12889738382511)
-07:57:55.532 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - CREATE_USER : StatisticService.Percentiles(stat={50=397.0, 99=1020.61, 90=639.1, 75=552.0, 95=851.05}, throughputPerThread=2.0807324178110695)
-07:57:55.533 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - READ : StatisticService.Percentiles(stat={50=16.0, 99=51.09, 90=18.0, 75=17.0, 95=21.0}, throughputPerThread=59.33647388994688)
-
-07:59:13.117 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - ==== Statistics for AMAZON with 2 threads and 1024 Kb filesize: ====
-07:59:13.117 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - WRITE : StatisticService.Percentiles(stat={50=106.0, 99=168.82, 90=132.0, 75=116.0, 95=146.0}, throughputPerThread=9.077864651966383)
-07:59:13.117 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - SHARE : StatisticService.Percentiles(stat={50=470.5, 99=855.25, 90=747.5, 75=670.25, 95=783.25}, throughputPerThread=2.120855074903215)
-07:59:13.117 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - LIST : StatisticService.Percentiles(stat={50=16.0, 99=53.39, 90=23.0, 75=19.0, 95=25.0}, throughputPerThread=55.22256067603419)
-07:59:13.118 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - DELETE : StatisticService.Percentiles(stat={50=17.0, 99=61.46, 90=30.0, 75=20.0, 95=45.0}, throughputPerThread=49.51411383618695)
-07:59:13.118 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - CREATE_USER : StatisticService.Percentiles(stat={50=359.0, 99=552.8199999999999, 90=470.2, 75=421.75, 95=516.1}, throughputPerThread=2.632271650434325)
-07:59:13.118 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - READ : StatisticService.Percentiles(stat={50=45.0, 99=79.09, 90=50.0, 75=47.0, 95=57.0}, throughputPerThread=21.367984118390183)
-
-08:04:13.146 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - ==== Statistics for AMAZON with 2 threads and 10240 Kb filesize: ====
-08:04:13.147 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - WRITE : StatisticService.Percentiles(stat={50=511.0, 99=1052.67, 90=617.0, 75=540.75, 95=682.0}, throughputPerThread=1.7302486534758463)
-08:04:13.147 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - SHARE : StatisticService.Percentiles(stat={50=1503.5, 99=2321.5, 90=2135.5, 75=1822.0, 95=2188.5}, throughputPerThread=0.7149220110869652)
-08:04:13.147 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - LIST : StatisticService.Percentiles(stat={50=15.0, 99=51.39, 90=23.0, 75=18.0, 95=30.9}, throughputPerThread=57.84273363524084)
-08:04:13.147 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - DELETE : StatisticService.Percentiles(stat={50=21.0, 99=64.0, 90=36.3, 75=23.0, 95=48.65}, throughputPerThread=39.00483003736444)
-08:04:13.147 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - CREATE_USER : StatisticService.Percentiles(stat={50=414.0, 99=584.28, 90=496.8, 75=469.75, 95=545.4}, throughputPerThread=2.3832221163012393)
-08:04:13.147 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - READ : StatisticService.Percentiles(stat={50=319.0, 99=458.53, 90=362.0, 75=334.0, 95=390.45}, throughputPerThread=3.051153201906971)
+07:57:55.523 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - ==== Statistics for AMAZON with 2 threads and 100 Kb filesize: ====
+07:57:55.532 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - WRITE : StatisticService.Percentiles(stat={50=35.0, 99=113.73, 90=79.0, 75=57.0, 95=87.65}, throughputPerThread=21.199480270806266)
+07:57:55.532 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - SHARE : StatisticService.Percentiles(stat={50=210.0, 99=537.75, 90=354.5, 75=299.5, 95=440.25}, throughputPerThread=4.598540145985401)
+07:57:55.532 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - LIST : StatisticService.Percentiles(stat={50=18.0, 99=45.39, 90=25.0, 75=21.0, 95=29.95}, throughputPerThread=53.27014218009479)
+07:57:55.532 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - DELETE : StatisticService.Percentiles(stat={50=17.0, 99=47.73, 90=26.0, 75=19.0, 95=35.65}, throughputPerThread=51.12889738382511)
+07:57:55.532 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - CREATE_USER : StatisticService.Percentiles(stat={50=397.0, 99=1020.61, 90=639.1, 75=552.0, 95=851.05}, throughputPerThread=2.0807324178110695)
+07:57:55.533 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - READ : StatisticService.Percentiles(stat={50=16.0, 99=51.09, 90=18.0, 75=17.0, 95=21.0}, throughputPerThread=59.33647388994688)
+
+07:59:13.117 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - ==== Statistics for AMAZON with 2 threads and 1024 Kb filesize: ====
+07:59:13.117 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - WRITE : StatisticService.Percentiles(stat={50=106.0, 99=168.82, 90=132.0, 75=116.0, 95=146.0}, throughputPerThread=9.077864651966383)
+07:59:13.117 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - SHARE : StatisticService.Percentiles(stat={50=470.5, 99=855.25, 90=747.5, 75=670.25, 95=783.25}, throughputPerThread=2.120855074903215)
+07:59:13.117 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - LIST : StatisticService.Percentiles(stat={50=16.0, 99=53.39, 90=23.0, 75=19.0, 95=25.0}, throughputPerThread=55.22256067603419)
+07:59:13.118 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - DELETE : StatisticService.Percentiles(stat={50=17.0, 99=61.46, 90=30.0, 75=20.0, 95=45.0}, throughputPerThread=49.51411383618695)
+07:59:13.118 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - CREATE_USER : StatisticService.Percentiles(stat={50=359.0, 99=552.8199999999999, 90=470.2, 75=421.75, 95=516.1}, throughputPerThread=2.632271650434325)
+07:59:13.118 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - READ : StatisticService.Percentiles(stat={50=45.0, 99=79.09, 90=50.0, 75=47.0, 95=57.0}, throughputPerThread=21.367984118390183)
+
+08:04:13.146 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - ==== Statistics for AMAZON with 2 threads and 10240 Kb filesize: ====
+08:04:13.147 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - WRITE : StatisticService.Percentiles(stat={50=511.0, 99=1052.67, 90=617.0, 75=540.75, 95=682.0}, throughputPerThread=1.7302486534758463)
+08:04:13.147 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - SHARE : StatisticService.Percentiles(stat={50=1503.5, 99=2321.5, 90=2135.5, 75=1822.0, 95=2188.5}, throughputPerThread=0.7149220110869652)
+08:04:13.147 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - LIST : StatisticService.Percentiles(stat={50=15.0, 99=51.39, 90=23.0, 75=18.0, 95=30.9}, throughputPerThread=57.84273363524084)
+08:04:13.147 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - DELETE : StatisticService.Percentiles(stat={50=21.0, 99=64.0, 90=36.3, 75=23.0, 95=48.65}, throughputPerThread=39.00483003736444)
+08:04:13.147 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - CREATE_USER : StatisticService.Percentiles(stat={50=414.0, 99=584.28, 90=496.8, 75=469.75, 95=545.4}, throughputPerThread=2.3832221163012393)
+08:04:13.147 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - READ : StatisticService.Percentiles(stat={50=319.0, 99=458.53, 90=362.0, 75=334.0, 95=390.45}, throughputPerThread=3.051153201906971)
```
Then results was parsed and transformed with help of [parse_script.groovy](datasafe-business-tests-random-actions/parse_script.groovy) to suitable for charts builder view.
diff --git a/datasafe-long-run-tests/datasafe-business-tests-random-actions/README.md b/datasafe-long-run-tests/datasafe-business-tests-random-actions/README.md
index ca214bd03..03da14106 100644
--- a/datasafe-long-run-tests/datasafe-business-tests-random-actions/README.md
+++ b/datasafe-long-run-tests/datasafe-business-tests-random-actions/README.md
@@ -8,7 +8,7 @@ Tests can be disabled using (for performance reasons):
`DISABLE_RANDOM_ACTIONS_TEST` system property equal to `true`
Tests for Datasafe:
- - [RandomActionsOnDatasafeTest](src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnDatasafeTest.java)
+ - [RandomActionsOnDatasafeIT](src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnDatasafeIT.java)
Tests for Datasafe-wrapper:
- [RandomActionsOnSimpleDatasafeAdapterTest](src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnSimpleDatasafeAdapterTest.java)
@@ -47,13 +47,13 @@ This way, we achieve parallel execution of random actions and can calculate perf
These tests run on test plan matrix of (Content-size x Thread-count).
As the result they produce following output in logs:
```text
-12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - ==== Statistics for FILESYSTEM with 11 threads and 3 Mb filesize: ====
-12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - WRITE : StatisticService.Percentiles(stat={50=398.0, 99=629.78, 90=493.8, 75=436.0, 95=515.9}, throughputPerThread=2.4650780608052587)
-12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - LIST : StatisticService.Percentiles(stat={50=2.0, 99=12.0, 90=7.0, 75=4.0, 95=8.0}, throughputPerThread=389.06752411575565)
-12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - SHARE : StatisticService.Percentiles(stat={50=1987.5, 99=4022.18, 90=3323.7, 75=2448.0, 95=3456.65}, throughputPerThread=0.5068871369708885)
-12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - CREATE_USER : StatisticService.Percentiles(stat={50=461.0, 99=830.83, 90=658.3, 75=544.0, 95=754.15}, throughputPerThread=2.048340843916428)
-12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - READ : StatisticService.Percentiles(stat={50=511.0, 99=690.92, 90=602.6, 75=551.0, 95=646.0}, throughputPerThread=1.9656450727288677)
-12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeTest - DELETE : StatisticService.Percentiles(stat={50=3.0, 99=8.05, 90=4.0, 75=4.0, 95=5.0}, throughputPerThread=397.5903614457831)
+12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - ==== Statistics for FILESYSTEM with 11 threads and 3 Mb filesize: ====
+12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - WRITE : StatisticService.Percentiles(stat={50=398.0, 99=629.78, 90=493.8, 75=436.0, 95=515.9}, throughputPerThread=2.4650780608052587)
+12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - LIST : StatisticService.Percentiles(stat={50=2.0, 99=12.0, 90=7.0, 75=4.0, 95=8.0}, throughputPerThread=389.06752411575565)
+12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - SHARE : StatisticService.Percentiles(stat={50=1987.5, 99=4022.18, 90=3323.7, 75=2448.0, 95=3456.65}, throughputPerThread=0.5068871369708885)
+12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - CREATE_USER : StatisticService.Percentiles(stat={50=461.0, 99=830.83, 90=658.3, 75=544.0, 95=754.15}, throughputPerThread=2.048340843916428)
+12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - READ : StatisticService.Percentiles(stat={50=511.0, 99=690.92, 90=602.6, 75=551.0, 95=646.0}, throughputPerThread=1.9656450727288677)
+12:51:36.383 [main] INFO de.adorsys.datasafe.business.impl.e2e.randomactions.RandomActionsOnDatasafeIT - DELETE : StatisticService.Percentiles(stat={50=3.0, 99=8.05, 90=4.0, 75=4.0, 95=5.0}, throughputPerThread=397.5903614457831)
```
Where,
```text
diff --git a/datasafe-long-run-tests/datasafe-business-tests-random-actions/pom.xml b/datasafe-long-run-tests/datasafe-business-tests-random-actions/pom.xml
index 9fe35e5b0..a7f4bdd31 100644
--- a/datasafe-long-run-tests/datasafe-business-tests-random-actions/pom.xml
+++ b/datasafe-long-run-tests/datasafe-business-tests-random-actions/pom.xml
@@ -5,7 +5,7 @@
datasafe-long-run-tests
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnDatasafeTest.java b/datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnDatasafeIT.java
similarity index 97%
rename from datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnDatasafeTest.java
rename to datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnDatasafeIT.java
index 494329efe..c4f3a1575 100644
--- a/datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnDatasafeTest.java
+++ b/datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnDatasafeIT.java
@@ -23,7 +23,7 @@
*/
@Slf4j
@DisabledIfSystemProperty(named = DISABLE_RANDOM_ACTIONS_TEST, matches = "true")
-class RandomActionsOnDatasafeTest extends BaseRandomActions {
+class RandomActionsOnDatasafeIT extends BaseRandomActions {
@ParameterizedTest
@MethodSource("actionsOnStoragesAndThreadsAndFilesizes")
diff --git a/datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnMultiBucketTest.java b/datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnMultiBucketIT.java
similarity index 97%
rename from datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnMultiBucketTest.java
rename to datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnMultiBucketIT.java
index 940634947..d72ae3662 100644
--- a/datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnMultiBucketTest.java
+++ b/datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnMultiBucketIT.java
@@ -16,7 +16,7 @@
@Slf4j
@EnabledIfSystemProperty(named = ENABLE_MULTI_BUCKET_TEST, matches = "true")
-class RandomActionsOnMultiBucketTest extends BaseRandomActions {
+class RandomActionsOnMultiBucketIT extends BaseRandomActions {
@ParameterizedTest
@MethodSource("actionsOnStoragesAndThreadsAndFilesizes")
diff --git a/datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnSimpleDatasafeAdapterTest.java b/datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnSimpleDatasafeAdapterIT.java
similarity index 99%
rename from datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnSimpleDatasafeAdapterTest.java
rename to datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnSimpleDatasafeAdapterIT.java
index 3cc92af44..4e782034a 100644
--- a/datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnSimpleDatasafeAdapterTest.java
+++ b/datasafe-long-run-tests/datasafe-business-tests-random-actions/src/test/java/de/adorsys/datasafe/business/impl/e2e/randomactions/RandomActionsOnSimpleDatasafeAdapterIT.java
@@ -68,7 +68,7 @@
* Imitates close-to-production SimpleDatasafeAdapter deployment.
*/
@DisabledIfSystemProperty(named = DISABLE_RANDOM_ACTIONS_TEST, matches = "true")
-class RandomActionsOnSimpleDatasafeAdapterTest extends BaseRandomActions {
+class RandomActionsOnSimpleDatasafeAdapterIT extends BaseRandomActions {
@ParameterizedTest
@MethodSource("actionsOnStoragesAndThreadsAndFilesizes")
diff --git a/datasafe-long-run-tests/pom.xml b/datasafe-long-run-tests/pom.xml
index 71593ffc8..92351d15c 100644
--- a/datasafe-long-run-tests/pom.xml
+++ b/datasafe-long-run-tests/pom.xml
@@ -5,7 +5,7 @@
datasafe
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-metainfo/datasafe-metainfo-version-api/pom.xml b/datasafe-metainfo/datasafe-metainfo-version-api/pom.xml
index e0bc9924f..f8bfb9be9 100644
--- a/datasafe-metainfo/datasafe-metainfo-version-api/pom.xml
+++ b/datasafe-metainfo/datasafe-metainfo-version-api/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe-metainfo
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-metainfo-version-api
diff --git a/datasafe-metainfo/datasafe-metainfo-version-impl/pom.xml b/datasafe-metainfo/datasafe-metainfo-version-impl/pom.xml
index d07acfb1f..edd675f42 100644
--- a/datasafe-metainfo/datasafe-metainfo-version-impl/pom.xml
+++ b/datasafe-metainfo/datasafe-metainfo-version-impl/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe-metainfo
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-metainfo-version-impl
diff --git a/datasafe-metainfo/pom.xml b/datasafe-metainfo/pom.xml
index 9811a2401..73a68b219 100644
--- a/datasafe-metainfo/pom.xml
+++ b/datasafe-metainfo/pom.xml
@@ -5,7 +5,7 @@
datasafe
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-privatestore/datasafe-privatestore-api/pom.xml b/datasafe-privatestore/datasafe-privatestore-api/pom.xml
index 662e128c0..a010a6239 100644
--- a/datasafe-privatestore/datasafe-privatestore-api/pom.xml
+++ b/datasafe-privatestore/datasafe-privatestore-api/pom.xml
@@ -5,7 +5,7 @@
datasafe-privatestore
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-privatestore/datasafe-privatestore-impl/pom.xml b/datasafe-privatestore/datasafe-privatestore-impl/pom.xml
index 1ba432ee7..4c16ea2cf 100644
--- a/datasafe-privatestore/datasafe-privatestore-impl/pom.xml
+++ b/datasafe-privatestore/datasafe-privatestore-impl/pom.xml
@@ -5,7 +5,7 @@
datasafe-privatestore
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-privatestore/pom.xml b/datasafe-privatestore/pom.xml
index 56ac365c5..95e360d08 100644
--- a/datasafe-privatestore/pom.xml
+++ b/datasafe-privatestore/pom.xml
@@ -5,7 +5,7 @@
datasafe
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-rest-impl/datasafe.postman_collection.json b/datasafe-rest-impl/datasafe.postman_collection.json
index 524b1dcfb..e17f46f1d 100644
--- a/datasafe-rest-impl/datasafe.postman_collection.json
+++ b/datasafe-rest-impl/datasafe.postman_collection.json
@@ -1,232 +1,432 @@
{
"info": {
- "_postman_id": "54d63510-b402-4a2c-b518-50e79a04d569",
+ "_postman_id": "db124a60-8dee-44e6-9bf0-97d18e0a9c14",
"name": "Datasafe",
- "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
+ "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
+ "_exporter_id": "18419826"
},
"item": [
{
- "name": "authenticate",
- "request": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "name": "Content-Type",
- "value": "application/json",
- "type": "text"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\"userName\":\"username\",\"password\":\"password\"}"
- },
- "url": {
- "raw": "{{host}}/api/authenticate",
- "host": [
- "{{host}}"
+ "name": "user",
+ "item": [
+ {
+ "name": "authenticate",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})",
+ "",
+ "pm.collectionVariables.set(\"token\", pm.response.headers.get('token'))",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
],
- "path": [
- "api",
- "authenticate"
- ]
- }
- },
- "response": []
- },
- {
- "name": "create user",
- "request": {
- "method": "PUT",
- "header": [
- {
- "key": "Content-Type",
- "name": "Content-Type",
- "value": "application/json",
- "type": "text"
+ "request": {
+ "auth": {
+ "type": "noauth"
+ },
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text",
+ "disabled": true
+ },
+ {
+ "key": "Origin",
+ "value": "http://localhost:8080",
+ "type": "text",
+ "disabled": true
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\"userName\":\"username\",\"password\":\"password\"}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "{{host}}/api/authenticate",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "api",
+ "authenticate"
+ ]
+ }
},
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n\t\"userName\":\"ver\",\n\t\"password\":\"ver\"\n}"
+ "response": []
},
- "url": {
- "raw": "{{host}}/user",
- "host": [
- "{{host}}"
+ {
+ "name": "delete user Alice",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
],
- "path": [
- "user"
- ]
- }
- },
- "response": []
- },
- {
- "name": "delete user",
- "request": {
- "method": "DELETE",
- "header": [
- {
- "key": "Content-Type",
- "name": "Content-Type",
- "value": "application/json",
- "type": "text"
- },
- {
- "key": "user",
- "value": "Max",
- "type": "text"
- },
- {
- "key": "password",
- "value": "123",
- "type": "text"
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "user",
+ "value": "Alice",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{host}}/user",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "user"
+ ]
+ }
},
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- }
- ],
- "url": {
- "raw": "{{host}}/user/",
- "host": [
- "{{host}}"
+ "response": []
+ },
+ {
+ "name": "delete user Bob",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
],
- "path": [
- "user",
- ""
- ]
- }
- },
- "response": []
- },
- {
- "name": "store document",
- "request": {
- "method": "PUT",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/octet-stream",
- "type": "text"
- },
- {
- "key": "user",
- "value": "ver",
- "type": "text"
- },
- {
- "key": "password",
- "value": "ver",
- "type": "text"
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "user",
+ "value": "Bob",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{host}}/user",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "user"
+ ]
+ }
},
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- }
- ],
- "body": {
- "mode": "file",
- "file": {
- "src": "/Users/maxim/tx/store/a.txt"
- }
+ "response": []
},
- "url": {
- "raw": "{{host}}/document/test11.txt",
- "host": [
- "{{host}}"
+ {
+ "name": "create user Alice",
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
],
- "path": [
- "document",
- "test11.txt"
- ]
- }
- },
- "response": []
- },
- {
- "name": "list documents",
- "request": {
- "method": "GET",
- "header": [
- {
- "key": "user",
- "value": "vvv",
- "type": "text"
- },
- {
- "key": "password",
- "value": "vvv",
- "type": "text"
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"userName\":\"Alice\",\n\t\"password\":\"123\"\n}"
+ },
+ "url": {
+ "raw": "{{host}}/user",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "user"
+ ]
+ }
},
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- }
- ],
- "url": {
- "raw": "{{host}}/documents/",
- "host": [
- "{{host}}"
+ "response": []
+ },
+ {
+ "name": "create user Bob",
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "exec": [
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
],
- "path": [
- "documents",
- ""
- ]
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "name": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n\t\"userName\":\"Bob\",\n\t\"password\":\"123\"\n}"
+ },
+ "url": {
+ "raw": "{{host}}/user",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "user"
+ ]
+ }
+ },
+ "response": []
}
- },
- "response": []
+ ]
},
{
- "name": "read document",
- "request": {
- "method": "GET",
- "header": [
- {
- "key": "Accept",
- "value": "application/octet-stream",
- "type": "text"
- },
- {
- "key": "user",
- "value": "ver",
- "type": "text"
- },
- {
- "key": "password",
- "value": "ver",
- "type": "text"
+ "name": "private",
+ "item": [
+ {
+ "name": "store document",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "multipart/form-data",
+ "type": "text"
+ },
+ {
+ "key": "user",
+ "value": "Alice",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "formdata",
+ "formdata": [
+ {
+ "key": "file",
+ "type": "file",
+ "src": "postman-cloud:///1eeb44d1-546d-4870-ae7e-c2f44aeee23e"
+ }
+ ]
+ },
+ "url": {
+ "raw": "{{host}}/document/test.txt",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "document",
+ "test.txt"
+ ]
+ }
},
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- }
- ],
- "url": {
- "raw": "{{host}}/document/test11.txt",
- "host": [
- "{{host}}"
+ "response": []
+ },
+ {
+ "name": "list documents",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})",
+ "",
+ "var rb = JSON.parse(responseBody);",
+ "",
+ "pm.test(\"response contains one file\", () => {",
+ " pm.expect(rb.length).to.eql(1);",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
],
- "path": [
- "document",
- "test11.txt"
- ]
- }
- },
- "response": [
+ "request": {
+ "auth": {
+ "type": "noauth"
+ },
+ "method": "GET",
+ "header": [
+ {
+ "key": "user",
+ "value": "Alice",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{host}}/documents",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "documents"
+ ]
+ }
+ },
+ "response": []
+ },
{
"name": "read document",
- "originalRequest": {
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})",
+ "",
+ "pm.test(\"file content is read\", () => {",
+ " pm.expect(responseBody).to.eql(\"hello world!\");",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
"method": "GET",
"header": [
{
@@ -236,455 +436,730 @@
},
{
"key": "user",
- "value": "ddd",
+ "value": "Alice",
"type": "text"
},
{
"key": "password",
- "value": "ddd",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
"type": "text"
}
],
"url": {
- "raw": "{{host}}/document/deep/path/test.txt",
+ "raw": "{{host}}/document/test.txt",
"host": [
"{{host}}"
],
"path": [
"document",
- "deep",
- "path",
"test.txt"
]
}
},
- "status": "OK",
- "code": 200,
- "_postman_previewlanguage": "plain",
- "header": [
- {
- "key": "Transfer-Encoding",
- "value": "chunked"
- },
+ "response": []
+ },
+ {
+ "name": "delete document",
+ "event": [
{
- "key": "Date",
- "value": "Fri, 24 May 2019 11:50:22 GMT"
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
}
],
- "cookie": [],
- "body": "test"
- }
- ]
- },
- {
- "name": "delete document",
- "request": {
- "method": "DELETE",
- "header": [
- {
- "key": "user",
- "value": "iii",
- "type": "text"
- },
- {
- "key": "password",
- "value": "iii",
- "type": "text"
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "user",
+ "value": "Alice",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{host}}/document/test.txt",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "document",
+ "test.txt"
+ ]
+ }
},
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- }
- ],
- "url": {
- "raw": "{{host}}/document/deep/path/test2.txt",
- "host": [
- "{{host}}"
- ],
- "path": [
- "document",
- "deep",
- "path",
- "test2.txt"
- ]
+ "response": []
}
- },
- "response": []
+ ]
},
{
- "name": "send to inbox",
- "request": {
- "method": "PUT",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/octet-stream",
- "type": "text"
- },
- {
- "key": "user",
- "value": "ver",
- "type": "text"
- },
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- }
- ],
- "body": {
- "mode": "file",
- "file": {
- "src": "/Users/maxim/test.txt"
- }
- },
- "url": {
- "raw": "{{host}}/inbox/test2.txt",
- "host": [
- "{{host}}"
+ "name": "versioned",
+ "item": [
+ {
+ "name": "versioned write",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
],
- "path": [
- "inbox",
- "test2.txt"
- ]
- }
- },
- "response": []
- },
- {
- "name": "inbox read",
- "request": {
- "method": "GET",
- "header": [
- {
- "key": "user",
- "value": "ver",
- "type": "text"
- },
- {
- "key": "password",
- "value": "ver",
- "type": "text"
- },
- {
- "key": "Accept",
- "value": "application/octet-stream",
- "type": "text"
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "multipart/form-data",
+ "type": "text"
+ },
+ {
+ "key": "user",
+ "value": "Alice",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "formdata",
+ "formdata": [
+ {
+ "key": "file",
+ "type": "file",
+ "src": "postman-cloud:///1eeb44d1-546d-4870-ae7e-c2f44aeee23e"
+ }
+ ]
+ },
+ "url": {
+ "raw": "{{host}}/versioned/test.txt",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "versioned",
+ "test.txt"
+ ]
+ }
},
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- }
- ],
- "url": {
- "raw": "{{host}}/inbox/test2.txt",
- "host": [
- "{{host}}"
+ "response": []
+ },
+ {
+ "name": "versioned write 2",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
],
- "path": [
- "inbox",
- "test2.txt"
- ]
- }
- },
- "response": []
- },
- {
- "name": "inbox delete",
- "request": {
- "method": "DELETE",
- "header": [
- {
- "key": "user",
- "value": "iii",
- "type": "text"
- },
- {
- "key": "password",
- "value": "iii",
- "type": "text"
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "multipart/form-data",
+ "type": "text"
+ },
+ {
+ "key": "user",
+ "value": "Alice",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "formdata",
+ "formdata": [
+ {
+ "key": "file",
+ "type": "file",
+ "src": "postman-cloud:///1eeb4517-de20-4860-b895-814e47ad657f"
+ }
+ ]
+ },
+ "url": {
+ "raw": "{{host}}/versioned/test.txt",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "versioned",
+ "test.txt"
+ ]
+ }
},
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- }
- ],
- "url": {
- "raw": "{{host}}/inbox/test2.txt",
- "host": [
- "{{host}}"
+ "response": []
+ },
+ {
+ "name": "versioned list (last version)",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})",
+ "",
+ "var rb = JSON.parse(responseBody);",
+ "",
+ "pm.test(\"response contains one file\", () => {",
+ " pm.expect(rb.length).to.eql(1);",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
],
- "path": [
- "inbox",
- "test2.txt"
- ]
- }
- },
- "response": []
- },
- {
- "name": "inbox list",
- "request": {
- "method": "GET",
- "header": [
- {
- "key": "user",
- "value": "ver",
- "type": "text"
- },
- {
- "key": "password",
- "value": "ver",
- "type": "text"
- },
- {
- "key": "Accept",
- "value": "application/json",
- "type": "text"
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "user",
+ "value": "Alice",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ },
+ {
+ "key": "Accept",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{host}}/versioned/test.txt",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "versioned",
+ "test.txt"
+ ]
+ }
},
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- }
- ],
- "url": {
- "raw": "{{host}}/inbox/",
- "host": [
- "{{host}}"
+ "response": []
+ },
+ {
+ "name": "versions list",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})",
+ "",
+ "var rb = JSON.parse(responseBody);",
+ "",
+ "pm.test(\"response contains one file\", () => {",
+ " pm.expect(rb.length).to.eql(2);",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
],
- "path": [
- "inbox",
- ""
- ]
- }
- },
- "response": []
- },
- {
- "name": "version list",
- "request": {
- "method": "GET",
- "header": [
- {
- "key": "user",
- "type": "text",
- "value": "ver"
- },
- {
- "key": "password",
- "type": "text",
- "value": "ver"
- },
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- },
- {
- "key": "Accept",
- "value": "application/json",
- "type": "text"
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "user",
+ "type": "text",
+ "value": "Alice"
+ },
+ {
+ "key": "password",
+ "type": "text",
+ "value": "123"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ },
+ {
+ "key": "Accept",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{host}}/versions/list/test.txt",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "versions",
+ "list",
+ "test.txt"
+ ]
+ }
},
- {
- "key": "Content-Type",
- "value": "application/json",
- "type": "text"
- }
- ],
- "url": {
- "raw": "{{host}}/versions/list/",
- "host": [
- "{{host}}"
+ "response": []
+ },
+ {
+ "name": "versioned read (last version)",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})",
+ "",
+ "pm.test(\"file content is read\", () => {",
+ " pm.expect(responseBody).to.eql(\"yet another file\");",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
],
- "path": [
- "versions",
- "list",
- ""
- ]
- }
- },
- "response": []
- },
- {
- "name": "versioned read",
- "request": {
- "method": "GET",
- "header": [
- {
- "key": "user",
- "value": "ver",
- "type": "text"
- },
- {
- "key": "password",
- "value": "ver",
- "type": "text"
- },
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- },
- {
- "key": "Accept",
- "value": "application/octet-stream",
- "type": "text"
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "user",
+ "value": "Alice",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ },
+ {
+ "key": "Accept",
+ "value": "application/octet-stream",
+ "type": "text"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{host}}/versioned/test.txt",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "versioned",
+ "test.txt"
+ ]
+ }
},
- {
- "key": "Content-Type",
- "value": "application/json",
- "type": "text"
- }
- ],
- "url": {
- "raw": "{{host}}/versioned/test10.txt",
- "host": [
- "{{host}}"
+ "response": []
+ },
+ {
+ "name": "versioned delete",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
],
- "path": [
- "versioned",
- "test10.txt"
- ]
- }
- },
- "response": []
- },
- {
- "name": "versioned delete",
- "request": {
- "method": "DELETE",
- "header": [
- {
- "key": "user",
- "value": "ver",
- "type": "text"
- },
- {
- "key": "password",
- "value": "ver",
- "type": "text"
- },
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- },
- {
- "key": "Accept",
- "value": "application/json",
- "type": "text"
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "user",
+ "value": "Alice",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ },
+ {
+ "key": "Accept",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{host}}/versioned/test.txt",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "versioned",
+ "test.txt"
+ ]
+ }
},
- {
- "key": "Content-Type",
- "value": "application/json",
- "type": "text"
- }
- ],
- "url": {
- "raw": "{{host}}/versioned/test4.txt",
- "host": [
- "{{host}}"
- ],
- "path": [
- "versioned",
- "test4.txt"
- ]
+ "response": []
}
- },
- "response": []
+ ]
},
{
- "name": "versioned write",
- "request": {
- "method": "PUT",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/octet-stream",
- "type": "text"
+ "name": "inbox",
+ "item": [
+ {
+ "name": "send to inbox",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "user",
+ "value": "Alice",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ },
+ {
+ "key": "recipients",
+ "value": "Bob",
+ "type": "text"
+ }
+ ],
+ "body": {
+ "mode": "formdata",
+ "formdata": [
+ {
+ "key": "file",
+ "type": "file",
+ "src": "postman-cloud:///1eeb44d1-546d-4870-ae7e-c2f44aeee23e"
+ }
+ ]
+ },
+ "url": {
+ "raw": "{{host}}/inbox/document/test.txt",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "inbox",
+ "document",
+ "test.txt"
+ ]
+ }
},
- {
- "key": "user",
- "value": "ver",
- "type": "text"
+ "response": []
+ },
+ {
+ "name": "inbox list",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})",
+ "",
+ "var rb = JSON.parse(responseBody);",
+ "",
+ "pm.test(\"response contains one file\", () => {",
+ " pm.expect(rb.length).to.eql(1);",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "user",
+ "value": "Bob",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "Accept",
+ "value": "application/json",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{host}}/inbox/documents",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "inbox",
+ "documents"
+ ]
+ }
},
- {
- "key": "password",
- "value": "ver",
- "type": "text"
+ "response": []
+ },
+ {
+ "name": "inbox read",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})",
+ "",
+ "pm.test(\"file content is read\", () => {",
+ " pm.expect(responseBody).to.eql(\"hello world!\");",
+ "})"
+ ],
+ "type": "text/javascript"
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "user",
+ "value": "Bob",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "Accept",
+ "value": "application/octet-stream",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{host}}/inbox/document/test.txt",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "inbox",
+ "document",
+ "test.txt"
+ ]
+ }
},
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- }
- ],
- "body": {
- "mode": "file",
- "file": {
- "src": "/Users/maxim/parallel_transactions_merge_logic_fix.patch"
- }
+ "response": []
},
- "url": {
- "raw": "{{host}}/versioned/test10.txt",
- "host": [
- "{{host}}"
+ {
+ "name": "inbox delete",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "exec": [
+ "pm.test('Success', function() {",
+ " pm.response.to.have.status(200)",
+ "})",
+ ""
+ ],
+ "type": "text/javascript"
+ }
+ }
],
- "path": [
- "versioned",
- "test10.txt"
- ]
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "user",
+ "value": "Bob",
+ "type": "text"
+ },
+ {
+ "key": "password",
+ "value": "123",
+ "type": "text"
+ },
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "text"
+ }
+ ],
+ "url": {
+ "raw": "{{host}}/inbox/document/test.txt",
+ "host": [
+ "{{host}}"
+ ],
+ "path": [
+ "inbox",
+ "document",
+ "test.txt"
+ ]
+ }
+ },
+ "response": []
}
- },
- "response": []
+ ]
+ }
+ ],
+ "auth": {
+ "type": "bearer",
+ "bearer": [
+ {
+ "key": "token",
+ "value": "{{token}}",
+ "type": "string"
+ }
+ ]
+ },
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
},
{
- "name": "versioned list",
- "request": {
- "method": "GET",
- "header": [
- {
- "key": "user",
- "value": "ver",
- "type": "text"
- },
- {
- "key": "password",
- "value": "ver",
- "type": "text"
- },
- {
- "key": "token",
- "value": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InVzZXJuYW1lIiwiZXhwIjoxNTYxMzA0MTA4LCJyb2wiOlsiUk9MRV9VU0VSIl19.Ungu5hob8mbwb7GfWfvqj1VsrNNv1pN6UEMJYJHSAHBicRlsYVbRAE7Ju_N1nnjdoZ6TSs4hireff92SkXvesQ",
- "type": "text"
- },
- {
- "key": "Accept",
- "value": "application/json",
- "type": "text"
- },
- {
- "key": "Content-Type",
- "value": "application/json",
- "type": "text"
- }
- ],
- "url": {
- "raw": "{{host}}/versioned/",
- "host": [
- "{{host}}"
- ],
- "path": [
- "versioned",
- ""
- ]
- }
- },
- "response": []
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ ""
+ ]
+ }
+ }
+ ],
+ "variable": [
+ {
+ "key": "host",
+ "value": "http://localhost:8080",
+ "type": "string"
+ },
+ {
+ "key": "token",
+ "value": ""
}
]
}
\ No newline at end of file
diff --git a/datasafe-rest-impl/pom.xml b/datasafe-rest-impl/pom.xml
index 80a61146d..528c6c630 100644
--- a/datasafe-rest-impl/pom.xml
+++ b/datasafe-rest-impl/pom.xml
@@ -5,23 +5,22 @@
datasafe
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-rest-impl
- 2.0.2
datasafe-rest-impl
Spring Boot DataSafe Application
3.1.2
2.9.2
- 0.10.5
+ 0.12.4
3.0.0
2.2.4
1.6.0
3.0.2
- 2.3.0
+ 2.3.0
@@ -66,11 +65,6 @@
spring-boot-starter-web
${spring-boot.version}
-
- org.yaml
- snakeyaml
- 2.1
-
org.springframework.boot
spring-boot-starter-actuator
@@ -88,20 +82,11 @@
${spring-boot.version}
true
+
jakarta.validation
jakarta.validation-api
- ${jakarta.validation-api.varsion}
-
-
- com.fasterxml.jackson.core
- jackson-databind
- ${jackson-databind.version}
-
-
- com.fasterxml.jackson.core
- jackson-core
- ${jackson.version}
+ ${jakarta.validation-api.version}
io.jsonwebtoken
diff --git a/datasafe-rest-impl/src/main/java/de/adorsys/datasafe/rest/impl/security/JwtAuthorizationFilter.java b/datasafe-rest-impl/src/main/java/de/adorsys/datasafe/rest/impl/security/JwtAuthorizationFilter.java
index 592f16087..a444f0423 100644
--- a/datasafe-rest-impl/src/main/java/de/adorsys/datasafe/rest/impl/security/JwtAuthorizationFilter.java
+++ b/datasafe-rest-impl/src/main/java/de/adorsys/datasafe/rest/impl/security/JwtAuthorizationFilter.java
@@ -7,6 +7,7 @@
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.MalformedJwtException;
import io.jsonwebtoken.UnsupportedJwtException;
+import io.jsonwebtoken.security.Keys;
import io.jsonwebtoken.security.SignatureException;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
@@ -19,9 +20,9 @@
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.web.authentication.www.BasicAuthenticationFilter;
+import javax.crypto.SecretKey;
import java.io.IOException;
import java.util.List;
-import java.util.stream.Collectors;
@Slf4j
public class JwtAuthorizationFilter extends BasicAuthenticationFilter {
@@ -74,19 +75,20 @@ private UsernamePasswordAuthenticationToken getAuthentication(HttpServletRequest
private UsernamePasswordAuthenticationToken tryAuthenticate(String token) {
byte[] signingKey = securityProperties.getJwtSecret().getBytes();
+ SecretKey secret = Keys.hmacShaKeyFor(signingKey);
Jws parsedToken = Jwts.parser()
- .setSigningKey(signingKey)
- .parseClaimsJws(token.replace(SecurityConstants.TOKEN_PREFIX, ""));
+ .verifyWith(secret).build()
+ .parseSignedClaims(token.replace(SecurityConstants.TOKEN_PREFIX, ""));
String username = parsedToken
- .getBody()
+ .getPayload()
.getSubject();
- List authorities = ((List>) parsedToken.getBody()
+ List authorities = ((List>) parsedToken.getPayload()
.get(SecurityConstants.ROLES_NAME)).stream()
.map(authority -> new SimpleGrantedAuthority((String) authority))
- .collect(Collectors.toList());
+ .toList();
if (!Strings.isNullOrEmpty(username)) {
return new UsernamePasswordAuthenticationToken(username, null, authorities);
diff --git a/datasafe-rest-impl/src/main/java/de/adorsys/datasafe/rest/impl/security/SecurityConfig.java b/datasafe-rest-impl/src/main/java/de/adorsys/datasafe/rest/impl/security/SecurityConfig.java
index f38cd7aae..b6bc4e98a 100644
--- a/datasafe-rest-impl/src/main/java/de/adorsys/datasafe/rest/impl/security/SecurityConfig.java
+++ b/datasafe-rest-impl/src/main/java/de/adorsys/datasafe/rest/impl/security/SecurityConfig.java
@@ -26,10 +26,13 @@
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.servlet.handler.HandlerMappingIntrospector;
+import java.util.Arrays;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import static de.adorsys.datasafe.rest.impl.security.SecurityConstants.TOKEN_HEADER;
+import static org.springframework.security.config.Customizer.withDefaults;
@Configuration
@EnableWebSecurity
@@ -44,7 +47,7 @@ public class SecurityConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http, MvcRequestMatcher.Builder mvc, AuthenticationManager authenticationManager) throws Exception {
- MvcRequestMatcher[] SWAGGER_RESOURCES = {
+ MvcRequestMatcher[] swaggerResources = {
mvc.pattern("/v2/api-docs"),
mvc.pattern("/configuration/ui"),
mvc.pattern("/swagger-resources"),
@@ -54,11 +57,10 @@ public SecurityFilterChain filterChain(HttpSecurity http, MvcRequestMatcher.Buil
mvc.pattern("/swagger-resources/configuration/ui"),
mvc.pattern("/swagger-ui.html")
};
-
- http.cors(AbstractHttpConfigurer::disable)
+ http.cors(withDefaults())
.csrf(AbstractHttpConfigurer::disable)
.authorizeHttpRequests(authz -> authz
- .requestMatchers(SWAGGER_RESOURCES).permitAll()
+ .requestMatchers(swaggerResources).permitAll()
.requestMatchers(mvc.pattern("/static/**")).permitAll()
.requestMatchers(mvc.pattern(SecurityConstants.AUTH_LOGIN_URL)).permitAll()
.requestMatchers(mvc.pattern(HttpMethod.GET, "/**")).permitAll()
@@ -77,8 +79,8 @@ MvcRequestMatcher.Builder mvc(HandlerMappingIntrospector introspector) {
}
@Bean
- public InMemoryUserDetailsManager userDetailsService(PasswordEncoder passwordEncoder) {
- UserDetails user = User.withDefaultPasswordEncoder()
+ public InMemoryUserDetailsManager userDetailsService(PasswordEncoder encoder) {
+ UserDetails user = User.builder().passwordEncoder(encoder::encode)
.username(securityProperties.getDefaultUser())
.password(securityProperties.getDefaultPassword())
.authorities("ROLE_USER")
@@ -101,19 +103,15 @@ public PasswordEncoder passwordEncoder() {
}
@Bean
- public CorsConfigurationSource corsConfigurationSource() {
+ CorsConfigurationSource corsConfigurationSource() {
+ CorsConfiguration configuration = new CorsConfiguration();
+ configuration.setAllowedOrigins(List.of("http://localhost:4200"));
+ configuration.setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "DELETE"));
+ configuration.setAllowedHeaders(List.of("*"));
+ configuration.setAllowCredentials(true);
+ configuration.addExposedHeader(TOKEN_HEADER);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
-
- CorsConfiguration authConfig = new CorsConfiguration().applyPermitDefaultValues();
- authConfig.addExposedHeader(TOKEN_HEADER);
- source.registerCorsConfiguration(SecurityConstants.AUTH_LOGIN_URL, authConfig);
-
- CorsConfiguration globalConfig = new CorsConfiguration().applyPermitDefaultValues();
- globalConfig.addAllowedMethod(HttpMethod.OPTIONS);
- globalConfig.addAllowedMethod(HttpMethod.PUT);
- globalConfig.addAllowedMethod(HttpMethod.DELETE);
- source.registerCorsConfiguration("/**", globalConfig);
-
+ source.registerCorsConfiguration("/**", configuration);
return source;
}
diff --git a/datasafe-runtime-delegate/pom.xml b/datasafe-runtime-delegate/pom.xml
index f1e6e5d9c..e099bed80 100644
--- a/datasafe-runtime-delegate/pom.xml
+++ b/datasafe-runtime-delegate/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-runtime-delegate
diff --git a/datasafe-simple-adapter/datasafe-simple-adapter-api/pom.xml b/datasafe-simple-adapter/datasafe-simple-adapter-api/pom.xml
index af5ce5a90..3d5755e2a 100644
--- a/datasafe-simple-adapter/datasafe-simple-adapter-api/pom.xml
+++ b/datasafe-simple-adapter/datasafe-simple-adapter-api/pom.xml
@@ -5,7 +5,7 @@
datasafe-simple-adapter
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-simple-adapter/datasafe-simple-adapter-impl/pom.xml b/datasafe-simple-adapter/datasafe-simple-adapter-impl/pom.xml
index d9cf19796..af98b24da 100644
--- a/datasafe-simple-adapter/datasafe-simple-adapter-impl/pom.xml
+++ b/datasafe-simple-adapter/datasafe-simple-adapter-impl/pom.xml
@@ -5,7 +5,7 @@
datasafe-simple-adapter
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-simple-adapter/datasafe-simple-adapter-spring/pom.xml b/datasafe-simple-adapter/datasafe-simple-adapter-spring/pom.xml
index 4e1543476..853af91b2 100644
--- a/datasafe-simple-adapter/datasafe-simple-adapter-spring/pom.xml
+++ b/datasafe-simple-adapter/datasafe-simple-adapter-spring/pom.xml
@@ -5,7 +5,7 @@
datasafe-simple-adapter
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionForFilesystemTest.java b/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionForFilesystemTest.java
index 44b1c37ca..f6f6277bf 100644
--- a/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionForFilesystemTest.java
+++ b/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionForFilesystemTest.java
@@ -6,7 +6,7 @@
import org.springframework.test.context.ActiveProfiles;
@ActiveProfiles("filesystem")
-public class InjectionForFilesystemTest extends InjectionTest {
+public class InjectionForFilesystemTest extends InjectionIT {
@Autowired
SimpleDatasafeService datasafeService;
diff --git a/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionForMinioTest.java b/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionForMinioIT.java
similarity index 97%
rename from datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionForMinioTest.java
rename to datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionForMinioIT.java
index 0a4f14085..92dac7b94 100644
--- a/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionForMinioTest.java
+++ b/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionForMinioIT.java
@@ -19,7 +19,7 @@
@Slf4j
@ActiveProfiles("minio")
@UseDatasafeSpringConfiguration
-public class InjectionForMinioTest extends InjectionTest {
+public class InjectionForMinioIT extends InjectionIT {
@Autowired
private SpringDFSCredentialProperties dfsCredentialProperties;
diff --git a/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionTest.java b/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionIT.java
similarity index 99%
rename from datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionTest.java
rename to datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionIT.java
index e10f39431..76b2c0505 100644
--- a/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionTest.java
+++ b/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionIT.java
@@ -47,7 +47,7 @@
@ContextConfiguration
@SpringBootConfiguration
@UseDatasafeSpringConfiguration
-public class InjectionTest extends WithStorageProvider {
+public class InjectionIT extends WithStorageProvider {
public void testCreateUser(SimpleDatasafeService datasafeService) {
assertThat(datasafeService).isNotNull();
diff --git a/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionWithoutPathEncryptionForFilesystemTest.java b/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionWithoutPathEncryptionForFilesystemIT.java
similarity index 95%
rename from datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionWithoutPathEncryptionForFilesystemTest.java
rename to datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionWithoutPathEncryptionForFilesystemIT.java
index 52b6636ea..f7ab930ac 100644
--- a/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionWithoutPathEncryptionForFilesystemTest.java
+++ b/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionWithoutPathEncryptionForFilesystemIT.java
@@ -18,7 +18,7 @@
@Slf4j
@ActiveProfiles("fs-withoutPathEncryption")
@UseDatasafeSpringConfiguration
-public class InjectionWithoutPathEncryptionForFilesystemTest extends InjectionTest {
+public class InjectionWithoutPathEncryptionForFilesystemIT extends InjectionIT {
@Autowired
private SpringDFSCredentialProperties dfsCredentialProperties;
diff --git a/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionWithoutPathEncryptionForMinioTest.java b/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionWithoutPathEncryptionForMinioIT.java
similarity index 96%
rename from datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionWithoutPathEncryptionForMinioTest.java
rename to datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionWithoutPathEncryptionForMinioIT.java
index 023f93952..e97aad298 100644
--- a/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionWithoutPathEncryptionForMinioTest.java
+++ b/datasafe-simple-adapter/datasafe-simple-adapter-spring/src/test/java/de/adorsys/datasafe/simple/adapter/spring/InjectionWithoutPathEncryptionForMinioIT.java
@@ -19,7 +19,7 @@
@Slf4j
@ActiveProfiles("minio-withoutPathEncryption")
@UseDatasafeSpringConfiguration
-public class InjectionWithoutPathEncryptionForMinioTest extends InjectionTest {
+public class InjectionWithoutPathEncryptionForMinioIT extends InjectionIT {
@Autowired
private SpringDFSCredentialProperties dfsCredentialProperties;
diff --git a/datasafe-simple-adapter/pom.xml b/datasafe-simple-adapter/pom.xml
index 1db1b4c3c..02e9a2f82 100644
--- a/datasafe-simple-adapter/pom.xml
+++ b/datasafe-simple-adapter/pom.xml
@@ -5,7 +5,7 @@
datasafe
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-storage/datasafe-storage-api/pom.xml b/datasafe-storage/datasafe-storage-api/pom.xml
index 640b8bb51..17e0d4f93 100644
--- a/datasafe-storage/datasafe-storage-api/pom.xml
+++ b/datasafe-storage/datasafe-storage-api/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe-storage
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-storage-api
diff --git a/datasafe-storage/datasafe-storage-impl-db/pom.xml b/datasafe-storage/datasafe-storage-impl-db/pom.xml
index b54ca648e..e408805e0 100644
--- a/datasafe-storage/datasafe-storage-impl-db/pom.xml
+++ b/datasafe-storage/datasafe-storage-impl-db/pom.xml
@@ -5,7 +5,7 @@
datasafe-storage
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-storage/datasafe-storage-impl-fs/pom.xml b/datasafe-storage/datasafe-storage-impl-fs/pom.xml
index 5c38d1b0a..48588ce8e 100644
--- a/datasafe-storage/datasafe-storage-impl-fs/pom.xml
+++ b/datasafe-storage/datasafe-storage-impl-fs/pom.xml
@@ -5,7 +5,7 @@
datasafe-storage
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-storage/datasafe-storage-impl-s3/pom.xml b/datasafe-storage/datasafe-storage-impl-s3/pom.xml
index e1ee5a8c4..4f16cd52d 100644
--- a/datasafe-storage/datasafe-storage-impl-s3/pom.xml
+++ b/datasafe-storage/datasafe-storage-impl-s3/pom.xml
@@ -5,7 +5,7 @@
datasafe-storage
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/MultipartUploadS3StorageOutputStreamTest.java b/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/MultipartUploadS3StorageOutputStreamIT.java
similarity index 99%
rename from datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/MultipartUploadS3StorageOutputStreamTest.java
rename to datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/MultipartUploadS3StorageOutputStreamIT.java
index bdbae0d63..df98f6d62 100644
--- a/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/MultipartUploadS3StorageOutputStreamTest.java
+++ b/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/MultipartUploadS3StorageOutputStreamIT.java
@@ -30,7 +30,7 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-class MultipartUploadS3StorageOutputStreamTest extends BaseMockitoTest {
+class MultipartUploadS3StorageOutputStreamIT extends BaseMockitoTest {
private final byte[] shortChunk = randomBytes(100);
private final byte[] exactOneMultipartChunk = randomBytes(BUFFER_SIZE);
diff --git a/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/MultipartUploadS3SystemStorageServiceTest.java b/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/MultipartUploadS3SystemStorageServiceIT.java
similarity index 98%
rename from datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/MultipartUploadS3SystemStorageServiceTest.java
rename to datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/MultipartUploadS3SystemStorageServiceIT.java
index e8b52f3a8..f0b82c537 100644
--- a/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/MultipartUploadS3SystemStorageServiceTest.java
+++ b/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/MultipartUploadS3SystemStorageServiceIT.java
@@ -28,7 +28,7 @@
import static org.assertj.core.api.Assertions.fail;
@Slf4j
-public class MultipartUploadS3SystemStorageServiceTest extends S3SystemStorageServiceTest {
+public class MultipartUploadS3SystemStorageServiceIT extends S3SystemStorageServiceIT {
@TempDir
protected Path tempDir;
diff --git a/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/S3SystemStorageServiceTest.java b/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/S3SystemStorageServiceIT.java
similarity index 99%
rename from datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/S3SystemStorageServiceTest.java
rename to datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/S3SystemStorageServiceIT.java
index cb808a6d0..ee66097af 100644
--- a/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/S3SystemStorageServiceTest.java
+++ b/datasafe-storage/datasafe-storage-impl-s3/src/test/java/de/adorsys/datasafe/storage/impl/s3/S3SystemStorageServiceIT.java
@@ -34,7 +34,7 @@
@Slf4j
//TODO: Extract stuff related container start/stop/clear to separate class. Used in datasafe-business and in datasafe-storage-impl-s3
-class S3SystemStorageServiceTest extends BaseMockitoTest {
+class S3SystemStorageServiceIT extends BaseMockitoTest {
private static final String FILE = "file";
private static final String MESSAGE = "hello";
diff --git a/datasafe-storage/pom.xml b/datasafe-storage/pom.xml
index 70881ff1e..505e45a0f 100644
--- a/datasafe-storage/pom.xml
+++ b/datasafe-storage/pom.xml
@@ -5,7 +5,7 @@
datasafe
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-test-storages/pom.xml b/datasafe-test-storages/pom.xml
index e1fa0d67b..5b3956ce8 100644
--- a/datasafe-test-storages/pom.xml
+++ b/datasafe-test-storages/pom.xml
@@ -5,7 +5,7 @@
datasafe
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
4.0.0
diff --git a/datasafe-types-api/pom.xml b/datasafe-types-api/pom.xml
index 97ceaa5d9..1ede06a31 100644
--- a/datasafe-types-api/pom.xml
+++ b/datasafe-types-api/pom.xml
@@ -5,7 +5,7 @@
de.adorsys
datasafe
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe-types-api
diff --git a/frontend/README.md b/frontend/README.md
index ca8275e3a..174a51035 100644
--- a/frontend/README.md
+++ b/frontend/README.md
@@ -3,6 +3,8 @@
Use `npm run-script ng:serve:web` for local development
Use `npm run-script start` for electron development
+Use `ng serve -c dev` if you need to debug
+
### Notes
- API url and credentials are provided by env.js file (API_URL, API_USERNAME, API_PASSWORD).
Credentials (API_USERNAME, API_PASSWORD) are intended for local use only.
diff --git a/frontend/datasafe-ui/angular.json b/frontend/datasafe-ui/angular.json
index 544edcee8..bb53be0a1 100755
--- a/frontend/datasafe-ui/angular.json
+++ b/frontend/datasafe-ui/angular.json
@@ -40,7 +40,6 @@
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
- "extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
@@ -53,6 +52,17 @@
"maximumError": "5mb"
}
]
+ },
+ "dev": {
+ "fileReplacements": [
+ {
+ "replace": "src/environments/environment.ts",
+ "with": "src/environments/environment.dev.ts"
+ }
+ ],
+ "optimization": false,
+ "extractLicenses": false,
+ "sourceMap": true
}
}
},
@@ -64,6 +74,9 @@
"configurations": {
"production": {
"browserTarget": "my-app:build:production"
+ },
+ "dev": {
+ "browserTarget": "my-app:build:dev"
}
}
},
diff --git a/frontend/datasafe-ui/main.js b/frontend/datasafe-ui/main.js
index 49966638b..c6746dce1 100644
--- a/frontend/datasafe-ui/main.js
+++ b/frontend/datasafe-ui/main.js
@@ -21,7 +21,7 @@ function createWindow() {
});
if (serve) {
require('electron-reload')(__dirname, {
- electron: require(__dirname + "/node_modules/electron")
+ electron: require("".concat(__dirname, "/node_modules/electron"))
});
win.loadURL('http://localhost:4200');
}
diff --git a/frontend/datasafe-ui/main.js.map b/frontend/datasafe-ui/main.js.map
deleted file mode 100644
index f967e92ff..000000000
--- a/frontend/datasafe-ui/main.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":";;AAAA,qCAAsD;AACtD,2BAA6B;AAC7B,yBAA2B;AAE3B,IAAI,GAAG,EAAE,KAAK,CAAC;AACf,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,KAAK,SAAS,EAAjB,CAAiB,CAAC,CAAC;AAE5C,SAAS,YAAY;IAEnB,IAAM,cAAc,GAAG,iBAAM,CAAC;IAC9B,IAAM,IAAI,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC;IAE7D,6BAA6B;IAC7B,GAAG,GAAG,IAAI,wBAAa,CAAC;QACtB,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,cAAc,EAAE;YACd,eAAe,EAAE,IAAI;SACtB;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE;QACT,OAAO,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE;YACpC,QAAQ,EAAE,OAAO,CAAI,SAAS,2BAAwB,CAAC;SACxD,CAAC,CAAC;QACH,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;KACtC;SAAM;QACL,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YACrB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC;YACjD,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,CAAC;KACL;IAED,IAAI,KAAK,EAAE;QACT,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;KAChC;IAED,qCAAqC;IACrC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE;QACf,gEAAgE;QAChE,mEAAmE;QACnE,oDAAoD;QACpD,GAAG,GAAG,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;AAEL,CAAC;AAED,IAAI;IAEF,wDAAwD;IACxD,yDAAyD;IACzD,sDAAsD;IACtD,cAAG,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE9B,oCAAoC;IACpC,cAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE;QAC1B,2DAA2D;QAC3D,8DAA8D;QAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACjC,cAAG,CAAC,IAAI,EAAE,CAAC;SACZ;IACH,CAAC,CAAC,CAAC;IAEH,cAAG,CAAC,EAAE,CAAC,UAAU,EAAE;QACjB,gEAAgE;QAChE,4DAA4D;QAC5D,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,YAAY,EAAE,CAAC;SAChB;IACH,CAAC,CAAC,CAAC;CAEJ;AAAC,OAAO,CAAC,EAAE;IACV,cAAc;IACd,WAAW;CACZ"}
\ No newline at end of file
diff --git a/frontend/datasafe-ui/package.json b/frontend/datasafe-ui/package.json
index 3195a72de..7994278ae 100644
--- a/frontend/datasafe-ui/package.json
+++ b/frontend/datasafe-ui/package.json
@@ -4,7 +4,7 @@
"description": "datasafe-ui with web and electron interface",
"keywords": [
"angular",
- "angular 8",
+ "angular 15",
"electron",
"typescript",
"sass"
@@ -53,7 +53,7 @@
"@types/node": "20.8.0",
"codelyzer": "6.0.2",
"core-js": "3.33.0",
- "electron": "26.2.4",
+ "electron": "^26.2.4",
"electron-builder": "24.7.0",
"electron-reload": "1.5.0",
"hammerjs": "2.0.8",
@@ -75,7 +75,7 @@
"wait-on": "7.0.1",
"web-animations-js": "2.3.2",
"webdriver-manager": "13.0.2",
- "zone.js": "0.14.0"
+ "zone.js": "0.13.0"
},
"engines": {
"node": ">=18.10.0"
diff --git a/frontend/datasafe-ui/src/app/app.component.ts b/frontend/datasafe-ui/src/app/app.component.ts
index 788f93502..852e4d829 100644
--- a/frontend/datasafe-ui/src/app/app.component.ts
+++ b/frontend/datasafe-ui/src/app/app.component.ts
@@ -1,5 +1,5 @@
import {Component, OnInit} from '@angular/core';
-import {ErrorStateMatcher} from "@angular/material";
+import {ErrorStateMatcher} from "@angular/material/core";
import {FormControl, FormGroupDirective, NgForm} from "@angular/forms";
export class Env {
diff --git a/frontend/datasafe-ui/src/app/component/filetree/filetree.component.ts b/frontend/datasafe-ui/src/app/component/filetree/filetree.component.ts
index 57aee9256..9269168d4 100644
--- a/frontend/datasafe-ui/src/app/component/filetree/filetree.component.ts
+++ b/frontend/datasafe-ui/src/app/component/filetree/filetree.component.ts
@@ -7,7 +7,7 @@ import {ApiService} from "../../service/api/api.service";
import {CredentialsService} from "../../service/credentials/credentials.service";
import {Router} from "@angular/router";
import {ErrorMessageUtil} from "../../app.component";
-import {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from "@angular/material";
+import {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from "@angular/material/dialog";
class UserFileSystem {
@@ -39,6 +39,7 @@ class UserFileSystem {
var fullPath = "";
var folder = "";
+ path = (path.startsWith('/')) ? path.substring(1) : path;
path.split("/").forEach(segment => {
fullPath += segment;
fullPath += (fullPath === path ? "" : "/");
@@ -302,7 +303,7 @@ export class FiletreeComponent {
this.error = '';
this.removePathFromUiCreatedFolders(path);
this.api.deleteDocument(path, this.creds.getCredentialsForApi())
- .then(res => this.loadTree())
+ .then(_ => this.loadTree())
.catch(err => this.error = 'Delete failed: ' + ErrorMessageUtil.extract(err));
}
@@ -316,7 +317,7 @@ export class FiletreeComponent {
uploadFile(event) {
this.error = '';
this.api.uploadDocument(event.target.files[0], event.target.files[0].name, this.creds.getCredentialsForApi())
- .then(res => this.loadTree())
+ .then(_ => this.loadTree())
.catch(err => {
this.error = 'Upload failed: ' + ErrorMessageUtil.extract(err);
});
@@ -328,7 +329,7 @@ export class FiletreeComponent {
event.currentTarget.files[0],
event.currentTarget.name + event.currentTarget.files[0].name,
this.creds.getCredentialsForApi())
- .then(res => this.loadTree())
+ .then(_ => this.loadTree())
.catch(err => {
this.error = 'Upload failed: ' + ErrorMessageUtil.extract(err);
});
diff --git a/frontend/datasafe-ui/src/app/component/login/login.component.ts b/frontend/datasafe-ui/src/app/component/login/login.component.ts
index f943deeff..b2c947f34 100644
--- a/frontend/datasafe-ui/src/app/component/login/login.component.ts
+++ b/frontend/datasafe-ui/src/app/component/login/login.component.ts
@@ -3,7 +3,7 @@ import {Router} from '@angular/router';
import {FormBuilder, FormControl, Validators} from '@angular/forms';
import {CredentialsService} from '../../service/credentials/credentials.service';
import {Env, FieldErrorStateMatcher} from '../../app.component';
-import {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material';
+import {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';
export interface ApiConfigData {
apiUrl: string;
diff --git a/frontend/datasafe-ui/src/app/component/register/register.component.ts b/frontend/datasafe-ui/src/app/component/register/register.component.ts
index 4aff54c12..4c5542fe3 100644
--- a/frontend/datasafe-ui/src/app/component/register/register.component.ts
+++ b/frontend/datasafe-ui/src/app/component/register/register.component.ts
@@ -1,14 +1,14 @@
import {Component, OnInit} from '@angular/core';
-import {FormBuilder, FormControl, FormGroup, Validators} from "@angular/forms";
-import {Router} from "@angular/router";
-import {ApiService} from "../../service/api/api.service";
-import {CredentialsService} from "../../service/credentials/credentials.service";
-import {ErrorMessageUtil, FieldErrorStateMatcher, ParentOrFieldErrorStateMatcher} from "../../app.component";
+import {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';
+import {Router} from '@angular/router';
+import {ApiService} from '../../service/api/api.service';
+import {CredentialsService} from '../../service/credentials/credentials.service';
+import {ErrorMessageUtil, FieldErrorStateMatcher, ParentOrFieldErrorStateMatcher} from '../../app.component';
class PasswordsMatchControl extends FormControl {
constructor(private hidden: boolean) {
- super('', [])
+ super('', []);
}
get Hidden(): boolean {
@@ -31,6 +31,10 @@ class PasswordsMatchControl extends FormControl {
})
export class RegisterComponent implements OnInit {
+ constructor(public router: Router, private api: ApiService, private fb: FormBuilder,
+ private creds: CredentialsService) {
+ }
+
userNameControl = new FormControl('', [
Validators.required,
Validators.minLength(3)
@@ -53,8 +57,12 @@ export class RegisterComponent implements OnInit {
fieldMatcher = new FieldErrorStateMatcher();
parentOrFieldMatcher = new ParentOrFieldErrorStateMatcher();
- constructor(public router: Router, private api: ApiService, private fb: FormBuilder,
- private creds: CredentialsService) {
+ private static checkPasswords(group: FormGroup) { // here we have the 'passwords' group
+ const matchControl = group.controls.matchPasswords;
+ const pass = group.controls.passwords.value;
+ const confirmPass = matchControl.value;
+
+ return (matchControl.Hidden || pass === confirmPass) ? null : {notSame: true}
}
ngOnInit() {
@@ -62,22 +70,14 @@ export class RegisterComponent implements OnInit {
public handleCreateUserClick() {
if (!this.registerForm.valid) {
- return
+ return;
}
this.api.createUser(this.userNameControl.value, this.passwordControl.value)
.then(res => {
this.creds.setCredentials(this.userNameControl.value, this.passwordControl.value);
- this.router.navigate(['/user'])
+ this.router.navigate(['/user']);
})
.catch(error => this.registerForm.setErrors({'createFailed': ErrorMessageUtil.extract(error)}));
}
-
- private static checkPasswords(group: FormGroup) { // here we have the 'passwords' group
- let matchControl = group.controls.matchPasswords;
- let pass = group.controls.passwords.value;
- let confirmPass = matchControl.value;
-
- return (matchControl.Hidden || pass === confirmPass) ? null : {notSame: true}
- }
}
diff --git a/frontend/datasafe-ui/src/app/polyfills.ts b/frontend/datasafe-ui/src/app/polyfills.ts
index 5134b24e9..203549750 100755
--- a/frontend/datasafe-ui/src/app/polyfills.ts
+++ b/frontend/datasafe-ui/src/app/polyfills.ts
@@ -1,5 +1,4 @@
-import 'core-js/es6/reflect';
-import 'core-js/es7/reflect';
+import 'core-js/features/reflect';
import 'zone.js/dist/zone';
import 'hammerjs';
import 'web-animations-js';
\ No newline at end of file
diff --git a/last-module-codecoverage-check/pom.xml b/last-module-codecoverage-check/pom.xml
index fd80ffd30..fdaeb0053 100644
--- a/last-module-codecoverage-check/pom.xml
+++ b/last-module-codecoverage-check/pom.xml
@@ -5,8 +5,9 @@
datasafe
de.adorsys
- 2.0.2
+ 2.0.2-SNAPSHOT
+
4.0.0
last-module-codecoverage-check
diff --git a/pom.xml b/pom.xml
index 0eeb0d03d..16be9735c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
de.adorsys
datasafe
- 2.0.2
+ 2.0.2-SNAPSHOT
datasafe
Datasafe
https://github.com/adorsys/datasafe
@@ -73,37 +73,32 @@
none
src/main/java
src/test/java
-
-
- ${basedir}/../../target/jacoco.exec
- ${basedir}/../target/jacoco-e2e.exec
-
19.2.0
- 3.11.0
+ 3.12.1
17
17
- 3.6.0
+ 3.6.1
1.18.30
2.8.9
- 2.46.1
+ 2.50
32.1.1-jre
4.0.3
5.10.0
3.12.2
5.5.0
3.1.2
- 1.21
+ 1.26.0
UTF-8
false
1.18.3
- 0.8.10
+ 0.8.11
2.5
2.0.7
9.44.0.Final
1.18.20.0
3.0.0
1.0.2
- 1.12.402
+ 1.12.646
3.0.0
1
1.9.0
@@ -117,9 +112,8 @@
6.0.11
3.1.2
1.4.4
- 2.12.7
- 2.12.7.1
- 0.0.9
+ 2.16.1
+ 0.0.11-SNAPSHOT
2.1.1
2.3.1
2.8.1
@@ -339,6 +333,27 @@
jaxb-api
${jaxb-api.version}
+
+ com.fasterxml.jackson.core
+ jackson-core
+ ${jackson.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+ ${jackson.version}
+
+
+ com.fasterxml.jackson.dataformat
+ jackson-dataformat-yaml
+ ${jackson.version}
+ test
+
@@ -387,6 +402,7 @@
+ org.apache.maven.plugins
maven-dependency-plugin
${maven.dependency.plugin.version}
@@ -519,6 +535,7 @@
org.apache.maven.plugins
maven-compiler-plugin
+ ${maven.compiler.plugin.version}
@@ -586,8 +603,6 @@
sonatype
https://oss.sonatype.org/
true
- true
- 30
@@ -608,11 +623,6 @@
maven-gpg-plugin
${maven-gpg-plugin.version}
- opensource@adorsys.de
-
- --pinentry-mode
- loopback
-
@@ -621,12 +631,6 @@
sign
-
-
- --pinentry-mode
- loopback
-
-
@@ -716,8 +720,37 @@
+
+ IT
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ ${surefire.version}
+
+ false
+
+ **/*Test
+ **/*IT
+
+
+
+
+
+
+
+
+ sonatype
+ https://oss.sonatype.org/content/repositories/snapshots
+
+ true
+
+
+
+
sonatype
diff --git a/scripts/mvn_deploy.sh b/scripts/mvn_deploy.sh
new file mode 100755
index 000000000..dbf870f1f
--- /dev/null
+++ b/scripts/mvn_deploy.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+set -e
+
+echo "$GPG_SECRET_KEY" | base64 --decode | $GPG_EXECUTABLE --import --no-tty --batch --yes || true
+echo "$GPG_OWNERTRUST" | base64 --decode | $GPG_EXECUTABLE --import-ownertrust --no-tty --batch --yes || true
+
+mvn clean deploy -ntp --settings scripts/settings.xml gpg:sign -Prelease -DskipTests -U || exit 1
\ No newline at end of file
diff --git a/.travis/settings.xml b/scripts/settings.xml
similarity index 100%
rename from .travis/settings.xml
rename to scripts/settings.xml