From f466b0f0088f927d476f3376bf043e02e5f01494 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Mon, 9 Mar 2020 12:45:42 +0100 Subject: [PATCH] DATAJPA-1679 - Added a test. Original pull request: #414. Signed-off-by: Jens Schauder --- .../repository/query/QueryUtilsUnitTests.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/test/java/org/springframework/data/jpa/repository/query/QueryUtilsUnitTests.java b/src/test/java/org/springframework/data/jpa/repository/query/QueryUtilsUnitTests.java index 729845a48..4b60fb9ec 100644 --- a/src/test/java/org/springframework/data/jpa/repository/query/QueryUtilsUnitTests.java +++ b/src/test/java/org/springframework/data/jpa/repository/query/QueryUtilsUnitTests.java @@ -21,6 +21,7 @@ import static org.springframework.data.jpa.repository.query.QueryUtils.*; import java.util.Collections; import java.util.Set; +import org.assertj.core.api.SoftAssertions; import org.junit.Test; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.domain.Sort; @@ -483,6 +484,22 @@ public class QueryUtilsUnitTests { assertThat(detectAlias("select * from User\nu\norder \n by name")).isEqualTo("u"); } + @Test // DATAJPA-1679 + public void findProjectionClauseWithDistinct() { + + SoftAssertions.assertSoftly(sofly -> { + sofly.assertThat(QueryUtils.getProjection("select * from x")).isEqualTo("*"); + sofly.assertThat(QueryUtils.getProjection("select a, b, c from x")).isEqualTo("a, b, c"); + sofly.assertThat(QueryUtils.getProjection("select distinct a, b, c from x")).isEqualTo("a, b, c"); + sofly.assertThat(QueryUtils.getProjection("select DISTINCT a, b, c from x")).isEqualTo("a, b, c"); + }); + } + + @Test // DATAJPA-1679 + public void findProjectionClauseWithSubselect() { + assertThat(QueryUtils.getProjection("select * from (select x from y)")).isEqualTo("*"); + } + private static void assertCountQuery(String originalQuery, String countQuery) { assertThat(createCountQueryFor(originalQuery)).isEqualTo(countQuery); }