11package com .arangodb .springframework .transaction ;
22
3- import com .arangodb .ArangoDB ;
43import com .arangodb .ArangoDatabase ;
5- import com .arangodb .DbName ;
64import com .arangodb .entity .StreamTransactionEntity ;
75import com .arangodb .entity .StreamTransactionStatus ;
86import com .arangodb .model .StreamTransactionOptions ;
@@ -72,7 +70,7 @@ public void cleanupSync() {
7270
7371 @ Test
7472 public void getTransactionReturnsNewTransactionWithoutStreamTransaction () {
75- TransactionStatus status = underTest .getTransaction (new DefaultTransactionAttribute ( ));
73+ TransactionStatus status = underTest .getTransaction (createTransactionAttribute ( "test" ));
7674 assertThat (status .isNewTransaction (), is (true ));
7775 verify (bridge ).setCurrentTransaction (any ());
7876 ArangoTransactionHolder resource = (ArangoTransactionHolder ) TransactionSynchronizationManager .getResource (underTest );
@@ -84,12 +82,8 @@ public void getTransactionReturnsNewTransactionWithoutStreamTransaction() {
8482
8583 @ Test
8684 public void innerGetTransactionIsNotNewTransactionIncludingFormerCollections () {
87- DefaultTransactionAttribute first = new DefaultTransactionAttribute ();
88- first .setLabels (Collections .singleton ("foo" ));
89- TransactionStatus outer = underTest .getTransaction (first );
90- DefaultTransactionAttribute second = new DefaultTransactionAttribute ();
91- second .setLabels (Collections .singleton ("bar" ));
92- TransactionStatus inner = underTest .getTransaction (second );
85+ TransactionStatus outer = underTest .getTransaction (createTransactionAttribute ("outer" , "foo" ));
86+ TransactionStatus inner = underTest .getTransaction (createTransactionAttribute ("inner" , "bar" ));
9387 assertThat (inner .isNewTransaction (), is (false ));
9488 ArangoTransactionObject transactionObject = getTransactionObject (inner );
9589 assertThat (transactionObject .getHolder ().getCollectionNames (), hasItems ("foo" , "bar" ));
@@ -98,8 +92,8 @@ public void innerGetTransactionIsNotNewTransactionIncludingFormerCollections() {
9892
9993 @ Test (expected = UnexpectedRollbackException .class )
10094 public void innerRollbackCausesUnexpectedRollbackOnOuterCommit () {
101- TransactionStatus outer = underTest .getTransaction (new DefaultTransactionAttribute ( ));
102- TransactionStatus inner = underTest .getTransaction (new DefaultTransactionAttribute ( ));
95+ TransactionStatus outer = underTest .getTransaction (createTransactionAttribute ( "outer" ));
96+ TransactionStatus inner = underTest .getTransaction (createTransactionAttribute ( "inner" ));
10397 underTest .rollback (inner );
10498 try {
10599 underTest .commit (outer );
@@ -110,8 +104,7 @@ public void innerRollbackCausesUnexpectedRollbackOnOuterCommit() {
110104
111105 @ Test
112106 public void getTransactionReturnsTransactionCreatesStreamTransactionWithAllCollectionsOnBridgeBeginCall () {
113- DefaultTransactionAttribute definition = new DefaultTransactionAttribute ();
114- definition .setLabels (Collections .singleton ("baz" ));
107+ DefaultTransactionAttribute definition = createTransactionAttribute ("timeout" , "baz" );
115108 definition .setTimeout (20 );
116109 TransactionStatus status = underTest .getTransaction (definition );
117110 beginTransaction ("123" , "foo" , "bar" );
@@ -127,17 +120,14 @@ public void getTransactionReturnsTransactionCreatesStreamTransactionWithAllColle
127120
128121 @ Test
129122 public void nestedGetTransactionReturnsExistingTransactionWithFormerCollections () {
130- DefaultTransactionAttribute first = new DefaultTransactionAttribute ();
131- first .setLabels (Collections .singleton ("foo" ));
132- TransactionStatus outer = underTest .getTransaction (first );
123+ TransactionStatus outer = underTest .getTransaction (createTransactionAttribute ("outer" , "foo" ));
133124 assertThat (outer .isNewTransaction (), is (true ));
134125
135126 beginTransaction ("123" , "foo" , "bar" );
136127 when (streamTransaction .getStatus ())
137128 .thenReturn (StreamTransactionStatus .running );
138129
139- DefaultTransactionAttribute second = new DefaultTransactionAttribute ();
140- second .setLabels (Collections .singleton ("bar" ));
130+ DefaultTransactionAttribute second = createTransactionAttribute ("inner" , "bar" );
141131 TransactionStatus inner1 = underTest .getTransaction (second );
142132 assertThat (inner1 .isNewTransaction (), is (false ));
143133 ArangoTransactionObject tx1 = getTransactionObject (inner1 );
@@ -155,9 +145,8 @@ public void nestedGetTransactionReturnsExistingTransactionWithFormerCollections(
155145
156146 @ Test
157147 public void getTransactionForPropagationSupportsWithoutExistingCreatesDummyTransaction () {
158- DefaultTransactionAttribute supports = new DefaultTransactionAttribute ( );
148+ DefaultTransactionAttribute supports = createTransactionAttribute ( "test" , "foo" );
159149 supports .setPropagationBehavior (TransactionDefinition .PROPAGATION_SUPPORTS );
160- supports .setLabels (Collections .singleton ("foo" ));
161150 TransactionStatus empty = underTest .getTransaction (supports );
162151 assertThat (empty .isNewTransaction (), is (false ));
163152 underTest .commit (empty );
@@ -167,12 +156,9 @@ public void getTransactionForPropagationSupportsWithoutExistingCreatesDummyTrans
167156
168157 @ Test
169158 public void getTransactionForPropagationSupportsWithExistingCreatesInner () {
170- DefaultTransactionAttribute first = new DefaultTransactionAttribute ();
171- first .setLabels (Collections .singleton ("foo" ));
172- TransactionStatus outer = underTest .getTransaction (first );
173- DefaultTransactionAttribute supports = new DefaultTransactionAttribute ();
159+ TransactionStatus outer = underTest .getTransaction (createTransactionAttribute ("outer" , "foo" ));
160+ DefaultTransactionAttribute supports = createTransactionAttribute ("supports" , "bar" );
174161 supports .setPropagationBehavior (TransactionDefinition .PROPAGATION_SUPPORTS );
175- supports .setLabels (Collections .singleton ("bar" ));
176162 TransactionStatus inner = underTest .getTransaction (supports );
177163 assertThat (inner .isNewTransaction (), is (false ));
178164 underTest .commit (inner );
@@ -183,10 +169,7 @@ public void getTransactionForPropagationSupportsWithExistingCreatesInner() {
183169
184170 @ Test
185171 public void getTransactionWithMultipleBridgeCallsWorksForKnownCollections () {
186- DefaultTransactionAttribute definition = new DefaultTransactionAttribute ();
187- definition .setLabels (Collections .singleton ("baz" ));
188- definition .setTimeout (20 );
189- underTest .getTransaction (definition );
172+ underTest .getTransaction (createTransactionAttribute ("test" , "baz" ));
190173 beginTransaction ("123" , "foo" );
191174 beginPassed .getValue ().apply (Arrays .asList ("foo" , "baz" ));
192175 verify (database ).beginStreamTransaction (optionsPassed .capture ());
@@ -196,10 +179,7 @@ public void getTransactionWithMultipleBridgeCallsWorksForKnownCollections() {
196179
197180 @ Test
198181 public void getTransactionWithMultipleBridgeCallsIgnoresAdditionalCollections () {
199- DefaultTransactionAttribute definition = new DefaultTransactionAttribute ();
200- definition .setLabels (Collections .singleton ("bar" ));
201- definition .setTimeout (20 );
202- TransactionStatus state = underTest .getTransaction (definition );
182+ TransactionStatus state = underTest .getTransaction (createTransactionAttribute ("test" , "bar" ));
203183 beginTransaction ("123" , "foo" );
204184 beginPassed .getValue ().apply (Collections .singletonList ("baz" ));
205185 assertThat (getTransactionObject (state ).getHolder ().getCollectionNames (), hasItems ("foo" , "bar" ));
@@ -208,7 +188,7 @@ public void getTransactionWithMultipleBridgeCallsIgnoresAdditionalCollections()
208188
209189 @ Test (expected = InvalidIsolationLevelException .class )
210190 public void getTransactionThrowsInvalidIsolationLevelExceptionForIsolationSerializable () {
211- DefaultTransactionAttribute definition = new DefaultTransactionAttribute ( );
191+ DefaultTransactionAttribute definition = createTransactionAttribute ( "serializable" );
212192 definition .setIsolationLevel (TransactionDefinition .ISOLATION_SERIALIZABLE );
213193 underTest .getTransaction (definition );
214194 }
@@ -235,4 +215,11 @@ private ArangoTransactionObject getTransactionObject(TransactionStatus status) {
235215 private TransactionCollectionOptions getCollections (StreamTransactionOptions options ) {
236216 return (TransactionCollectionOptions ) forDirectFieldAccess (options ).getPropertyValue ("collections" );
237217 }
218+
219+ private static DefaultTransactionAttribute createTransactionAttribute (String name , String ... collections ) {
220+ DefaultTransactionAttribute transactionAttribute = new DefaultTransactionAttribute ();
221+ transactionAttribute .setName (name );
222+ transactionAttribute .setLabels (Arrays .asList (collections ));
223+ return transactionAttribute ;
224+ }
238225}
0 commit comments