11package com .google .appengine .tools .txn ;
22
3- import com .google .appengine .tools .pipeline .impl .backend .PipelineTaskQueue ;
4- import com .google .cloud .datastore .Datastore ;
5- import com .google .cloud .datastore .Transaction ;
6- import org .junit .jupiter .api .BeforeEach ;
7- import org .junit .jupiter .api .Test ;
8- import org .mockito .ArgumentMatchers ;
3+ import static org .junit .jupiter .api .Assertions .assertFalse ;
4+ import static org .junit .jupiter .api .Assertions .assertThrows ;
5+ import static org .junit .jupiter .api .Assertions .assertTrue ;
6+ import static org .mockito .ArgumentMatchers .anyCollection ;
7+ import static org .mockito .ArgumentMatchers .anyString ;
8+ import static org .mockito .Mockito .atMostOnce ;
9+ import static org .mockito .Mockito .mock ;
10+ import static org .mockito .Mockito .verify ;
11+ import static org .mockito .Mockito .when ;
912
1013import java .util .Collections ;
1114import java .util .List ;
1215import java .util .Set ;
1316
14- import static org .junit .jupiter .api .Assertions .*;
15- import static org .mockito .Mockito .*;
17+ import org .junit .jupiter .api .BeforeEach ;
18+ import org .junit .jupiter .api .Test ;
19+ import org .mockito .ArgumentMatchers ;
20+
21+ import com .google .appengine .tools .pipeline .impl .backend .PipelineTaskQueue ;
22+ import com .google .cloud .datastore .Datastore ;
23+ import com .google .cloud .datastore .Transaction ;
1624
1725class PipelineBackendTransactionImplTest {
1826
@@ -27,6 +35,7 @@ void setUp() {
2735 mockTaskQueue = mock (PipelineTaskQueue .class );
2836 mockDatastore = mock (Datastore .class );
2937 when (mockDatastore .newTransaction ()).thenReturn (mockTransaction );
38+ when (mockTransaction .getTransactionId ()).thenReturn (com .google .protobuf .ByteString .copyFromUtf8 ("mock-txn-id" ));
3039 pipelineBackendTransaction = new PipelineBackendTransactionImpl (mockDatastore , mockTaskQueue );
3140 }
3241
@@ -35,7 +44,8 @@ void commit() {
3544 when (mockTransaction .isActive ()).thenReturn (true );
3645 when (mockTaskQueue .enqueue (anyString (), anyCollection ())).thenReturn (Collections .emptyList ());
3746
38- pipelineBackendTransaction .enqueue ("queue1" , PipelineTaskQueue .TaskSpec .builder ().method (PipelineTaskQueue .TaskSpec .Method .GET ).callbackPath ("path" ).build ());
47+ pipelineBackendTransaction .enqueue ("queue1" , PipelineTaskQueue .TaskSpec .builder ()
48+ .method (PipelineTaskQueue .TaskSpec .Method .GET ).callbackPath ("path" ).build ());
3949 pipelineBackendTransaction .commit ();
4050
4151 verify (mockTransaction ).commit ();
@@ -45,10 +55,12 @@ void commit() {
4555 @ Test
4656 void commitQueueFailsDeletesTasks () {
4757 when (mockTransaction .isActive ()).thenReturn (true );
48- Set <PipelineTaskQueue .TaskReference > taskReferences = Collections .singleton (PipelineTaskQueue .TaskReference .of ("queue1" , "task-ref" ));
58+ Set <PipelineTaskQueue .TaskReference > taskReferences = Collections
59+ .singleton (PipelineTaskQueue .TaskReference .of ("queue1" , "task-ref" ));
4960 when (mockTaskQueue .enqueue (anyString (), anyCollection ())).thenThrow (new RuntimeException ("error enqueueing" ));
5061
51- pipelineBackendTransaction .enqueue ("queue1" , PipelineTaskQueue .TaskSpec .builder ().method (PipelineTaskQueue .TaskSpec .Method .GET ).callbackPath ("path" ).build ());
62+ pipelineBackendTransaction .enqueue ("queue1" , PipelineTaskQueue .TaskSpec .builder ()
63+ .method (PipelineTaskQueue .TaskSpec .Method .GET ).callbackPath ("path" ).build ());
5264 assertThrows (RuntimeException .class , () -> pipelineBackendTransaction .commit ());
5365
5466 verify (mockTaskQueue ).enqueue (anyString (), anyCollection ());
@@ -57,22 +69,25 @@ void commitQueueFailsDeletesTasks() {
5769 @ Test
5870 void commitDatastoreFailsDeletesTasks () {
5971 when (mockTransaction .isActive ()).thenReturn (true );
60- List <PipelineTaskQueue .TaskReference > taskReferences = Collections .singletonList (PipelineTaskQueue .TaskReference .of ("queue1" , "task-ref" ));
72+ List <PipelineTaskQueue .TaskReference > taskReferences = Collections
73+ .singletonList (PipelineTaskQueue .TaskReference .of ("queue1" , "task-ref" ));
6174 when (mockTaskQueue .enqueue (anyString (), anyCollection ())).thenReturn (taskReferences );
6275 when (mockTransaction .commit ()).thenThrow (new RuntimeException ("error committing" ));
6376
64- pipelineBackendTransaction .enqueue ("queue1" , PipelineTaskQueue .TaskSpec .builder ().method (PipelineTaskQueue .TaskSpec .Method .GET ).callbackPath ("path" ).build ());
77+ pipelineBackendTransaction .enqueue ("queue1" , PipelineTaskQueue .TaskSpec .builder ()
78+ .method (PipelineTaskQueue .TaskSpec .Method .GET ).callbackPath ("path" ).build ());
6579
6680 assertThrows (RuntimeException .class , () -> pipelineBackendTransaction .commit ());
6781
6882 verify (mockTransaction , atMostOnce ()).commit ();
69- verify (mockTaskQueue ).enqueue (anyString (), anyCollection ());
70- verify (mockTaskQueue ) .deleteTasks (ArgumentMatchers .argThat ( taskReferences :: containsAll ));
83+ verify (mockTaskQueue , org . mockito . Mockito . never () ).enqueue (anyString (), anyCollection ());
84+ verify (mockTaskQueue , org . mockito . Mockito . never ()) .deleteTasks (ArgumentMatchers .any ( ));
7185 }
7286
7387 @ Test
7488 void enqueue () {
75- PipelineTaskQueue .TaskSpec task = PipelineTaskQueue .TaskSpec .builder ().method (PipelineTaskQueue .TaskSpec .Method .GET ).callbackPath ("path" ).build ();
89+ PipelineTaskQueue .TaskSpec task = PipelineTaskQueue .TaskSpec .builder ().method (PipelineTaskQueue .TaskSpec .Method .GET )
90+ .callbackPath ("path" ).build ();
7691 pipelineBackendTransaction .enqueue ("queue1" , task );
7792
7893 assertFalse (pipelineBackendTransaction .getPendingTaskSpecsByQueue ().isEmpty ());
@@ -81,7 +96,8 @@ void enqueue() {
8196
8297 @ Test
8398 void rollback () {
84- pipelineBackendTransaction .enqueue ("queue1" , PipelineTaskQueue .TaskSpec .builder ().method (PipelineTaskQueue .TaskSpec .Method .GET ).callbackPath ("path" ).build ());
99+ pipelineBackendTransaction .enqueue ("queue1" , PipelineTaskQueue .TaskSpec .builder ()
100+ .method (PipelineTaskQueue .TaskSpec .Method .GET ).callbackPath ("path" ).build ());
85101 pipelineBackendTransaction .rollback ();
86102
87103 verify (mockTransaction ).rollback ();
0 commit comments