File tree Expand file tree Collapse file tree 3 files changed +24
-1
lines changed
main/java/net/staticstudios/data
test/java/net/staticstudios/data Expand file tree Collapse file tree 3 files changed +24
-1
lines changed Original file line number Diff line number Diff line change 99import com .zaxxer .hikari .pool .HikariPool ;
1010import net .staticstudios .data .data .Data ;
1111import net .staticstudios .data .data .InitialValue ;
12+ import net .staticstudios .data .data .Reference ;
1213import net .staticstudios .data .data .UniqueData ;
1314import net .staticstudios .data .data .collection .PersistentManyToManyCollection ;
1415import net .staticstudios .data .data .collection .PersistentUniqueDataCollection ;
@@ -202,6 +203,11 @@ public <T extends UniqueData> List<T> loadAll(Class<T> clazz) {
202203 dummyValueMap .put (value .getSchema () + "." + value .getTable (), value );
203204 }
204205
206+ if (data instanceof Reference <?> reference ) {
207+ PersistentValue <?> value = reference .getBackingValue ();
208+ dummyValueMap .put (value .getSchema () + "." + value .getTable (), value );
209+ }
210+
205211 if (data instanceof SimplePersistentCollection <?> collection ) {
206212 dummySimplePersistentCollectionMap .put (collection .getSchema () + "." + collection .getTable (), collection );
207213 dummySimplePersistentCollections .put (data .getHolder ().getRootHolder (), collection );
Original file line number Diff line number Diff line change @@ -89,4 +89,8 @@ public DataHolder getHolder() {
8989 public UniqueData getRootHolder () {
9090 return holder .getRootHolder ();
9191 }
92+
93+ public PersistentValue <UUID > getBackingValue () {
94+ return id ;
95+ }
9296}
Original file line number Diff line number Diff line change 55import net .staticstudios .data .mock .reference .SnapchatUser ;
66import net .staticstudios .data .mock .reference .SnapchatUserSettings ;
77import org .junit .jupiter .api .BeforeEach ;
8+ import org .junit .jupiter .api .Test ;
89import org .junitpioneer .jupiter .RetryingTest ;
910
1011import java .sql .SQLException ;
@@ -74,7 +75,7 @@ public void testLoadingReference() {
7475 assertFalse (user .getSettings ().getEnableFriendRequests ());
7576 }
7677
77- @ RetryingTest ( 5 )
78+ @ Test
7879 public void testSetReference () {
7980 MockEnvironment environment = getMockEnvironments ().getFirst ();
8081 DataManager dataManager = environment .dataManager ();
@@ -88,5 +89,17 @@ public void testSetReference() {
8889
8990 user .setFavoriteUser (null );
9091 assertNull (user .getFavoriteUser ());
92+
93+ waitForDataPropagation ();
94+
95+ try (Statement statement = getConnection ().createStatement ()) {
96+ statement .executeUpdate ("update snapchat.users set favorite_user_id = '" + favoriteUser .getId () + "' where id = '" + user .getId () + "'" );
97+ } catch (SQLException e ) {
98+ throw new RuntimeException (e );
99+ }
100+
101+ waitForDataPropagation ();
102+
103+ assertEquals (favoriteUser , user .getFavoriteUser ());
91104 }
92105}
You can’t perform that action at this time.
0 commit comments