diff --git a/scm-test/src/main/java/sonia/scm/store/InMemoryByteConfigurationEntryStore.java b/scm-test/src/main/java/sonia/scm/store/InMemoryByteConfigurationEntryStore.java index d5934fb19f..20fa3d664f 100644 --- a/scm-test/src/main/java/sonia/scm/store/InMemoryByteConfigurationEntryStore.java +++ b/scm-test/src/main/java/sonia/scm/store/InMemoryByteConfigurationEntryStore.java @@ -30,6 +30,7 @@ import sonia.scm.security.UUIDKeyGenerator; import javax.xml.bind.JAXB; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; +import java.nio.charset.StandardCharsets; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -68,6 +69,14 @@ public class InMemoryByteConfigurationEntryStore implements ConfigurationEntr store.put(id, baos.toByteArray()); } + /** + * This method can be used to mock stores with raw xml data to test update steps or otherwise the compatability of + * objects with old versions. + */ + public void putRawXml(String id, String xml) { + store.put(id, xml.getBytes(StandardCharsets.UTF_8)); + } + @Override public Map getAll() { Map all = new HashMap<>(); diff --git a/scm-test/src/main/java/sonia/scm/store/InMemoryByteConfigurationStore.java b/scm-test/src/main/java/sonia/scm/store/InMemoryByteConfigurationStore.java index 3025a3e810..c7c75ace57 100644 --- a/scm-test/src/main/java/sonia/scm/store/InMemoryByteConfigurationStore.java +++ b/scm-test/src/main/java/sonia/scm/store/InMemoryByteConfigurationStore.java @@ -27,6 +27,7 @@ package sonia.scm.store; import javax.xml.bind.JAXB; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; +import java.nio.charset.StandardCharsets; /** * In memory store implementation of {@link ConfigurationStore} using a byte array to store the serialized object. @@ -64,4 +65,12 @@ public class InMemoryByteConfigurationStore implements ConfigurationStore JAXB.marshal(object, baos); store = baos.toByteArray(); } + + /** + * This method can be used to mock stores with raw xml data to test update steps or otherwise the compatability of + * objects with old versions. + */ + public void setRawXml(String xml) { + store = xml.getBytes(StandardCharsets.UTF_8); + } } diff --git a/scm-test/src/main/java/sonia/scm/store/InMemoryByteDataStore.java b/scm-test/src/main/java/sonia/scm/store/InMemoryByteDataStore.java index 9e902054e5..46b1a1623a 100644 --- a/scm-test/src/main/java/sonia/scm/store/InMemoryByteDataStore.java +++ b/scm-test/src/main/java/sonia/scm/store/InMemoryByteDataStore.java @@ -30,6 +30,7 @@ import sonia.scm.security.UUIDKeyGenerator; import javax.xml.bind.JAXB; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; +import java.nio.charset.StandardCharsets; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -68,6 +69,14 @@ public class InMemoryByteDataStore implements DataStore { store.put(id, baos.toByteArray()); } + /** + * This method can be used to mock stores with raw xml data to test update steps or otherwise the compatability of + * objects with old versions. + */ + public void putRawXml(String id, String xml) { + store.put(id, xml.getBytes(StandardCharsets.UTF_8)); + } + @Override public Map getAll() { Map all = new HashMap<>();