Skip to content

Commit c6f192e

Browse files
authored
Add a run-time namespace placeholder using system properties tests. (#89)
1 parent 622ff98 commit c6f192e

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package com.aerospike.mapper;
2+
3+
import com.aerospike.client.AerospikeException;
4+
import com.aerospike.mapper.annotations.AerospikeKey;
5+
import com.aerospike.mapper.annotations.AerospikeRecord;
6+
import com.aerospike.mapper.tools.AeroMapper;
7+
import org.junit.jupiter.api.Test;
8+
9+
import java.util.Properties;
10+
11+
import static org.junit.jupiter.api.Assertions.*;
12+
13+
public class NamespacePlaceHolderTest extends AeroMapperBaseTest {
14+
15+
@AerospikeRecord(namespace = "${namespace.name:default}", set = "set1")
16+
public static class PlaceHolderModel {
17+
18+
@AerospikeKey
19+
String id;
20+
String name;
21+
String email;
22+
}
23+
24+
@Test
25+
public void shouldSave() {
26+
Properties props = System.getProperties();
27+
props.setProperty("namespace.name", "test");
28+
29+
PlaceHolderModel placeHolderModel1 = new PlaceHolderModel();
30+
placeHolderModel1.id = "id1";
31+
placeHolderModel1.name = "name1";
32+
placeHolderModel1.email = "[email protected]";
33+
34+
AeroMapper mapper = new AeroMapper.Builder(client).build();
35+
mapper.save(placeHolderModel1);
36+
37+
PlaceHolderModel placeHolderModelRead = mapper.read(PlaceHolderModel.class, placeHolderModel1.id);
38+
assertEquals(placeHolderModel1.email, placeHolderModelRead.email);
39+
}
40+
41+
@Test
42+
public void shouldFailOnNonExistingNamespace() {
43+
Properties props = System.getProperties();
44+
props.setProperty("namespace.name", "non-existing-namespace");
45+
46+
PlaceHolderModel placeHolderModel1 = new PlaceHolderModel();
47+
placeHolderModel1.id = "id1";
48+
placeHolderModel1.name = "name1";
49+
placeHolderModel1.email = "[email protected]";
50+
51+
AeroMapper mapper = new AeroMapper.Builder(client).build();
52+
53+
try {
54+
mapper.save(placeHolderModel1);
55+
fail();
56+
} catch (AerospikeException ae) {
57+
assertTrue(true);
58+
}
59+
}
60+
}

0 commit comments

Comments
 (0)