From 45426db150a590111551fff5fc93acaf41f1a6ac Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Thu, 24 Aug 2023 15:29:41 +0200 Subject: [PATCH] [Minor] Added additional tests for non-unique IDs --- .../runtime/ActivityModelTestRunner.java | 31 ++++++++++++++++++ .../runtime/OrderModelTestRunner.java | 31 ++++++++++++++++++ .../runtime/ResourceModelTestRunner.java | 32 +++++++++++++++++++ 3 files changed, 94 insertions(+) diff --git a/test-base/src/main/java/li/strolch/testbase/runtime/ActivityModelTestRunner.java b/test-base/src/main/java/li/strolch/testbase/runtime/ActivityModelTestRunner.java index 90826892f..3300fe03e 100644 --- a/test-base/src/main/java/li/strolch/testbase/runtime/ActivityModelTestRunner.java +++ b/test-base/src/main/java/li/strolch/testbase/runtime/ActivityModelTestRunner.java @@ -173,6 +173,7 @@ public class ActivityModelTestRunner { tx.commitOnClose(); } + // update elements try (StrolchTransaction tx = this.runtimeMock.getRealm(this.realmName) .openTx(this.certificate, "test", false)) { Activity act1 = tx.getActivityBy("NonUnique1", "non-unique-id"); @@ -181,6 +182,36 @@ public class ActivityModelTestRunner { assertNotNull(act2); assertEquals("NonUnique1", act1.getName()); assertEquals("NonUnique2", act2.getName()); + + act1.setName("New Name 1!"); + act2.setName("New Name 2!"); + tx.update(act1); + tx.update(act2); + tx.commitOnClose(); + } + + // remove elements + try (StrolchTransaction tx = this.runtimeMock.getRealm(this.realmName) + .openTx(this.certificate, "test", false)) { + Activity act1 = tx.getActivityBy("NonUnique1", "non-unique-id"); + Activity act2 = tx.getActivityBy("NonUnique2", "non-unique-id"); + assertNotNull(act1); + assertNotNull(act2); + assertEquals("New Name 1!", act1.getName()); + assertEquals("New Name 2!", act2.getName()); + + tx.remove(act1); + tx.remove(act2); + tx.commitOnClose(); + } + + // validate doesn't exist anymore + try (StrolchTransaction tx = this.runtimeMock.getRealm(this.realmName) + .openTx(this.certificate, "test", false)) { + Activity act1 = tx.getActivityBy("NonUnique1", "non-unique-id"); + Activity act2 = tx.getActivityBy("NonUnique2", "non-unique-id"); + assertNull(act1); + assertNull(act2); } } diff --git a/test-base/src/main/java/li/strolch/testbase/runtime/OrderModelTestRunner.java b/test-base/src/main/java/li/strolch/testbase/runtime/OrderModelTestRunner.java index cbfecf8ca..eab32085d 100644 --- a/test-base/src/main/java/li/strolch/testbase/runtime/OrderModelTestRunner.java +++ b/test-base/src/main/java/li/strolch/testbase/runtime/OrderModelTestRunner.java @@ -238,6 +238,7 @@ public class OrderModelTestRunner { tx.commitOnClose(); } + // update elements try (StrolchTransaction tx = this.runtimeMock.getRealm(this.realmName) .openTx(this.certificate, "test", false)) { Order order1 = tx.getOrderBy("NonUnique1", "non-unique-id"); @@ -246,6 +247,36 @@ public class OrderModelTestRunner { assertNotNull(order2); assertEquals("NonUnique1", order1.getName()); assertEquals("NonUnique2", order2.getName()); + + order1.setName("New Name 1!"); + order2.setName("New Name 2!"); + tx.update(order1); + tx.update(order2); + tx.commitOnClose(); + } + + // remove elements + try (StrolchTransaction tx = this.runtimeMock.getRealm(this.realmName) + .openTx(this.certificate, "test", false)) { + Order order1 = tx.getOrderBy("NonUnique1", "non-unique-id"); + Order order2 = tx.getOrderBy("NonUnique2", "non-unique-id"); + assertNotNull(order1); + assertNotNull(order2); + assertEquals("New Name 1!", order1.getName()); + assertEquals("New Name 2!", order2.getName()); + + tx.remove(order1); + tx.remove(order2); + tx.commitOnClose(); + } + + // validate doesn't exist anymore + try (StrolchTransaction tx = this.runtimeMock.getRealm(this.realmName) + .openTx(this.certificate, "test", false)) { + Order order1 = tx.getOrderBy("NonUnique1", "non-unique-id"); + Order order2 = tx.getOrderBy("NonUnique2", "non-unique-id"); + assertNull(order1); + assertNull(order2); } } diff --git a/test-base/src/main/java/li/strolch/testbase/runtime/ResourceModelTestRunner.java b/test-base/src/main/java/li/strolch/testbase/runtime/ResourceModelTestRunner.java index cace48c8d..cd10ea674 100644 --- a/test-base/src/main/java/li/strolch/testbase/runtime/ResourceModelTestRunner.java +++ b/test-base/src/main/java/li/strolch/testbase/runtime/ResourceModelTestRunner.java @@ -22,6 +22,7 @@ import java.util.*; import li.strolch.agent.api.ResourceMap; import li.strolch.agent.impl.DataStoreMode; +import li.strolch.model.Order; import li.strolch.model.Resource; import li.strolch.model.StrolchElement; import li.strolch.model.parameter.StringParameter; @@ -164,6 +165,7 @@ public class ResourceModelTestRunner { tx.commitOnClose(); } + // update elements try (StrolchTransaction tx = this.runtimeMock.getRealm(this.realmName) .openTx(this.certificate, "test", false)) { Resource res1 = tx.getResourceBy("NonUnique1", "non-unique-id"); @@ -172,6 +174,36 @@ public class ResourceModelTestRunner { assertNotNull(res2); assertEquals("NonUnique1", res1.getName()); assertEquals("NonUnique2", res2.getName()); + + res1.setName("New Name 1!"); + res2.setName("New Name 2!"); + tx.update(res1); + tx.update(res2); + tx.commitOnClose(); + } + + // remove elements + try (StrolchTransaction tx = this.runtimeMock.getRealm(this.realmName) + .openTx(this.certificate, "test", false)) { + Resource res1 = tx.getResourceBy("NonUnique1", "non-unique-id"); + Resource res2 = tx.getResourceBy("NonUnique2", "non-unique-id"); + assertNotNull(res1); + assertNotNull(res2); + assertEquals("New Name 1!", res1.getName()); + assertEquals("New Name 2!", res2.getName()); + + tx.remove(res1); + tx.remove(res2); + tx.commitOnClose(); + } + + // validate doesn't exist anymore + try (StrolchTransaction tx = this.runtimeMock.getRealm(this.realmName) + .openTx(this.certificate, "test", false)) { + Resource res1 = tx.getResourceBy("NonUnique1", "non-unique-id"); + Resource res2 = tx.getResourceBy("NonUnique2", "non-unique-id"); + assertNull(res1); + assertNull(res2); } }