Skip to content

Commit 86e6a26

Browse files
committed
clean up
Signed-off-by: Gerrit Meier <[email protected]>
1 parent e4b7e1a commit 86e6a26

File tree

2 files changed

+40
-2
lines changed

2 files changed

+40
-2
lines changed

src/main/java/org/springframework/data/neo4j/core/mapping/Constants.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,12 +171,12 @@ public final class Constants {
171171
/**
172172
* Vector search vector parameter name.
173173
*/
174-
public static final String VECTOR_SEARCH_VECTOR_PARAMETER = "__vector_search__";
174+
public static final String VECTOR_SEARCH_VECTOR_PARAMETER = "vectorSearchParam";
175175

176176
/**
177177
* Vector search score parameter name.
178178
*/
179-
public static final String VECTOR_SEARCH_SCORE_PARAMETER = "__score__";
179+
public static final String VECTOR_SEARCH_SCORE_PARAMETER = "scoreParam";
180180

181181
private Constants() {
182182
}

src/test/java/org/springframework/data/neo4j/repository/query/ReactiveRepositoryQueryTests.java

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.Collections;
2020
import java.util.List;
2121
import java.util.Map;
22+
import java.util.Optional;
2223
import java.util.function.UnaryOperator;
2324
import java.util.regex.Pattern;
2425

@@ -29,6 +30,7 @@
2930
import org.mockito.Mock;
3031
import org.mockito.Mockito;
3132
import org.mockito.junit.jupiter.MockitoExtension;
33+
import org.neo4j.cypherdsl.core.renderer.Configuration;
3234
import org.neo4j.driver.Values;
3335
import org.neo4j.driver.types.Point;
3436
import reactor.core.publisher.Flux;
@@ -39,6 +41,7 @@
3941
import org.springframework.data.domain.PageRequest;
4042
import org.springframework.data.domain.Pageable;
4143
import org.springframework.data.domain.Sort;
44+
import org.springframework.data.domain.Vector;
4245
import org.springframework.data.mapping.MappingException;
4346
import org.springframework.data.neo4j.core.PreparedQuery;
4447
import org.springframework.data.neo4j.core.ReactiveNeo4jOperations;
@@ -48,6 +51,7 @@
4851
import org.springframework.data.neo4j.test.LogbackCapturingExtension;
4952
import org.springframework.data.projection.ProjectionFactory;
5053
import org.springframework.data.projection.SpelAwareProxyProjectionFactory;
54+
import org.springframework.data.repository.core.NamedQueries;
5155
import org.springframework.data.repository.core.RepositoryMetadata;
5256
import org.springframework.data.repository.core.support.DefaultRepositoryMetadata;
5357
import org.springframework.data.repository.query.Param;
@@ -87,6 +91,9 @@ final class ReactiveRepositoryQueryTests {
8791
@Mock
8892
private ProjectionFactory projectionFactory;
8993

94+
@Mock
95+
NamedQueries namedQueries;
96+
9097
private ReactiveRepositoryQueryTests() {
9198
}
9299

@@ -133,6 +140,37 @@ Flux<TestEntity> makeStaticThingsDynamic(@Param("aDynamicLabelPt1") String aDyna
133140
Mono<TestEntity> findByDontDoThisInRealLiveNamed(@Param("location") org.neo4j.driver.types.Point location,
134141
@Param("name") String name, @Param("firstName") String aFirstName);
135142

143+
@VectorSearch(indexName = "testIndex", numberOfNodes = 2)
144+
Flux<TestEntity> annotatedVectorSearch(Vector vector);
145+
146+
@VectorSearch(indexName = "testIndex", numberOfNodes = 0)
147+
Flux<TestEntity> illegalAnnotatedVectorSearch(Vector vector);
148+
149+
}
150+
151+
@Nested
152+
class ReactiveNeo4jPartTreeTest {
153+
154+
@Test
155+
void findVectorSearchAnnotation() {
156+
157+
Neo4jQueryMethod neo4jQueryMethod = reactiveNeo4jQueryMethod("annotatedVectorSearch", Vector.class);
158+
159+
Optional<VectorSearch> optionalVectorSearchAnnotation = neo4jQueryMethod.getVectorSearchAnnotation();
160+
assertThat(optionalVectorSearchAnnotation).isPresent();
161+
}
162+
163+
@Test
164+
void failOnZeroNodesVectorSearchAnnotation() {
165+
var lookupStrategy = new ReactiveNeo4jQueryLookupStrategy(ReactiveRepositoryQueryTests.this.neo4jOperations,
166+
ReactiveRepositoryQueryTests.this.neo4jMappingContext, ValueExpressionDelegate.create(),
167+
Configuration.defaultConfig());
168+
169+
assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> lookupStrategy.resolveQuery(
170+
reactiveNeo4jQueryMethod("illegalAnnotatedVectorSearch", Vector.class).getMethod(),
171+
TEST_REPOSITORY_METADATA, PROJECTION_FACTORY, ReactiveRepositoryQueryTests.this.namedQueries));
172+
}
173+
136174
}
137175

138176
@Nested

0 commit comments

Comments
 (0)