DATAKV-268 - Polishing.

Add test for non annotation driven keyspace resolution and update documentation.

Original Pull Request: #46
This commit is contained in:
Christoph Strobl
2019-06-24 13:55:16 +02:00
parent 07d2b8c015
commit a73dda0736
3 changed files with 22 additions and 7 deletions

View File

@@ -22,7 +22,6 @@ import java.util.LinkedHashMap;
import java.util.Map;
import org.junit.Test;
import org.springframework.data.keyvalue.annotation.KeySpace;
import org.springframework.data.keyvalue.core.mapping.context.KeyValueMappingContext;
import org.springframework.data.mapping.context.MappingContext;
@@ -41,28 +40,38 @@ public class BasicKeyValuePersistentEntityUnitTests {
@Test // DATAKV-268
public void shouldDeriveKeyspaceFromClassName() {
KeyValuePersistentEntity<?, ?> persistentEntity = mappingContext.getPersistentEntity(KeyspaceEntity.class);
assertThat(persistentEntity.getKeySpace()).isEqualTo(KeyspaceEntity.class.getName());
assertThat(mappingContext.getPersistentEntity(KeyspaceEntity.class).getKeySpace())
.isEqualTo(KeyspaceEntity.class.getName());
}
@Test // DATAKV-268
public void shouldEvaluateKeyspaceExpression() {
KeyValuePersistentEntity<?, ?> persistentEntity = mappingContext.getPersistentEntity(ExpressionEntity.class);
persistentEntity.setEvaluationContextProvider(
new ExtensionAwareEvaluationContextProvider(Collections.singletonList(new SampleExtension())));
assertThat(persistentEntity.getKeySpace()).isEqualTo("some");
}
@Test // DATAKV-268
public void shouldEvaluateEntityWithoutKeyspace() {
KeyValuePersistentEntity<?, ?> persistentEntity = mappingContext.getPersistentEntity(NoKeyspaceEntity.class);
persistentEntity.setEvaluationContextProvider(
new ExtensionAwareEvaluationContextProvider(Collections.singletonList(new SampleExtension())));
assertThat(persistentEntity.getKeySpace()).isEqualTo(NoKeyspaceEntity.class.getName());
}
@KeySpace("#{myProperty}")
static class ExpressionEntity {}
@KeySpace
static class KeyspaceEntity {}
static class NoKeyspaceEntity {}
static class SampleExtension implements EvaluationContextExtension {
@Override