Skip to content

Commit 49b3b2b

Browse files
JsonToNative: adapt TestEntity changes from integ. tests #268
1 parent 458e687 commit 49b3b2b

File tree

6 files changed

+35
-8
lines changed

6 files changed

+35
-8
lines changed

tests/objectbox-java-test/src/main/java/io/objectbox/TestEntity.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,13 @@ public class TestEntity {
7676
private float[] floatArray;
7777
private double[] doubleArray;
7878
private Date date;
79-
// Just smoke testing, also use UUID instead of the default Mongo ID
79+
// Just smoke testing this property type (tests do not use Sync).
80+
// Also use UUID instead of the default MONGO_ID.
8081
@ExternalType(ExternalPropertyType.UUID)
8182
private byte[] externalId;
83+
// Just smoke testing this property type (tests do not use Sync).
84+
@ExternalType(ExternalPropertyType.JSON_TO_NATIVE)
85+
private String externalJsonToNative;
8286

8387
transient boolean noArgsConstructorCalled;
8488

@@ -115,7 +119,8 @@ public TestEntity(long id,
115119
float[] floatArray,
116120
double[] doubleArray,
117121
Date date,
118-
byte[] externalId
122+
byte[] externalId,
123+
String externalJsonToNative
119124
) {
120125
this.id = id;
121126
this.simpleBoolean = simpleBoolean;
@@ -143,6 +148,7 @@ public TestEntity(long id,
143148
this.doubleArray = doubleArray;
144149
this.date = date;
145150
this.externalId = externalId;
151+
this.externalJsonToNative = externalJsonToNative;
146152
if (STRING_VALUE_THROW_IN_CONSTRUCTOR.equals(simpleString)) {
147153
throw new RuntimeException(EXCEPTION_IN_CONSTRUCTOR_MESSAGE);
148154
}
@@ -370,6 +376,15 @@ public void setExternalId(@Nullable byte[] externalId) {
370376
this.externalId = externalId;
371377
}
372378

379+
@Nullable
380+
public String getExternalJsonToNative() {
381+
return externalJsonToNative;
382+
}
383+
384+
public void setExternalJsonToNative(@Nullable String externalJsonToNative) {
385+
this.externalJsonToNative = externalJsonToNative;
386+
}
387+
373388
@Override
374389
public String toString() {
375390
return "TestEntity{" +
@@ -399,6 +414,7 @@ public String toString() {
399414
", doubleArray=" + Arrays.toString(doubleArray) +
400415
", date=" + date +
401416
", externalId=" + Arrays.toString(externalId) +
417+
", externalJsonToString='" + externalJsonToNative + '\'' +
402418
", noArgsConstructorCalled=" + noArgsConstructorCalled +
403419
'}';
404420
}

tests/objectbox-java-test/src/main/java/io/objectbox/TestEntityCursor.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ public Cursor<TestEntity> createCursor(io.objectbox.Transaction tx, long cursorH
7575
private final static int __ID_doubleArray = TestEntity_.doubleArray.id;
7676
private final static int __ID_date = TestEntity_.date.id;
7777
private final static int __ID_externalId = TestEntity_.externalId.id;
78+
private final static int __ID_externalJsonToNative = TestEntity_.externalJsonToNative.id;
7879

7980
public TestEntityCursor(io.objectbox.Transaction tx, long cursor, BoxStore boxStore) {
8081
super(tx, cursor, TestEntity_.__INSTANCE, boxStore);
@@ -149,6 +150,8 @@ public long put(TestEntity entity) {
149150

150151
String simpleString = entity.getSimpleString();
151152
int __id8 = simpleString != null ? __ID_simpleString : 0;
153+
String externalJsonToNative = entity.getExternalJsonToNative();
154+
int __id26 = externalJsonToNative != null ? __ID_externalJsonToNative : 0;
152155
byte[] simpleByteArray = entity.getSimpleByteArray();
153156
int __id9 = simpleByteArray != null ? __ID_simpleByteArray : 0;
154157
byte[] externalId = entity.getExternalId();
@@ -157,7 +160,7 @@ public long put(TestEntity entity) {
157160
int __id15 = stringObjectMap != null ? __ID_stringObjectMap : 0;
158161

159162
collect430000(cursor, 0, 0,
160-
__id8, simpleString, 0, null,
163+
__id8, simpleString, __id26, externalJsonToNative,
161164
0, null, 0, null,
162165
__id9, simpleByteArray, __id25, externalId,
163166
__id15, __id15 != 0 ? stringObjectMapConverter.convertToDatabaseValue(stringObjectMap) : null);

tests/objectbox-java-test/src/main/java/io/objectbox/TestEntity_.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,9 @@ public final class TestEntity_ implements EntityInfo<TestEntity> {
130130
public final static io.objectbox.Property<TestEntity> externalId =
131131
new io.objectbox.Property<>(__INSTANCE, 25, 25, byte[].class, "externalId");
132132

133+
public final static io.objectbox.Property<TestEntity> externalJsonToNative =
134+
new io.objectbox.Property<>(__INSTANCE, 26, 27, String.class, "externalJsonToNative");
135+
133136
@SuppressWarnings("unchecked")
134137
public final static io.objectbox.Property<TestEntity>[] __ALL_PROPERTIES = new io.objectbox.Property[]{
135138
id,
@@ -157,7 +160,8 @@ public final class TestEntity_ implements EntityInfo<TestEntity> {
157160
floatArray,
158161
doubleArray,
159162
date,
160-
externalId
163+
externalId,
164+
externalJsonToNative
161165
};
162166

163167
public final static io.objectbox.Property<TestEntity> __ID_PROPERTY = id;

tests/objectbox-java-test/src/test/java/io/objectbox/AbstractObjectBoxTest.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -305,13 +305,14 @@ private void addTestEntity(ModelBuilder modelBuilder, @Nullable IndexType simple
305305
// Date property
306306
entityBuilder.property("date", PropertyType.Date).id(TestEntity_.date.id, ++lastUid);
307307

308-
int lastId = TestEntity_.externalId.id;
309-
310308
// External type property
311309
// Note: there is no way to test external type mapping works here. Instead, verify passing a model with
312310
// externalType(int) works.
313-
entityBuilder.property("externalId", PropertyType.ByteVector).id(lastId, ++lastUid)
311+
entityBuilder.property("externalId", PropertyType.ByteVector).id(TestEntity_.externalId.id, ++lastUid)
314312
.externalType(ExternalPropertyType.Uuid);
313+
int lastId = TestEntity_.externalJsonToNative.id;
314+
entityBuilder.property("externalJsonToNative", PropertyType.String).id(lastId, ++lastUid)
315+
.externalType(ExternalPropertyType.JsonToNative);
315316

316317
entityBuilder.lastPropertyId(lastId, lastUid);
317318
addOptionalFlagsToTestEntity(entityBuilder);
@@ -377,6 +378,7 @@ protected TestEntity createTestEntity(@Nullable String simpleString, int nr) {
377378
// Note: there is no way to test external type mapping works here. Instead, verify that
378379
// there are no side effects for put and get.
379380
entity.setExternalId(simpleByteArray);
381+
entity.setExternalJsonToNative("{\"simpleString\":\"" + simpleString + "\"}");
380382
return entity;
381383
}
382384

tests/objectbox-java-test/src/test/java/io/objectbox/BoxStoreBuilderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ public void maxDataSize() {
302302
DbMaxDataSizeExceededException.class,
303303
() -> getTestEntityBox().put(testEntity2)
304304
);
305-
assertEquals("Exceeded user-set maximum by [bytes]: 592", maxDataExc.getMessage());
305+
assertEquals("Exceeded user-set maximum by [bytes]: 768", maxDataExc.getMessage());
306306

307307
// Remove to get below max data size, then put again.
308308
getTestEntityBox().remove(testEntity1);

tests/objectbox-java-test/src/test/java/io/objectbox/BoxTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ public void testPutAndGet() {
9090
assertArrayEquals(new double[]{-valDouble, valDouble}, entity.getDoubleArray(), 0);
9191
assertEquals(new Date(1000 + simpleInt), entity.getDate());
9292
assertArrayEquals(valByteArray, entity.getExternalId());
93+
assertEquals("{\"simpleString\":\"" + simpleString + "\"}", entity.getExternalJsonToNative());
9394
}
9495

9596
@Test
@@ -122,6 +123,7 @@ public void testPutAndGet_defaultOrNullValues() {
122123
assertNull(defaultEntity.getDoubleArray());
123124
assertNull(defaultEntity.getDate());
124125
assertNull(defaultEntity.getExternalId());
126+
assertNull(defaultEntity.getExternalJsonToNative());
125127
}
126128

127129
// Note: There is a similar test using the Cursor API directly (which is deprecated) in CursorTest.

0 commit comments

Comments
 (0)