Skip to content

Commit b47198b

Browse files
committed
Issue #204 - Deleting by HashRange key example added
1 parent 1331286 commit b47198b

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

src/test/java/org/socialsignin/spring/data/dynamodb/domain/sample/CRUDOperationsIT.java

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import java.time.Instant;
4343
import java.util.ArrayList;
4444
import java.util.Arrays;
45+
import java.util.Collections;
4546
import java.util.List;
4647
import java.util.Optional;
4748
import java.util.concurrent.ThreadLocalRandom;
@@ -53,13 +54,13 @@
5354
import static org.junit.Assert.assertNotNull;
5455
import static org.junit.Assert.assertNull;
5556
import static org.junit.Assert.assertThat;
57+
import static org.junit.Assert.assertTrue;
5658
import static org.springframework.test.context.TestExecutionListeners.MergeMode.MERGE_WITH_DEFAULTS;
5759

5860
@RunWith(SpringJUnit4ClassRunner.class)
5961
@ContextConfiguration(classes = {DynamoDBLocalResource.class, CRUDOperationsIT.TestAppConfig.class})
6062
@TestExecutionListeners(listeners = TableCreationListener.class, mergeMode = MERGE_WITH_DEFAULTS)
61-
@DynamoDBCreateTable(entityClasses = {User.class})
62-
@Ignore
63+
@DynamoDBCreateTable(entityClasses = {User.class, Playlist.class})
6364
public class CRUDOperationsIT {
6465

6566
@Rule
@@ -74,11 +75,14 @@ public static class TestAppConfig {
7475
private UserRepository userRepository;
7576
@Autowired
7677
private UserPaginationRepository userPaginationRepository;
78+
@Autowired
79+
private PlaylistRepository playlistRepository;
7780

7881
@Before
7982
public void setUp() {
8083
userRepository.deleteAll();
8184
userPaginationRepository.deleteAll();
85+
playlistRepository.deleteAll();
8286
}
8387

8488
@Test
@@ -188,6 +192,23 @@ public void testDeleteNonExistent() {
188192
userRepository.deleteById("non-existent");
189193
}
190194

195+
@Test
196+
public void testDeleteHashRangeKey() {
197+
// setup
198+
long rnd = ThreadLocalRandom.current().nextLong();
199+
Playlist p = new Playlist();
200+
p.setPlaylistName("playlistName-" + rnd);
201+
p.setUserName("userName-" + rnd);
202+
203+
playlistRepository.save(p);
204+
205+
PlaylistId id = new PlaylistId("userName-" + rnd, "playlistName-" + rnd);
206+
assertTrue("Entity with id not found: " + id, playlistRepository.findById(id).isPresent());
207+
208+
playlistRepository.deleteById(id);
209+
assertFalse("Entity with id not deleted: " + id, playlistRepository.findById(id).isPresent());
210+
}
211+
191212
@Test
192213
public void testFilterAndPagination() {
193214

src/test/java/org/socialsignin/spring/data/dynamodb/domain/sample/PlaylistRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
*/
1616
package org.socialsignin.spring.data.dynamodb.domain.sample;
1717

18+
import org.socialsignin.spring.data.dynamodb.repository.EnableScan;
1819
import org.springframework.data.repository.CrudRepository;
1920

21+
@EnableScan
2022
public interface PlaylistRepository extends CrudRepository<Playlist, PlaylistId> {
2123

2224
}

0 commit comments

Comments
 (0)