Skip to content

Commit 9f0b59b

Browse files
committed
setup tests transaction states
1 parent 46bfb8a commit 9f0b59b

File tree

1 file changed

+92
-17
lines changed

1 file changed

+92
-17
lines changed

tests/Integration/TransactionIntegrationTest.php

Lines changed: 92 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,13 @@ public function testValidRun(string $alias): void
4343
self::markTestSkipped('Cannot guarantee successful test in cluster');
4444
}
4545

46-
$response = $this->getClient()->beginTransaction(null, $alias)->run(<<<'CYPHER'
46+
$tsx = $this->getClient()->beginTransaction(null, $alias);
47+
48+
self::assertFalse($tsx->isFinished());
49+
self::assertFalse($tsx->isRolledBack());
50+
self::assertFalse($tsx->isCommitted());
51+
52+
$response = $tsx->run(<<<'CYPHER'
4753
MERGE (x:TestNode {test: $test})
4854
WITH x
4955
MERGE (y:OtherTestNode {test: $otherTest})
@@ -59,6 +65,10 @@ public function testValidRun(string $alias): void
5965
self::assertEquals('a', $map->get('test'));
6066
self::assertEquals(['c' => 'd'], $map->get('map'));
6167
self::assertEquals([1, 2, 3], $map->get('list'));
68+
69+
self::assertFalse($tsx->isFinished());
70+
self::assertFalse($tsx->isRolledBack());
71+
self::assertFalse($tsx->isCommitted());
6272
}
6373

6474
/**
@@ -70,15 +80,23 @@ public function testInvalidRun(string $alias): void
7080
self::markTestSkipped('Cannot guarantee successful test in cluster');
7181
}
7282

73-
$transaction = $this->getClient()->beginTransaction(null, $alias);
83+
$tsx = $this->getClient()->beginTransaction(null, $alias);
84+
85+
self::assertFalse($tsx->isFinished());
86+
self::assertFalse($tsx->isRolledBack());
87+
self::assertFalse($tsx->isCommitted());
88+
7489
$exception = false;
7590
try {
76-
$transaction->run('MERGE (x:Tes0342hdm21.())', ['test' => 'a', 'otherTest' => 'b']);
91+
$tsx->run('MERGE (x:Tes0342hdm21.())', ['test' => 'a', 'otherTest' => 'b']);
7792
} catch (Neo4jException $e) {
7893
$exception = true;
7994
self::assertEquals('Neo.ClientError.Statement.SyntaxError', $e->getNeo4jCode());
8095
}
8196
self::assertTrue($exception);
97+
self::assertTrue($tsx->isFinished());
98+
self::assertTrue($tsx->isRolledBack());
99+
self::assertFalse($tsx->isCommitted());
82100
}
83101

84102
/**
@@ -175,11 +193,16 @@ public function testInvalidStatements(string $alias): void
175193
self::markTestSkipped('Cannot guarantee successful test in cluster');
176194
}
177195

178-
$transaction = $this->getClient()->beginTransaction(null, $alias);
196+
$tsx = $this->getClient()->beginTransaction(null, $alias);
197+
198+
self::assertFalse($tsx->isFinished());
199+
self::assertFalse($tsx->isRolledBack());
200+
self::assertFalse($tsx->isCommitted());
201+
179202
$exception = false;
180203
try {
181204
$params = ['test' => 'a', 'otherTest' => 'b'];
182-
$transaction->runStatements([
205+
$tsx->runStatements([
183206
Statement::create(<<<'CYPHER'
184207
MERGE (x:TestNode {test: $test})
185208
CYPHER,
@@ -196,6 +219,10 @@ public function testInvalidStatements(string $alias): void
196219
$exception = true;
197220
}
198221
self::assertTrue($exception);
222+
223+
self::assertTrue($tsx->isFinished());
224+
self::assertTrue($tsx->isRolledBack());
225+
self::assertFalse($tsx->isCommitted());
199226
}
200227

201228
/**
@@ -207,8 +234,18 @@ public function testCommitValidEmpty(string $alias): void
207234
self::markTestSkipped('Cannot guarantee successful test in cluster');
208235
}
209236

210-
$result = $this->getClient()->beginTransaction(null, $alias)->commit();
237+
$tsx = $this->getClient()->beginTransaction(null, $alias);
238+
239+
self::assertFalse($tsx->isFinished());
240+
self::assertFalse($tsx->isRolledBack());
241+
self::assertFalse($tsx->isCommitted());
242+
243+
$result = $tsx->commit();
211244
self::assertEquals(0, $result->count());
245+
246+
self::assertTrue($tsx->isFinished());
247+
self::assertFalse($tsx->isRolledBack());
248+
self::assertTrue($tsx->isCommitted());
212249
}
213250

214251
/**
@@ -238,10 +275,18 @@ public function testCommitValidFilledWithInvalidStatement(string $alias): void
238275
self::markTestSkipped('Cannot guarantee successful test in cluster');
239276
}
240277

241-
$transaction = $this->getClient()->beginTransaction(null, $alias);
278+
$tsx = $this->getClient()->beginTransaction(null, $alias);
242279

243-
$this->expectException(Neo4jException::class);
244-
$transaction->commit([Statement::create('adkjbehqjk')]);
280+
$exception = false;
281+
try {
282+
$tsx->commit([Statement::create('adkjbehqjk')]);
283+
} catch (Neo4jException $e) {
284+
$exception = true;
285+
}
286+
self::assertTrue($exception);
287+
self::assertTrue($tsx->isFinished());
288+
self::assertTrue($tsx->isRolledBack());
289+
self::assertFalse($tsx->isCommitted());
245290
}
246291

247292
/**
@@ -253,11 +298,25 @@ public function testCommitInvalid(string $alias): void
253298
self::markTestSkipped('Cannot guarantee successful test in cluster');
254299
}
255300

256-
$transaction = $this->getClient()->beginTransaction(null, $alias);
257-
$transaction->commit();
301+
$tsx = $this->getClient()->beginTransaction(null, $alias);
302+
$tsx->commit();
303+
304+
self::assertTrue($tsx->isFinished());
305+
self::assertFalse($tsx->isRolledBack());
306+
self::assertTrue($tsx->isCommitted());
258307

259308
$this->expectException(Neo4jException::class);
260-
$transaction->commit();
309+
$exception = false;
310+
try {
311+
$tsx->commit();
312+
} catch (Neo4jException $e) {
313+
$exception = true;
314+
}
315+
self::assertTrue($exception);
316+
317+
self::assertTrue($tsx->isFinished());
318+
self::assertFalse($tsx->isRolledBack());
319+
self::assertTrue($tsx->isCommitted());
261320
}
262321

263322
/**
@@ -269,9 +328,12 @@ public function testRollbackValid(string $alias): void
269328
self::markTestSkipped('Cannot guarantee successful test in cluster');
270329
}
271330

272-
$transaction = $this->getClient()->beginTransaction(null, $alias);
273-
$transaction->rollback();
274-
self::assertTrue(true);
331+
$tsx = $this->getClient()->beginTransaction(null, $alias);
332+
$tsx->rollback();
333+
334+
self::assertTrue($tsx->isFinished());
335+
self::assertTrue($tsx->isRolledBack());
336+
self::assertFalse($tsx->isCommitted());
275337
}
276338

277339
/**
@@ -286,8 +348,21 @@ public function testRollbackInvalid(string $alias): void
286348
$transaction = $this->getClient()->beginTransaction(null, $alias);
287349
$transaction->rollback();
288350

289-
$this->expectException(Neo4jException::class);
290-
$transaction->rollback();
351+
self::assertTrue($tsx->isFinished());
352+
self::assertTrue($tsx->isRolledBack());
353+
self::assertFalse($tsx->isCommitted());
354+
355+
$exception = false;
356+
try {
357+
$transaction->rollback();
358+
} catch (Neo4jException $e) {
359+
$exception = true;
360+
}
361+
self::assertTrue($exception);
362+
363+
self::assertTrue($tsx->isFinished());
364+
self::assertTrue($tsx->isRolledBack());
365+
self::assertFalse($tsx->isCommitted());
291366
}
292367

293368
/**

0 commit comments

Comments
 (0)