diff --git a/.drone.yml b/.drone.yml
index d629a12..cc57352 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -25,7 +25,7 @@ steps:
- name: setup-vault
image: alpine:latest
environment:
- VAULT_VERSION: 1.11.2
+ VAULT_VERSION: 1.12.0
commands:
- wget -q -O vault_$${VAULT_VERSION}_linux_amd64.zip https://releases.hashicorp.com/vault/$${VAULT_VERSION}/vault_$${VAULT_VERSION}_linux_amd64.zip
- wget -q -O - https://releases.hashicorp.com/vault/$${VAULT_VERSION}/vault_$${VAULT_VERSION}_SHA256SUMS | grep linux_amd64 | sha256sum -c
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 8b5f93f..82b30f0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -6,10 +6,10 @@ jobs:
strategy:
matrix:
jdk: [ 11, 17, 18 ]
- vault: [ '1.11.2' ]
+ vault: [ '1.12.0' ]
include:
- jdk: 17
- vault: '1.11.2'
+ vault: '1.12.0'
analysis: true
steps:
- name: Checkout
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4ea5454..285dffa 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+## unreleased
+
+### Test
+* Tested against Vault 1.12.0
+* Disable AppID tests for Vault 1.12 and above (auth method removed)
+
+
## 1.1.1 (2022-08-29)
### Dependencies
diff --git a/README.md b/README.md
index 7209340..48340e8 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,7 @@ Java Vault Connector is a connector library for [Vault](https://www.vaultproject
* SQL secret handling
* KV v1 and v2 support
* Connector Factory with builder pattern
-* Tested against Vault 1.11.2
+* Tested against Vault 1.12.0
## Maven Artifact
diff --git a/pom.xml b/pom.xml
index 30a9cf9..051f991 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
de.stklcode.jvault
jvault-connector
- 1.1.1
+ 1.1.2-SNAPSHOT
jar
diff --git a/src/test/java/de/stklcode/jvault/connector/HTTPVaultConnectorIT.java b/src/test/java/de/stklcode/jvault/connector/HTTPVaultConnectorIT.java
index 0e729fe..a7b9d15 100644
--- a/src/test/java/de/stklcode/jvault/connector/HTTPVaultConnectorIT.java
+++ b/src/test/java/de/stklcode/jvault/connector/HTTPVaultConnectorIT.java
@@ -25,6 +25,7 @@ import de.stklcode.jvault.connector.model.response.*;
import de.stklcode.jvault.connector.test.Credentials;
import de.stklcode.jvault.connector.test.VaultConfiguration;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.condition.EnabledIf;
import org.junit.jupiter.api.io.TempDir;
import java.io.*;
@@ -50,7 +51,7 @@ import static org.junit.jupiter.api.Assumptions.assumeTrue;
* @since 0.1
*/
class HTTPVaultConnectorIT {
- private static String VAULT_VERSION = "1.11.2"; // The vault version this test is supposed to run against.
+ private static String VAULT_VERSION = "1.12.0"; // The vault version this test is supposed to run against.
private static final String KEY1 = "E38bkCm0VhUvpdCKGQpcohhD9XmcHJ/2hreOSY019Lho";
private static final String KEY2 = "O5OHwDleY3IiPdgw61cgHlhsrEm6tVJkrxhF6QAnILd1";
private static final String KEY3 = "mw7Bm3nbt/UWa/juDjjL2EPQ04kiJ0saC5JEXwJvXYsB";
@@ -58,6 +59,7 @@ class HTTPVaultConnectorIT {
private static final String USER_VALID = "validUser";
private static final String PASS_VALID = "validPass";
+ private static boolean legacy;
private Process vaultProcess;
private VaultConnector connector;
@@ -68,6 +70,9 @@ class HTTPVaultConnectorIT {
VAULT_VERSION = System.getenv("VAULT_VERSION");
System.out.println("Vault version set to " + VAULT_VERSION);
}
+ if (compareVersions(VAULT_VERSION, "1.12.0") < 0) {
+ legacy = true;
+ }
}
/**
@@ -547,6 +552,8 @@ class HTTPVaultConnectorIT {
@Nested
@DisplayName("App-ID Tests")
+ @EnabledIf(value = "de.stklcode.jvault.connector.HTTPVaultConnectorIT#isLegacy")
+ @SuppressWarnings("deprecation")
class AppIdTests {
private static final String APP_ID = "152AEA38-85FB-47A8-9CBD-612D645BFACA";
private static final String USER_ID = "5ADF8218-D7FB-4089-9E38-287465DBF37E";
@@ -557,7 +564,6 @@ class HTTPVaultConnectorIT {
@Test
@Order(10)
@DisplayName("Authenticate with App-ID")
- @SuppressWarnings("deprecation")
void authAppIdTest() {
// Try unauthorized access first.
assumeFalse(connector.isAuthorized());
@@ -580,7 +586,6 @@ class HTTPVaultConnectorIT {
@Test
@Order(20)
@DisplayName("Register App-ID")
- @SuppressWarnings("deprecation")
void registerAppIdTest() {
// Authorize.
authRoot();
@@ -1074,8 +1079,13 @@ class HTTPVaultConnectorIT {
() -> connector.getAuthBackends(),
"Could not list supported auth backends"
);
- assertEquals(4, supportedBackends.size());
- assertTrue(supportedBackends.containsAll(List.of(AuthBackend.TOKEN, AuthBackend.USERPASS, AuthBackend.APPID, AuthBackend.APPROLE)));
+ if (legacy) {
+ assertEquals(4, supportedBackends.size());
+ assertTrue(supportedBackends.containsAll(List.of(AuthBackend.TOKEN, AuthBackend.USERPASS, AuthBackend.APPID, AuthBackend.APPROLE)));
+ } else {
+ assertEquals(3, supportedBackends.size());
+ assertTrue(supportedBackends.containsAll(List.of(AuthBackend.TOKEN, AuthBackend.USERPASS, AuthBackend.APPROLE)));
+ }
}
/**
@@ -1201,7 +1211,11 @@ class HTTPVaultConnectorIT {
*/
private VaultConfiguration initializeVault(File dir, boolean tls) throws IllegalStateException, IOException {
File dataDir = new File(dir, "data");
- copyDirectory(new File(getClass().getResource("/data_dir").getPath()), dataDir);
+ if (legacy) {
+ copyDirectory(new File(getClass().getResource("/data_dir_legacy").getPath()), dataDir);
+ } else {
+ copyDirectory(new File(getClass().getResource("/data_dir").getPath()), dataDir);
+ }
// Generate vault local unencrypted configuration.
VaultConfiguration config = new VaultConfiguration()
@@ -1295,4 +1309,35 @@ class HTTPVaultConnectorIT {
th.printStackTrace(new PrintWriter(sw, true));
return sw.getBuffer().toString();
}
+
+ /**
+ * Compare two version strings.
+ *
+ * @param version1 Version 1
+ * @param version2 Version 2
+ * @return negative value if version 1 is smaller than version2, positive value of version 1 is greater, 0 if equal
+ */
+ private static int compareVersions(String version1, String version2) {
+ int comparisonResult = 0;
+
+ String[] version1Splits = version1.split("\\.");
+ String[] version2Splits = version2.split("\\.");
+ int maxLengthOfVersionSplits = Math.max(version1Splits.length, version2Splits.length);
+
+ for (int i = 0; i < maxLengthOfVersionSplits; i++) {
+ Integer v1 = i < version1Splits.length ? Integer.parseInt(version1Splits[i]) : 0;
+ Integer v2 = i < version2Splits.length ? Integer.parseInt(version2Splits[i]) : 0;
+ int compare = v1.compareTo(v2);
+ if (compare != 0) {
+ comparisonResult = compare;
+ break;
+ }
+ }
+
+ return comparisonResult;
+ }
+
+ private static boolean isLegacy() {
+ return legacy;
+ }
}
diff --git a/src/test/resources/data_dir/core/_auth b/src/test/resources/data_dir/core/_auth
index f7a668c..cfbc790 100644
--- a/src/test/resources/data_dir/core/_auth
+++ b/src/test/resources/data_dir/core/_auth
@@ -1 +1 @@
-{"Value":"AAAAAQKHd7fFuNKfj/RnIQoxQEOTorNNl1NfcVtynLwYvtvZGDvhAO34YmOFKJSQVSiT4Js08ik48DWWnZHCZzAyMlK0HqNGYQRzCkuHkzYpH0uLrTcddXLuKyc7j6IiRTl3qYb1pzdlTzDtlwsi4J7s+7orETS146yY/GnGPWM/Tmet7p5qOECRq7m04gBX0pnwZl12iRqWG4aHHY5D4aFp9KjKUBKCIhz2Tb9wcSKV/Aa/ct1d0K0k8pyu1r1OkaJqCQXQeIaJR/WBMECR4omezvg7IGCoBIkMjwFR1urSaB0xNdgk+ByZE0C5zeDfmVRylYlypPAlIBrGL/Q/d6+NWiiOzXdoQoqAa/Pyg7e2gClsKDBFDvSL1QVBdsnBIskDeig2t46Ew5qM00wY58BWlUxqjlCgsNm3nPHtWpc6+XiR4ZkEZ9VeEIQhwC/R+NxS+QCDKeuSfyZM3OqQBwOx22mTL0i86YzlUph0alBmDF1b1FkDbg46MSWTANrkov1LPDnOvvNet7pb0L6exN5Q+HKitmxn36E0KAiqj1hEaHMZF6Pe+IIScLPClgPNeMkZWLeD5kvLv9kfObTYneHVHqj8O9jGtk03T4vOoaUNJY9U0irBGzlV+GkneJUgBL1QBspfK4GvFvUrd0Ds/teayJba8HDxlpCEWr6h062BXsNPg5gUn4H/uvginsFng02M8IyrDA1QOb4XS1zdfrvq"}
+{"Value":"AAAAAQK788ueZMqWkxK0+QrdrSU6/fJE0BHpMFCmXuZch21YdFNQSxZwgbTTH6uAyzxlEpHvAa4v9ScNyYXqRCLFK4X0DtDmpheIr/Ow6BPU8yxNglfI+qW5SKZKeYAYMHal0jX1MYsaIdYp8LJm52VMa+CdjTRx1J7ZhrNqiNHXbVJr6uOM+FDbGU4W8LyDy1ZhBKo17fwMnOycl5vBHu7b964iVHAIDkZHBq/4N1R/w7Sne7K/JvNPfuBNd1evRSErRNJRPp4DEkpK2v8lgIAXFjemE+aOysWYjGh/XVi8EzP09K1QFwfsvgIeIX0XVP4wMNn2xHedDyWQV55FJbD1LcrM2Q54HAHM0YGItI+MwPPzmP06Udoq3PZNRMWRI3l1rdjnIT+3FtbJr43EF8mf6SuYCzf9QWkGkixWAPAsMO+ZYCkHfsp8Ebq5IQmgK2IXzR7Dw8+tizs+8jaXB5JJ1vru0dZJa3b1oV9eizW5U53yIWNhC2v/d0rVxivvMbZ2deAP9OaqXm+oFukIjaFHDNbAskqvpHh8/7e91fqDFla2ZNEEPtVSsBBmyKHO0gDiDHKC3T2hrvvSRHsMHplIpD1mnppE2E4BlngIDgrfAe3G2jKUHg9eYLq9dMXBeysfzc8UtBI="}
diff --git a/src/test/resources/data_dir_legacy/auth/243a5842-b58f-24d5-d3b0-24304c57b7cc/user/_validuser b/src/test/resources/data_dir_legacy/auth/243a5842-b58f-24d5-d3b0-24304c57b7cc/user/_validuser
new file mode 100644
index 0000000..fa0530d
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/auth/243a5842-b58f-24d5-d3b0-24304c57b7cc/user/_validuser
@@ -0,0 +1 @@
+{"Value":"AAAAAQINZKQEssY4IzHI/0k27nBtxSvnC6LkivYrqky6CblcjyAmQIg/4/cKQIBCXzmrWEv/SqMQbLw+4Lp63Xu1niF+U0NbyqDmFaPqnD2yfPs7meXvZr21+P9E/0APZMHQaSR7DIEY46zedHRjQ/pkhR2Axcjuy5gdfzBzC2XvUcNqdyR0pQwcDwGhAIdO0gxJfZCeBuvv8ceYS+aPs4gDHtIlA3szi+5qAQ8HvPBTDKQn1lHVYnzTdNbMS7v3mtzCyG8AeMkaUw=="}
diff --git a/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/_salt b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/_salt
new file mode 100644
index 0000000..6cb6ec4
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/_salt
@@ -0,0 +1 @@
+{"Value":"AAAAAQJiN0bHxM8aNJpY7aHGZ/p3qOhJbd7JIXwFMEI4LtKmO6pP5Oa4P5z+2LK+2qzZhhX/iDeM4u+nR+lxt/GsBPKf"}
diff --git a/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/accessor/_a9566f93ca05120fa8955f887ee0ca1a1422802df2ad979f2ac2951e95703089 b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/accessor/_a9566f93ca05120fa8955f887ee0ca1a1422802df2ad979f2ac2951e95703089
new file mode 100644
index 0000000..c516407
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/accessor/_a9566f93ca05120fa8955f887ee0ca1a1422802df2ad979f2ac2951e95703089
@@ -0,0 +1 @@
+{"Value":"AAAAAQIZ5rvzLtBcBQvWqwwDoRADwUo6W0ECKgmcvXejbLKiYcbO0hP8fceCqB12J41wxcMViQ8vvWoIgyOX2HwcZS09GGCqQbjvyVfz/w+kyox9dJzr845f26tJjHVYlHX2YFsnxytwe5qCKdCsD5QP9kyz8J0="}
diff --git a/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/role/_testrole1 b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/role/_testrole1
new file mode 100644
index 0000000..0aaac9c
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/role/_testrole1
@@ -0,0 +1 @@
+{"Value":"AAAAAQJIKXgvJ2Prr92Fn7qZK/WZxb+Q+vJsXyjMo44en/+zqbbnLfs5m7uH7hEUOfDM/MjzTrhfkOWxf6qcrC4MR3ocrFJwtbJ6j+QrNLg61gVIiLBUVBkvh8ErqCFnSjNIqhaIMQhuZXWANsgGF9K2+HBGJerWGe26C1rdWRZV4J0M23HnxLBf8aYDlOfkHe24I30rHUqXIk9/BKEuekcnhETw9Tx4Fk7KxxxEdGmHPbg+4G14c27wVj8IrpWHBpyLmt55Qdb/y24i5RzFYv1FQ2kQZIO6TQiYkwAUxJ5cIdCiAsEDNt+rBJ9zX1MvkEfkVj/WvzC9pxB7ad+j5vYIJgCUD1o09t0w2ChjBojGoOAWDSvNAeY8kr5PDKwYk+gBY5M2JHDI6ELvOVu8gsW+sqk9St9V3VisShTfU3+qln7TOWw/LQ+fUzGvYrAWG6UyPVpIEYeNmN0iGCIM8rzjQYvVC3KcQMG96MwK3ZlSQzgPpvTGxNxFm2omTn3ue7QHn7Ni6+c/K6xVy0bbJ+jS4yyfl2wFBm1tF1l3BITLqw3TiP3LEw=="}
diff --git a/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/role/_testrole2 b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/role/_testrole2
new file mode 100644
index 0000000..352c907
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/role/_testrole2
@@ -0,0 +1 @@
+{"Value":"AAAAAQIUt2iYYy9zOwkx1mtNMHt69RjdHbUmcN8zydVQTMGjhv1kjEW+d4AaBv1qE22rPTs0xL3pJ1AjIvkBXXVBAuc/FE63t5dE81Fa+MvSY4tBeMtl6i09ykkAYyQUeeV2HlbjRpMUwPyq2QIslYw3d4lc73yT0S82s5I3MfjodKmDpheWMOgg5hGes/wstBHN5HEZkKV8gOPRZ/BsTM7tMXH1piM/JT8sNfsDh6TAGD1OEsS+N2QlKvS4yImNzcKrH0EgdkXB4sRZ9e/SmMaEVaagB1n0M5LukC+pyExgC7eK4EU8o2Xye3iij3YMWBaGollDzJBJFP5aSO4E5u+NnRc5/ZbLRCbqgfQj8IY86WF9hya31aJxbc8Pg28Yfez8hbGRJZZws/ojIUgEz+VtH3OyaW2Wohnycop7i4fK8xlJ2gYOGvlw43czOH6Y6joTce+QBZWI7KR6ugB0dI8pnK2eFy14OZeww1NEew7r1u7PgD10Obg8okIJSD8cGkxUHu/oOLxvKKOAJBLSPfKnJfKEiKrqYED7EPkmgP/t7okvo4c95qeuWy1BLtKfxw5lkv0="}
diff --git a/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/role_id/_4b3d052da8b3d9af8d551a4e515289bc4319f2c21012a70de2c9e9fea6e0f7e0 b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/role_id/_4b3d052da8b3d9af8d551a4e515289bc4319f2c21012a70de2c9e9fea6e0f7e0
new file mode 100644
index 0000000..a250329
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/role_id/_4b3d052da8b3d9af8d551a4e515289bc4319f2c21012a70de2c9e9fea6e0f7e0
@@ -0,0 +1 @@
+{"Value":"AAAAAQKv0Yr+QFSWxYe8o51TBwGz/yAhNYFmkNHPISEK6EbIVGkpEJMHFYvHWxTXUzF7f2/a"}
diff --git a/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/role_id/_c779a2e6599b8e4b6b6a3c68a7690a8e7d31fa0201ad73973dcd24f83e2950de b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/role_id/_c779a2e6599b8e4b6b6a3c68a7690a8e7d31fa0201ad73973dcd24f83e2950de
new file mode 100644
index 0000000..65d73e8
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/role_id/_c779a2e6599b8e4b6b6a3c68a7690a8e7d31fa0201ad73973dcd24f83e2950de
@@ -0,0 +1 @@
+{"Value":"AAAAAQKs2/ICwQPLv6siBGDbBnB52fBVo52BkSKGvm74p4oHrdMEvejJ4cJljOADYyDT2QYa"}
diff --git a/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/secret_id/c79a3b6ce2e8e8b725c8c0fcdd23521375fadf2190fb5823d459a2fd2cb5a670/_f5954e87c0b1a0eb9c8fa4fc2ed7ab6f4338a8d77341e06460de0870316e7320 b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/secret_id/c79a3b6ce2e8e8b725c8c0fcdd23521375fadf2190fb5823d459a2fd2cb5a670/_f5954e87c0b1a0eb9c8fa4fc2ed7ab6f4338a8d77341e06460de0870316e7320
new file mode 100644
index 0000000..c707c01
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/auth/3ec9e5b4-41b0-a20c-cc8f-04c2b7bb2602/secret_id/c79a3b6ce2e8e8b725c8c0fcdd23521375fadf2190fb5823d459a2fd2cb5a670/_f5954e87c0b1a0eb9c8fa4fc2ed7ab6f4338a8d77341e06460de0870316e7320
@@ -0,0 +1 @@
+{"Value":"AAAAAQIq05o3NmsucipTxPrcRbT1sXpAJ8w2PpiShnof74Kuzf/4kkHj3AZL5AObGFLAkYUvUrv3RRmYBIhw6Jk4FCbgdQyJAjPNVUTwBun/kQVyzP5sQ9hUFgHJwINomtVDiDgPkOc92zk8ydr1hfnMmTAtS71G3xloHDn6CF/1Y9WI1PkHdSkZ8d+yBNxr+qjGyewrV3QVmQvAfpY56uQ6AOztItD9NgiPrtNP+clbCczsieY6Y9Ce2FZawmuKFi9svMcBtnEcMILV/SGt4iCiMgFwkCJ9gQsGEdWPifu6ITPB92LgT4Ccw4gVRO31QVcPl6S+FG6iCeN6lk2yRXYjyhBuU+GklouEZIsA6SoxlIXPZuvauyS1MWwMxtSOQUFVYr3kvtXzCpcpEHDyBOEUdxPaYUZXHNdhGtMr/JuJCN50t0ng5mEAqfhjoJfJ/tBTqAjySj4zmEHuY0RnqYLPmsp203Q="}
diff --git a/src/test/resources/data_dir/auth/77603e3c-3db8-2d39-0e51-6c8eee76c3d5/_salt b/src/test/resources/data_dir_legacy/auth/77603e3c-3db8-2d39-0e51-6c8eee76c3d5/_salt
similarity index 100%
rename from src/test/resources/data_dir/auth/77603e3c-3db8-2d39-0e51-6c8eee76c3d5/_salt
rename to src/test/resources/data_dir_legacy/auth/77603e3c-3db8-2d39-0e51-6c8eee76c3d5/_salt
diff --git a/src/test/resources/data_dir/auth/77603e3c-3db8-2d39-0e51-6c8eee76c3d5/struct/map/app-id/_sfbe1922bae1f565115b4b933d76152e1a098ab507118283971184d58528e3411 b/src/test/resources/data_dir_legacy/auth/77603e3c-3db8-2d39-0e51-6c8eee76c3d5/struct/map/app-id/_sfbe1922bae1f565115b4b933d76152e1a098ab507118283971184d58528e3411
similarity index 100%
rename from src/test/resources/data_dir/auth/77603e3c-3db8-2d39-0e51-6c8eee76c3d5/struct/map/app-id/_sfbe1922bae1f565115b4b933d76152e1a098ab507118283971184d58528e3411
rename to src/test/resources/data_dir_legacy/auth/77603e3c-3db8-2d39-0e51-6c8eee76c3d5/struct/map/app-id/_sfbe1922bae1f565115b4b933d76152e1a098ab507118283971184d58528e3411
diff --git a/src/test/resources/data_dir/auth/77603e3c-3db8-2d39-0e51-6c8eee76c3d5/struct/map/user-id/_s595229a9e81315fd0a5fb274f504622359e6024477ade54db93e36ca3b7801cf b/src/test/resources/data_dir_legacy/auth/77603e3c-3db8-2d39-0e51-6c8eee76c3d5/struct/map/user-id/_s595229a9e81315fd0a5fb274f504622359e6024477ade54db93e36ca3b7801cf
similarity index 100%
rename from src/test/resources/data_dir/auth/77603e3c-3db8-2d39-0e51-6c8eee76c3d5/struct/map/user-id/_s595229a9e81315fd0a5fb274f504622359e6024477ade54db93e36ca3b7801cf
rename to src/test/resources/data_dir_legacy/auth/77603e3c-3db8-2d39-0e51-6c8eee76c3d5/struct/map/user-id/_s595229a9e81315fd0a5fb274f504622359e6024477ade54db93e36ca3b7801cf
diff --git a/src/test/resources/data_dir_legacy/core/_audit b/src/test/resources/data_dir_legacy/core/_audit
new file mode 100644
index 0000000..3324a02
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/core/_audit
@@ -0,0 +1 @@
+{"Value":"AAAAAQI695zhv1Tv/6m1Fx/L62lITd+ZWCi+xCDHkev2YtCSIDPrZgNzYnrCHG3cUjBePZt6NYUSgzvZTXbxZPN4rK2rPj/BN9xj9v1vH1woOMY6lNPmBR7r"}
diff --git a/src/test/resources/data_dir_legacy/core/_auth b/src/test/resources/data_dir_legacy/core/_auth
new file mode 100644
index 0000000..f7a668c
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/core/_auth
@@ -0,0 +1 @@
+{"Value":"AAAAAQKHd7fFuNKfj/RnIQoxQEOTorNNl1NfcVtynLwYvtvZGDvhAO34YmOFKJSQVSiT4Js08ik48DWWnZHCZzAyMlK0HqNGYQRzCkuHkzYpH0uLrTcddXLuKyc7j6IiRTl3qYb1pzdlTzDtlwsi4J7s+7orETS146yY/GnGPWM/Tmet7p5qOECRq7m04gBX0pnwZl12iRqWG4aHHY5D4aFp9KjKUBKCIhz2Tb9wcSKV/Aa/ct1d0K0k8pyu1r1OkaJqCQXQeIaJR/WBMECR4omezvg7IGCoBIkMjwFR1urSaB0xNdgk+ByZE0C5zeDfmVRylYlypPAlIBrGL/Q/d6+NWiiOzXdoQoqAa/Pyg7e2gClsKDBFDvSL1QVBdsnBIskDeig2t46Ew5qM00wY58BWlUxqjlCgsNm3nPHtWpc6+XiR4ZkEZ9VeEIQhwC/R+NxS+QCDKeuSfyZM3OqQBwOx22mTL0i86YzlUph0alBmDF1b1FkDbg46MSWTANrkov1LPDnOvvNet7pb0L6exN5Q+HKitmxn36E0KAiqj1hEaHMZF6Pe+IIScLPClgPNeMkZWLeD5kvLv9kfObTYneHVHqj8O9jGtk03T4vOoaUNJY9U0irBGzlV+GkneJUgBL1QBspfK4GvFvUrd0Ds/teayJba8HDxlpCEWr6h062BXsNPg5gUn4H/uvginsFng02M8IyrDA1QOb4XS1zdfrvq"}
diff --git a/src/test/resources/data_dir_legacy/core/_keyring b/src/test/resources/data_dir_legacy/core/_keyring
new file mode 100644
index 0000000..d3885b9
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/core/_keyring
@@ -0,0 +1 @@
+{"Value":"AAAAAQKyaZ3WVPXS+CbQr/JTfSM4yHT5DN21JfJlKh7ALVkue05z4cy703LvXnlfx5ZRqszSbFAe98ZzwELK89SEq26v2GYe2/7tFYeIAp0YvWNe5uahL0N6KUhFArPtC9gMV+9f7ZdjRDS6AKIHmzWRiXVtTsb+j4MnE+RM9NmwmvpDDTRAFgzjxEQ9IT/nGXieacg49U8NhjmZMh9Dt/7db3e5bGRJFDc3IDuF5xgHr5q+NJBbGrU3X1siH0oiCUbHUKsssmbVI0rwf6lkhvFQIIckYRgwL8/70WjrfELZeN+CgBliwQ=="}
diff --git a/src/test/resources/data_dir_legacy/core/_local-audit b/src/test/resources/data_dir_legacy/core/_local-audit
new file mode 100644
index 0000000..d2be989
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/core/_local-audit
@@ -0,0 +1 @@
+{"Value":"AAAAAQII71tl2nQI+IFOoGw3z5x+xUwHdaZUXNW2GLNCJaq7tc2Lv3cLz9loi+q9yDVm/tVDhqK8k0D8lA2adOOGXOiaituANawDLAZu8VrwzpX73+mwtoEk"}
diff --git a/src/test/resources/data_dir_legacy/core/_local-auth b/src/test/resources/data_dir_legacy/core/_local-auth
new file mode 100644
index 0000000..dea4dc2
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/core/_local-auth
@@ -0,0 +1 @@
+{"Value":"AAAAAQKKxZ6U5JakeVWOBYonzhPVLF2WNyxMYFqpYnb000GLiTWD0kLJQG5rBFyPadehhAmlQQvy7zDpCf5RCcsZbeCTSIA9yUiGp+G2uBsXAgLYKRocHTw="}
diff --git a/src/test/resources/data_dir_legacy/core/_local-mounts b/src/test/resources/data_dir_legacy/core/_local-mounts
new file mode 100644
index 0000000..50ae054
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/core/_local-mounts
@@ -0,0 +1 @@
+{"Value":"AAAAAQJEF2Kc5GCivEaBANB/amJG+W92c2JbCPoQsFfTNcycNMXgy4famQHdKIBQgp+44HNa+OLTfzOoO4gO0c8pk9mvZrLHN4Bb0ot1aC/pmaT7MGn+6ZyrpyHr86oqMc/Dl91bV2bZjsCosUhZAQDhyjXLm2IVgAU51TldHuDvz3+yWvn5rorZiyDAo4bIYhA8QPlCM71heQMVTXWk3/IynsO6gsg25vJpLrJXO2ixDo2gWsVOH1PD0Qu2dPsRyHcdER4HYmCWcPcLS+0kKsspsAEZrqch45OKd0zrWtWrrlf3QLBFhw2N/gWVy4alSNuzYgJHf25k4xotsjO5S2H8qeWJd9qllHKUuci8fa3V8OtE03xlQM2UYkKm4pf++Xjrwc2HZhHXPP8c7Ufo6bJLYmB79GMv0HmsVpBieze/+XqvibVccdoUAw=="}
diff --git a/src/test/resources/data_dir_legacy/core/_master b/src/test/resources/data_dir_legacy/core/_master
new file mode 100644
index 0000000..53f9ee5
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/core/_master
@@ -0,0 +1 @@
+{"Value":"AAAAAQL1R9YHyyYMvRbw3Q5EU2oYcg77tz5teL6j9/fzZWhU953/pLdeNSLvTThDX9S9/1PX7awbCihQgV3X+buJVpaSZi4Zpo6T/emsgS3U/Hp8Ml+B8xLhbNeTZ7Swi0rL1X//qYEp8BA7znHHbaL5CWbiaTdP1oZAnfS72FvhjZ4kdQge0Vtyoxrmyy+6K18S"}
diff --git a/src/test/resources/data_dir_legacy/core/_mounts b/src/test/resources/data_dir_legacy/core/_mounts
new file mode 100644
index 0000000..a6d1bca
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/core/_mounts
@@ -0,0 +1 @@
+{"Value":"AAAAAQIOTEuNxtf2ZfGu6k9+65GFonDBiaetJnyLYFk1qfWPrE/VqUunbxuTv/QyK4pgC/q14sqypdxPe4Ygp/5mxzzuY6JXB0VKiDMXe9R5BltTG7++rLmKH/j+G7nEh71LER1/qVktU6x8dmDmTbpTgl5xzAB5DIXLMMKjjWda/7qJ3ivNI0pEOQ3JyT27SkqjqM49Dp1JIgKnjIEVQORqKcsSP+aqIncMjIo2iGXOGlDYAesp5tZ4hln3VCwXaIlrU8z6Mmntgcg7NeK/O2WTl86K644dbJUh6frGFDujrjOh/Pgp9n9u0BI3E9K9GD1Z1S1wEb1MCqzT/e9oHG7I7D8ku8PH11wGWGH6BmYlESYUG/KRVqu0XOQEfroLHZQiLE00yHBdStW/UJ9y5pmGpu1aiQ88Q8fpjF5xmRey99b4c6KUIpHjw5Af0XA9ZKsEJUyjS/dbMKPM6PBOW21LYefXH5b0poXMWgLW6LJV0zLuVMyVZJqANbzCVtheDPSsEjkHHwR/CLa2zs2Z6wJF3j1GDZxUFf4nbnuXQzz3M3kVPPtS6htlb0d8RN0/dkOrqUue+c4UjnXhiacXyVUnQQzUVu0sGak4vrQi0020aBzMXM2ZG7rNgvw+wcYFS4txO90kwJL6aOMXT2BeJiQ3wjjHb7M74/sSd0ffRTUlJSODSDotO7Q7Dfcnc1FLrIhXPRFPavTjFoL5HRy77xuGG7U7jTMoGra+rK54v0sxqKbS5WZi1hADQmAVIO8bPb+jA1qoejRFygW6sLgAdmEFQQJOhCV/BoKP3A=="}
diff --git a/src/test/resources/data_dir_legacy/core/_seal-config b/src/test/resources/data_dir_legacy/core/_seal-config
new file mode 100644
index 0000000..cd89dcb
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/core/_seal-config
@@ -0,0 +1 @@
+{"Value":"eyJ0eXBlIjoic2hhbWlyIiwic2VjcmV0X3NoYXJlcyI6Mywic2VjcmV0X3RocmVzaG9sZCI6MiwicGdwX2tleXMiOm51bGwsIm5vbmNlIjoiIiwiYmFja3VwIjpmYWxzZSwic3RvcmVkX3NoYXJlcyI6MH0="}
diff --git a/src/test/resources/data_dir_legacy/core/cluster/local/_info b/src/test/resources/data_dir_legacy/core/cluster/local/_info
new file mode 100644
index 0000000..a3efcd1
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/core/cluster/local/_info
@@ -0,0 +1 @@
+{"Value":"AAAAAQIQFA5RAIuPqfLne1VrEimWHZjhECkvEmMrJSb2YFxcBI8LCNI7o12Aa918NyEsAMrDhr8nsHF5MEP29+Oh2scwAtKItlx71GqFK6F6wxcdq6PghZCNz0pHcQWsDzaW7TIEt6hZzJlTR48="}
diff --git a/src/test/resources/data_dir_legacy/core/wrapping/_jwtkey b/src/test/resources/data_dir_legacy/core/wrapping/_jwtkey
new file mode 100644
index 0000000..7a8ecaf
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/core/wrapping/_jwtkey
@@ -0,0 +1 @@
+{"Value":"AAAAAQLxxJkuGSq98jK0aFDxmo4puYFVAJVs+yVg1Si4xkJJmEj7WqdxiICrje+8wtQGA8rebHmTGfemFLSmCH3Pmu9jaE8ChBAHQjdMJuAsfebYGNcxSMpaX96FLT5JGwRLv3eC3JI1YcmbQrvX1Hn49JVYCNxIE1bUDYBXfJ3cg0JJX4oH4w2F+XpJbiZYKoJOZz2Lbun2G0jh6c8fa05wPOb+MNX2oYWKkXEVHUxXb5fWbc65aKlJxXSRaKQv9R1vmxdqmXDx824HxtgTHVRGjgs79xj2Cj5wM3H1Wf6M6O5GexUF6GoIp0nYyFLBiE4/dL2vixfrOK3Bh46bBFzbgCuBbqX0SY1UytwOGD2ljrtvuajlIW23dac+r4Ia8logj0u9Ej4wSsYVWyl5BizkYeYZxva9PA0TuK/RB2yJy+CpKdPMMP5mdLlVOPAyWGo3XUgXWRTsln6USUY7KXzujcZn9Vuiuhdu3m20Gl9Qi06MpPLTWd2TLCC2rXnbPkzyGlurWoNYfZjtErT6tjAVP4DZ1D5zkNuNwz6QKgocInHYZWESRiFIeZ53M7fjV8e4cjOkfze/GNe6z0q+sdZQrzhJ/GzdwyCVAPQmm8OsVDM2W0Pawrf7m+tnErvggLGWKMa/tNiyw/qWnWNm+P6LRquTSHxfENbAE0CZ3G/ni9kElD+9Gepe8DGokinXxW+EtTGxwA=="}
diff --git a/src/test/resources/data_dir_legacy/logical/18ec1ee7-6a2c-5dc8-6dfe-dc15ff1352c0/packer/buckets/_100 b/src/test/resources/data_dir_legacy/logical/18ec1ee7-6a2c-5dc8-6dfe-dc15ff1352c0/packer/buckets/_100
new file mode 100644
index 0000000..5fafe50
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/logical/18ec1ee7-6a2c-5dc8-6dfe-dc15ff1352c0/packer/buckets/_100
@@ -0,0 +1 @@
+{"Value":"AAAAAQJ50rfAVWvu+ROEQngQ7wUe6SUmopSYa/pSn427pwZJo2AbcyahEKC2n2L95nWRFJbwO2dWRWcdeEBHvx6i1QwVLiKc2tI91GuBnBvy4MNYOshh0B4qeDI91rszdvQ8QRRwrNJfGl3Oh1cuaXMQ7O34qqvzr3ZXCS4nejuBXW0i0YOX0Pf5OpCG8/+HGeLvjhTRpMewT/JYKezhUSYm5f+k4h7sqz37EfPgzFvTEFWXhyxW3LFSwGRQzsggaCulhW51pt5ULTibzisqfVlVilyhxP2aXVbrff2gopLY4/3ug5z2C9U7na2e1ZIyWYaRRgXmNbSBRXl5UMa7iA6rnN3b+HK9oE27tr+BeEfW9tx1s4yQEzAdsUdpkuUlWTFpt1hjOc3v7XbW0vzJLwi36Sv1z7Ln305TStrdVN3Vu5pI4lHf/1ExIpBONjtbHQ+M11hUMCVCqodwD777dZaH"}
diff --git a/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/_salt b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/_salt
new file mode 100644
index 0000000..e49af78
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/_salt
@@ -0,0 +1 @@
+{"Value":"AAAAAQIAlm6AVE71UOLltkZuv8tdhkS7TpQrbtx8iUuqJGvKTHv2wLdtEr+ya9UQnwhHScW1FestMofky88IowTeu/Zu"}
diff --git a/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/_upgrading b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/_upgrading
new file mode 100644
index 0000000..4c7bce9
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/_upgrading
@@ -0,0 +1 @@
+{"Value":"AAAAAQIaY1WSVhEL7+pmqMEXJUjMjS5DuQgw5erNjrNV0w1/JV/e2ICx/AFEL+C8Bg=="}
diff --git a/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/archive/_metadata b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/archive/_metadata
new file mode 100644
index 0000000..7b1a09c
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/archive/_metadata
@@ -0,0 +1 @@
+{"Value":"AAAAAQItpkJ71VVPSorqDC8Lpr4AcWx6vdbkLF0VaC8mRyLlOUi9eq/5eN/fiy9b3k3AcGXkqnPQJy6H0vNSGMGtV9sJiiBUGCtNT725tShAFsJAaSkxq6AYrAxjhb+CL2/x85MERnbZaz/IS3LjuE/eaNxP2b7Dgybbzxy0hrLgj/xaeuvaNJhxMiylQQ+9UE+nbXH5nWROkI2xEPPaDWeaRW/HSb/SANxa3gqlHinusj2o9bF01mLEc0taEktq3FFefkRog/uM4Em5qwBeuf2O9YjqPz+OcbBVhAdPb360wGrgyZzfElo5qUCbD1vGeYBIlR4WeM3NrOHvmECazANZrQK2jaOImbt0MsqBd7wKqZvTGLwbbrGv8DtVJ1pH8qgfkKmyfMub2+7llHybUYKzDvdlq6YyKCYe7ZyosaePRGNNuOxBYYPaS1ikaRedXG9pBxeR5Acn0SOSQogfAAkTmNZEENznVvqsKAJSasfCAm3IHV0EvaUVIUuOs6jN1WwRcPJyaJmYoojIITNg/Seuzv8lL0Q7M/SNbiiSaN2BYs8Y84GBPoWx3GTDyyQat42F5WlKjW7vHG0GH/bqQGFgUzQdnPN03AZg063u52LES8o4r1Rj+je7US0G9w8uOBdcX9o="}
diff --git a/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/metadata/_5kKLVoJKw8t3teVj0ZHe7luGJzGhoZNLQUeZXN3D1s5HSibF5ZNLLnVpEgM5kh b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/metadata/_5kKLVoJKw8t3teVj0ZHe7luGJzGhoZNLQUeZXN3D1s5HSibF5ZNLLnVpEgM5kh
new file mode 100644
index 0000000..f627b78
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/metadata/_5kKLVoJKw8t3teVj0ZHe7luGJzGhoZNLQUeZXN3D1s5HSibF5ZNLLnVpEgM5kh
@@ -0,0 +1 @@
+{"Value":"AAAAAQIopazgkALB5TvGUbdcX3rm9ky/QhWOx3BVuDJQf6tz5OLc/qwfchcskGANr8VXgyS3BySef8iUlyw5rhh2m5J7ekedXEIWZJ8I14lizWs5Qcx9TUree4ehQMWqEffWzy0G5efmFcFXhg=="}
diff --git a/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/policy/_metadata b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/policy/_metadata
new file mode 100644
index 0000000..ec1b90c
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/policy/_metadata
@@ -0,0 +1 @@
+{"Value":"AAAAAQK49lwqHwzXSd580lHYTZUip9BUMkyXzvFWk0iEjNWBPZrI+jdgh/eZNen/QyaLJwXgggaepT/8cvCLOaDH4Sju/jvhevHM446hRY7S2eFelGpb6JvGwzMClbDHarUaMSBZzMKnrBK2f30q+/uILQJde/tUVkFy0iK6v+G6ZbtzvgiRVdl6xrTBmkx7Bb/lV91nxdKdYCLYWyd48rgO/hZEUoVRPoLzxPadfIC/jZIhOhmRiT6En7dTRGR0GRc1OQoQVlEolGnEygoFVov5WewqyGBHsTIMcj5FLUYlzyCpSChBdkSU/XThWJ5A5G0ykNyL6+I/RGnER+OJscr7OYWWW0hE9pOYfGvlRU4yBAUXFl70RsaL7kE0xkuqyqJOsbwz3PybrB8sXt3MV+lV3lof1Nuf5Gmy2PSzxQiNwy7biHNO5yQevReDmzG90GS6WP8XBlyHG8JUJJBhd5uJpNylDf2Od+oBLW6vpt1OphTwS7yzN9ToPqDlcattbXnFHggMiC+UGALJbvj/YtMtpkVExRmZXMLLPQYu+aFATsHbO6nw2JeGtMVm3f1qYRptytfDvKwx/Lsa8WvBM4ldhXLIeoehXIZbVoujEp1ppASZORXNKGnbIl+jsMrfjMnDlX7EOo+3swnpJUox3udQqbPQyuAWEOYkqv3ZJFWt6EwgLiAMSFk1tsYgOuduTn14smfwkGT2aUIXQht9QE5bgW16owJKd7AKFY7Pp2lBHHTj1INixTuQS1zfvbDtrF5RCdlqHzLy+7+79J3smxsdY13hM7rj99l9F2gvjZPb18JnrNLUR/f8HXYurWRTlRC7KqPzNDZs2bCrLa8fWREPWTIBG/w9L3J8nLQSG6vYxwOe5SPuSj77wlJIDkk4Kdm7yvXpC1EjAXgGuEhr5St96ZXAQNJK+T/3ktkapvA9Ar36w8s5WLPr0+tHOBr/BQvkdjiDrlieA9JyVT0+d97oHr0mSiwS4Aa9VCTwqIS2g5pzZXK+/29XD03DYqoXIcBk/w=="}
diff --git a/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/versions/4c8/_b1b75e264329e649801dc8e34a5a09dedc34a25589af88c240b3392327c7b b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/versions/4c8/_b1b75e264329e649801dc8e34a5a09dedc34a25589af88c240b3392327c7b
new file mode 100644
index 0000000..074f314
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/versions/4c8/_b1b75e264329e649801dc8e34a5a09dedc34a25589af88c240b3392327c7b
@@ -0,0 +1 @@
+{"Value":"AAAAAQLSYfzL/SWKSd0Yf5siKfEzLaG8AG8PawFel5IiyePXgJNadwM9+bpIMRjWk6rzrtoKNZhaibf62giOPw=="}
diff --git a/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/versions/a8c/_2bc9ee24a1a23910d3e937f56093f3ae68f44c8b880d7394d4786218497f3 b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/versions/a8c/_2bc9ee24a1a23910d3e937f56093f3ae68f44c8b880d7394d4786218497f3
new file mode 100644
index 0000000..f0a2064
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/logical/8340e3dd-4da3-7936-ec8b-2bf3f7d6cef8/e0bb132c-9b29-6095-fed7-f4ce9a5fd85e/versions/a8c/_2bc9ee24a1a23910d3e937f56093f3ae68f44c8b880d7394d4786218497f3
@@ -0,0 +1 @@
+{"Value":"AAAAAQIBfT6SBDhkEavAht6zJRkgAmbZDclNrJ41mGC1sLwChI1K86UXgyJfykEmy2fPiCwfvFlNRQZ/ftHhKgo="}
diff --git a/src/test/resources/data_dir_legacy/logical/e548d9e1-6d46-bd26-24cd-61fd511fb7da/userstore/_complex b/src/test/resources/data_dir_legacy/logical/e548d9e1-6d46-bd26-24cd-61fd511fb7da/userstore/_complex
new file mode 100644
index 0000000..6373582
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/logical/e548d9e1-6d46-bd26-24cd-61fd511fb7da/userstore/_complex
@@ -0,0 +1 @@
+{"Value":"AAAAAQJFvWn7c1UvQSL6jOqglFQ6NE80ecj+WJSkOCc+hQjZ2EsuYw7U+wrInDL5mq0QLHgsLODRPhyJQ2LyHoiI"}
diff --git a/src/test/resources/data_dir_legacy/logical/e548d9e1-6d46-bd26-24cd-61fd511fb7da/userstore/_foo b/src/test/resources/data_dir_legacy/logical/e548d9e1-6d46-bd26-24cd-61fd511fb7da/userstore/_foo
new file mode 100644
index 0000000..e368c81
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/logical/e548d9e1-6d46-bd26-24cd-61fd511fb7da/userstore/_foo
@@ -0,0 +1 @@
+{"Value":"AAAAAQLT/TTr5tURW8v4ZttyGPjdBDVRUS6Rc0NAII3Oo8LyCCmlDD+MbWJt0wFJ"}
diff --git a/src/test/resources/data_dir_legacy/logical/e548d9e1-6d46-bd26-24cd-61fd511fb7da/userstore/_json b/src/test/resources/data_dir_legacy/logical/e548d9e1-6d46-bd26-24cd-61fd511fb7da/userstore/_json
new file mode 100644
index 0000000..ba7aac9
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/logical/e548d9e1-6d46-bd26-24cd-61fd511fb7da/userstore/_json
@@ -0,0 +1 @@
+{"Value":"AAAAAQJlKloo1Bvrrmtpue0suXcxOKdP8fCUySezcOv0Yp+RlyOZqespH/998BAKKKLqvHOHHLpIY3mB8jJMAuybHZY4qphKC9aT0k3W+VnYoUpOoVBgV+75TSNi6g=="}
diff --git a/src/test/resources/data_dir/sys/expire/id/auth/userpass/login/validUser/_0a324cd18733b9dd446b3cb9bbed14f5dc3f253a b/src/test/resources/data_dir_legacy/sys/expire/id/auth/userpass/login/validUser/_0a324cd18733b9dd446b3cb9bbed14f5dc3f253a
similarity index 100%
rename from src/test/resources/data_dir/sys/expire/id/auth/userpass/login/validUser/_0a324cd18733b9dd446b3cb9bbed14f5dc3f253a
rename to src/test/resources/data_dir_legacy/sys/expire/id/auth/userpass/login/validUser/_0a324cd18733b9dd446b3cb9bbed14f5dc3f253a
diff --git a/src/test/resources/data_dir/sys/expire/id/auth/userpass/login/validUser/_7542f5434639710430e523a96b1633e2f6ef5c78 b/src/test/resources/data_dir_legacy/sys/expire/id/auth/userpass/login/validUser/_7542f5434639710430e523a96b1633e2f6ef5c78
similarity index 100%
rename from src/test/resources/data_dir/sys/expire/id/auth/userpass/login/validUser/_7542f5434639710430e523a96b1633e2f6ef5c78
rename to src/test/resources/data_dir_legacy/sys/expire/id/auth/userpass/login/validUser/_7542f5434639710430e523a96b1633e2f6ef5c78
diff --git a/src/test/resources/data_dir_legacy/sys/policy/_control-group b/src/test/resources/data_dir_legacy/sys/policy/_control-group
new file mode 100644
index 0000000..2571f93
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/sys/policy/_control-group
@@ -0,0 +1 @@
+{"Value":"AAAAAQK26ilWp1mHFV/SL6xhGfl83BnJPBRlrgG1IwOC0/j9SiS9i+vMxv61wZ5amlKYUwrVFfwxerOIfWmrMrFKcL7aP5qPgT1XzJr1GlNA8Z5+k4cX/lUhLmt2Mmhe8lFbyhhx1ys9aiUZaXN9YPTDHWvkoY5giUTtfpYAD84g08gIIWr15bbK5aN9QrZkmnFxhY2WxG/gaMDQh4tA7Ic9wOXnEz7mJjtCIdTK6DbQvt+Z1juRrpkDRrRviNdJKIQ0pynuKDaHWZTydGffSfuHrgMMi0+xeHD2asnw65useHb0fOuXFlu2fTtqYR3tHRLH5h1rLv3Z"}
diff --git a/src/test/resources/data_dir_legacy/sys/policy/_default b/src/test/resources/data_dir_legacy/sys/policy/_default
new file mode 100644
index 0000000..abcc24f
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/sys/policy/_default
@@ -0,0 +1 @@
+{"Value":"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"}
diff --git a/src/test/resources/data_dir_legacy/sys/policy/_response-wrapping b/src/test/resources/data_dir_legacy/sys/policy/_response-wrapping
new file mode 100644
index 0000000..905afbe
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/sys/policy/_response-wrapping
@@ -0,0 +1 @@
+{"Value":"AAAAAQJhvv0FiU7o56Z5VXid2TYQ0wRuqUePfHUTdOfqzmNXN1SXEv7xWH9UXOjXIXOurwig/vn19xelqeL53HID/6i7LWrdg6wU+/GPZMDgKBU2Ols81BGCkr+s6o+mYUYf0HAyjAWexqfEPbfKEdtweYRLz4PFQ0JCSfy9PXERzJp+HXNbKh800S+3Y2elSl0EcdtVZQQ4E+5OGfoSTFAam//KTHskHsmg8t52PpTCWJrSjGxpKILI/K6FqiPxYrdDjDukpfILhAk4t0tgVU3JoAE2soBwt4fKnqvMrgJp0okkogxwDw=="}
diff --git a/src/test/resources/data_dir_legacy/sys/policy/_user b/src/test/resources/data_dir_legacy/sys/policy/_user
new file mode 100644
index 0000000..979c9f0
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/sys/policy/_user
@@ -0,0 +1 @@
+{"Value":"AAAAAQKh97jibnzLjYI1Er2PQ1+U2voHGqTowY24utgPth4i3fCwUbJ15i8JY/4DiqjjyNTfDni4deNiUNIsn2PzWsPsEoiDS83rVPDibov4TKjHFomxew1oEqXOTmqYlKZcaeR5FiDWMLA8jPwkkP/6mknRp3AnjUUGNvw5EJVFREBJh+qw52CCRztcPJ7lYyUuOfBn0OHLowTV9QlQ6zmyBSu+HY2xrFtucboe1l3VNUdAbq3qk139CGzn9chzUi6xBtUf2JLiuuyFYOcPMMtFu+tzq09WH07T4OuUp5l7ytI+9dTnyCtciHDZNlflZyaIssNoBFThiJ0GeeZK3wYSspb+wG86xS7MoGJZhAnlvXjvCebKY4hekX9O"}
diff --git a/src/test/resources/data_dir_legacy/sys/token/_salt b/src/test/resources/data_dir_legacy/sys/token/_salt
new file mode 100644
index 0000000..0d41f51
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/sys/token/_salt
@@ -0,0 +1 @@
+{"Value":"AAAAAQJwWbbayyTIlVnbstZPr/otfBY+N+m0j1+7GL19VJXozOVz5jWHqHG6go7ZJOhH2xopMPx3ON4a8kcXuaKU3sUD"}
diff --git a/src/test/resources/data_dir_legacy/sys/token/accessor/_2e04db7708a30f5c9ae933165567f53ae1733ba7 b/src/test/resources/data_dir_legacy/sys/token/accessor/_2e04db7708a30f5c9ae933165567f53ae1733ba7
new file mode 100644
index 0000000..c973cf8
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/sys/token/accessor/_2e04db7708a30f5c9ae933165567f53ae1733ba7
@@ -0,0 +1 @@
+{"Value":"AAAAAQKkCb608if/5XnoIX4mxum4Izo9CeV4A4eNp2OvtZhdm6nT328Kk1cyZgyiFBVdqZCsF2aUB4aBo0tJOO4X7gNschAYtGUVP+EhXXNvfJJVCSre+5f5zm3qTkpi7URFCPB2+WnvG4nLHLCDpr8Agp7ZTGRA8ckXA8WjJbmDEG1uBsKZKg=="}
diff --git a/src/test/resources/data_dir/sys/token/accessor/_685144be7d23636054f68c70d4bca841131497bf b/src/test/resources/data_dir_legacy/sys/token/accessor/_685144be7d23636054f68c70d4bca841131497bf
similarity index 100%
rename from src/test/resources/data_dir/sys/token/accessor/_685144be7d23636054f68c70d4bca841131497bf
rename to src/test/resources/data_dir_legacy/sys/token/accessor/_685144be7d23636054f68c70d4bca841131497bf
diff --git a/src/test/resources/data_dir/sys/token/accessor/_eed96141f6781a5bcc1555e9c00387fadfd9fa69 b/src/test/resources/data_dir_legacy/sys/token/accessor/_eed96141f6781a5bcc1555e9c00387fadfd9fa69
similarity index 100%
rename from src/test/resources/data_dir/sys/token/accessor/_eed96141f6781a5bcc1555e9c00387fadfd9fa69
rename to src/test/resources/data_dir_legacy/sys/token/accessor/_eed96141f6781a5bcc1555e9c00387fadfd9fa69
diff --git a/src/test/resources/data_dir/sys/token/id/_0a324cd18733b9dd446b3cb9bbed14f5dc3f253a b/src/test/resources/data_dir_legacy/sys/token/id/_0a324cd18733b9dd446b3cb9bbed14f5dc3f253a
similarity index 100%
rename from src/test/resources/data_dir/sys/token/id/_0a324cd18733b9dd446b3cb9bbed14f5dc3f253a
rename to src/test/resources/data_dir_legacy/sys/token/id/_0a324cd18733b9dd446b3cb9bbed14f5dc3f253a
diff --git a/src/test/resources/data_dir_legacy/sys/token/id/_2712faeaee9cf354887e2ce4d8b72009443946d4 b/src/test/resources/data_dir_legacy/sys/token/id/_2712faeaee9cf354887e2ce4d8b72009443946d4
new file mode 100644
index 0000000..1fe8591
--- /dev/null
+++ b/src/test/resources/data_dir_legacy/sys/token/id/_2712faeaee9cf354887e2ce4d8b72009443946d4
@@ -0,0 +1 @@
+{"Value":"AAAAAQJ8cVk7dX4cU3Tm55k0uMTzQwxxe5cZ1Nm81cIxRirwggNxqb9qgVVEc/WGXgMcjmzpUgdksqqxmI77qeInh5xGsLdjfZF5C/g/83fMPBCuklsC0m/KstR3YpII0EUbxXl90iLNAyB7qmPyMgOWrWlrnhnSiDJ5JB/ICltjYGjcqrQKvPA/hXj3wBYt1Ggh2z/Ty+940gFIBKr7xPxcXCogeh55GDsnZl8RMtTH6JaExFZllVOBA+SSnEewaXD4OHoiXw+ykiv/XDOM9swY8JbipMAZbZ49xgYOWBwR/exmUYDQWh5ziDS4dTctgkQB03ZQGguaVI9UNvqO7dRYefToNwBjcF+axI11iLHP0nECQHeodJUtCBOtlFDBOQpUmvnB2c1hdkwhQQ/A5qMafAe2WWdP6wPzvjT6Zql6ZYeltKqXB5xElpUh4+H+2LeSLuQRPLtJbRmY4dxzTL5WBzVC5hsbW9kWU7I0dax5RCC8bvfm7kSAsXV1DCANamMxur5lCKcgGkCFSmG7+7TEKlp0N5otJIVy7pg14r0DVWscBoQ83g=="}
diff --git a/src/test/resources/data_dir/sys/token/id/_7542f5434639710430e523a96b1633e2f6ef5c78 b/src/test/resources/data_dir_legacy/sys/token/id/_7542f5434639710430e523a96b1633e2f6ef5c78
similarity index 100%
rename from src/test/resources/data_dir/sys/token/id/_7542f5434639710430e523a96b1633e2f6ef5c78
rename to src/test/resources/data_dir_legacy/sys/token/id/_7542f5434639710430e523a96b1633e2f6ef5c78