Search in sources :

Example 26 with Driver

use of org.neo4j.driver.Driver in project neo4j by neo4j.

the class BoltStateHandlerTest method protocolVersionIsNotEmptyAfterConnect.

@Test
public void protocolVersionIsNotEmptyAfterConnect() throws CommandException {
    Driver driverMock = stubResultSummaryInAnOpenSession(mock(Result.class), mock(Session.class), "9.4.1-ALPHA");
    BoltStateHandler handler = new BoltStateHandler((s, authToken, config) -> driverMock, false);
    handler.connect(config);
    assertEquals("9.4.1-ALPHA", handler.getProtocolVersion());
}
Also used : Driver(org.neo4j.driver.Driver) FakeDriver(org.neo4j.shell.test.bolt.FakeDriver) Result(org.neo4j.driver.Result) Session(org.neo4j.driver.Session) FakeSession(org.neo4j.shell.test.bolt.FakeSession) Test(org.junit.Test)

Example 27 with Driver

use of org.neo4j.driver.Driver in project neo4j by neo4j.

the class BoltStateHandlerTest method whenInTransactionHandlerLetsTransactionDoTheWork.

@Test
public void whenInTransactionHandlerLetsTransactionDoTheWork() throws CommandException {
    Transaction transactionMock = mock(Transaction.class);
    Session sessionMock = mock(Session.class);
    when(sessionMock.beginTransaction()).thenReturn(transactionMock);
    Driver driverMock = stubResultSummaryInAnOpenSession(mock(Result.class), sessionMock, "neo4j-version");
    Result result = mock(Result.class);
    when(transactionMock.run(any(Query.class))).thenReturn(result);
    OfflineBoltStateHandler boltStateHandler = new OfflineBoltStateHandler(driverMock);
    boltStateHandler.connect();
    boltStateHandler.beginTransaction();
    BoltResult boltResult = boltStateHandler.runCypher("UNWIND [1,2] as num RETURN *", Collections.emptyMap()).get();
    assertEquals(result, boltResult.iterate());
    boltStateHandler.commitTransaction();
    assertFalse(boltStateHandler.isTransactionOpen());
}
Also used : Transaction(org.neo4j.driver.Transaction) Query(org.neo4j.driver.Query) Driver(org.neo4j.driver.Driver) FakeDriver(org.neo4j.shell.test.bolt.FakeDriver) Session(org.neo4j.driver.Session) FakeSession(org.neo4j.shell.test.bolt.FakeSession) Result(org.neo4j.driver.Result) Test(org.junit.Test)

Example 28 with Driver

use of org.neo4j.driver.Driver in project neo4j by neo4j.

the class BoltStateHandlerTest method actualDatabaseNameIsNotEmptyAfterConnect.

@Test
public void actualDatabaseNameIsNotEmptyAfterConnect() throws CommandException {
    Driver driverMock = stubResultSummaryInAnOpenSession(mock(Result.class), mock(Session.class), "9.4.1-ALPHA", "my_default_db");
    BoltStateHandler handler = new BoltStateHandler((s, authToken, config) -> driverMock, false);
    handler.connect(config);
    assertEquals("my_default_db", handler.getActualDatabaseAsReportedByServer());
}
Also used : Driver(org.neo4j.driver.Driver) FakeDriver(org.neo4j.shell.test.bolt.FakeDriver) Result(org.neo4j.driver.Result) Session(org.neo4j.driver.Session) FakeSession(org.neo4j.shell.test.bolt.FakeSession) Test(org.junit.Test)

Example 29 with Driver

use of org.neo4j.driver.Driver in project neo4j by neo4j.

the class BoltStateHandlerTest method shouldRunCypherQuery.

@Test
public void shouldRunCypherQuery() throws CommandException {
    Session sessionMock = mock(Session.class);
    Result resultMock = mock(Result.class);
    Record recordMock = mock(Record.class);
    Value valueMock = mock(Value.class);
    Driver driverMock = stubResultSummaryInAnOpenSession(resultMock, sessionMock, "neo4j-version");
    when(resultMock.list()).thenReturn(singletonList(recordMock));
    when(valueMock.toString()).thenReturn("999");
    when(recordMock.get(0)).thenReturn(valueMock);
    when(sessionMock.run(any(Query.class))).thenReturn(resultMock);
    OfflineBoltStateHandler boltStateHandler = new OfflineBoltStateHandler(driverMock);
    boltStateHandler.connect();
    BoltResult boltResult = boltStateHandler.runCypher("RETURN 999", new HashMap<>()).get();
    verify(sessionMock).run(any(Query.class));
    assertEquals("999", boltResult.getRecords().get(0).get(0).toString());
}
Also used : Query(org.neo4j.driver.Query) HashMap(java.util.HashMap) Value(org.neo4j.driver.Value) Driver(org.neo4j.driver.Driver) FakeDriver(org.neo4j.shell.test.bolt.FakeDriver) Record(org.neo4j.driver.Record) Session(org.neo4j.driver.Session) FakeSession(org.neo4j.shell.test.bolt.FakeSession) Result(org.neo4j.driver.Result) Test(org.junit.Test)

Example 30 with Driver

use of org.neo4j.driver.Driver in project neo4j by neo4j.

the class BoltStateHandlerTest method resetSessionOnReset.

@Test
public void resetSessionOnReset() throws Exception {
    // given
    Session sessionMock = mock(Session.class);
    Driver driverMock = stubResultSummaryInAnOpenSession(mock(Result.class), sessionMock, "neo4j-version");
    OfflineBoltStateHandler boltStateHandler = new OfflineBoltStateHandler(driverMock);
    boltStateHandler.connect();
    boltStateHandler.beginTransaction();
    // when
    boltStateHandler.reset();
    // then
    verify(sessionMock).reset();
}
Also used : Driver(org.neo4j.driver.Driver) FakeDriver(org.neo4j.shell.test.bolt.FakeDriver) Session(org.neo4j.driver.Session) FakeSession(org.neo4j.shell.test.bolt.FakeSession) Result(org.neo4j.driver.Result) Test(org.junit.Test)

Aggregations

Driver (org.neo4j.driver.Driver)33 Session (org.neo4j.driver.Session)22 Result (org.neo4j.driver.Result)16 Test (org.junit.Test)15 FakeDriver (org.neo4j.shell.test.bolt.FakeDriver)13 Test (org.junit.jupiter.api.Test)12 SessionConfig (org.neo4j.driver.SessionConfig)11 FakeSession (org.neo4j.shell.test.bolt.FakeSession)11 ResultSummary (org.neo4j.driver.summary.ResultSummary)8 Record (org.neo4j.driver.Record)7 SessionExpiredException (org.neo4j.driver.exceptions.SessionExpiredException)7 ServiceUnavailableException (org.neo4j.driver.exceptions.ServiceUnavailableException)5 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)4 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)3 BeforeClass (org.junit.BeforeClass)3 Health (org.springframework.boot.actuate.health.Health)3 ArrayList (java.util.ArrayList)2 Arrays (java.util.Arrays)2 Collections (java.util.Collections)2 List (java.util.List)2