Skip to content

Commit 9a22bb2

Browse files
authored
Fix in SingleEntityQuery to prevent return of list with null element (return a empty list instead) (#214)
1 parent dbde40b commit 9a22bb2

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed

src/main/java/org/socialsignin/spring/data/dynamodb/query/AbstractSingleEntityQuery.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import org.socialsignin.spring.data.dynamodb.core.DynamoDBOperations;
1919

20+
import java.util.ArrayList;
2021
import java.util.Arrays;
2122
import java.util.List;
2223

@@ -28,6 +29,7 @@ public AbstractSingleEntityQuery(DynamoDBOperations dynamoDBOperations, Class<T>
2829

2930
@Override
3031
public List<T> getResultList() {
31-
return Arrays.asList(getSingleResult());
32+
T result = getSingleResult();
33+
return result != null ? Arrays.asList(result) : new ArrayList<>();
3234
}
3335
}

src/test/java/org/socialsignin/spring/data/dynamodb/query/AbstractSingleEntityQueryTest.java

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616
package org.socialsignin.spring.data.dynamodb.query;
1717

18-
import org.junit.Before;
1918
import org.junit.Test;
2019
import org.mockito.Mock;
2120
import org.socialsignin.spring.data.dynamodb.core.DynamoDBOperations;
@@ -29,27 +28,36 @@ public class AbstractSingleEntityQueryTest {
2928

3029
@Mock
3130
private DynamoDBOperations dynamoDBOperations;
32-
@Mock
33-
private User entity;
31+
32+
private final User entity = new User();
3433

3534
private AbstractSingleEntityQuery<User> underTest;
3635

37-
@Before
38-
public void setUp() {
36+
@Test
37+
public void testGetResultList() {
3938
underTest = new AbstractSingleEntityQuery<User>(dynamoDBOperations, User.class) {
4039
@Override
4140
public User getSingleResult() {
4241
return entity;
4342
}
4443
};
45-
}
4644

47-
@Test
48-
public void testGetResultList() {
4945
List<User> actual = underTest.getResultList();
5046

5147
assertEquals(1, actual.size());
5248
assertEquals(entity, actual.get(0));
5349
}
5450

51+
@Test
52+
public void testGetResultListEmpty() {
53+
underTest = new AbstractSingleEntityQuery<User>(dynamoDBOperations, User.class) {
54+
@Override
55+
public User getSingleResult() { return null; }
56+
};
57+
58+
List<User> actual = underTest.getResultList();
59+
60+
assertEquals(0, actual.size());
61+
}
62+
5563
}

0 commit comments

Comments
 (0)