Search in sources :

Example 1 with CommandConnected

use of org.apache.pulsar.common.api.proto.PulsarApi.CommandConnected in project incubator-pulsar by apache.

the class ServerCnxTest method testConnectCommandWithAuthenticationPositive.

@Test(timeOut = 30000)
public void testConnectCommandWithAuthenticationPositive() throws Exception {
    AuthenticationService authenticationService = mock(AuthenticationService.class);
    doReturn(authenticationService).when(brokerService).getAuthenticationService();
    doReturn("appid1").when(authenticationService).authenticate(new AuthenticationDataCommand(Mockito.anyString()), Mockito.anyString());
    doReturn(true).when(brokerService).isAuthenticationEnabled();
    resetChannel();
    assertTrue(channel.isActive());
    assertEquals(serverCnx.getState(), State.Start);
    // test server response to CONNECT
    ByteBuf clientCommand = Commands.newConnect("none", "", null);
    channel.writeInbound(clientCommand);
    assertEquals(serverCnx.getState(), State.Connected);
    assertTrue(getResponse() instanceof CommandConnected);
    channel.finish();
}
Also used : AuthenticationDataCommand(org.apache.pulsar.broker.authentication.AuthenticationDataCommand) CommandConnected(org.apache.pulsar.common.api.proto.PulsarApi.CommandConnected) ByteBuf(io.netty.buffer.ByteBuf) AuthenticationService(org.apache.pulsar.broker.authentication.AuthenticationService) Test(org.testng.annotations.Test)

Example 2 with CommandConnected

use of org.apache.pulsar.common.api.proto.PulsarApi.CommandConnected in project incubator-pulsar by apache.

the class ServerCnxTest method testConnectCommandWithProtocolVersion.

@Test(timeOut = 30000)
public void testConnectCommandWithProtocolVersion() throws Exception {
    resetChannel();
    assertTrue(channel.isActive());
    assertEquals(serverCnx.getState(), State.Start);
    // test server response to CONNECT
    ByteBuf clientCommand = Commands.newConnect("none", "", null);
    channel.writeInbound(clientCommand);
    assertEquals(serverCnx.getState(), State.Connected);
    CommandConnected response = (CommandConnected) getResponse();
    assertEquals(response.getProtocolVersion(), currentProtocolVersion);
    channel.finish();
}
Also used : CommandConnected(org.apache.pulsar.common.api.proto.PulsarApi.CommandConnected) ByteBuf(io.netty.buffer.ByteBuf) Test(org.testng.annotations.Test)

Example 3 with CommandConnected

use of org.apache.pulsar.common.api.proto.PulsarApi.CommandConnected in project incubator-pulsar by apache.

the class ServerCnxTest method testKeepAlive.

@Test(timeOut = 30000)
public void testKeepAlive() throws Exception {
    resetChannel();
    assertTrue(channel.isActive());
    assertEquals(serverCnx.getState(), State.Start);
    // test server response to CONNECT
    ByteBuf clientCommand = Commands.newConnect("none", "", null);
    channel.writeInbound(clientCommand);
    assertEquals(serverCnx.getState(), State.Connected);
    CommandConnected response = (CommandConnected) getResponse();
    assertEquals(response.getProtocolVersion(), currentProtocolVersion);
    // Connection will be closed in 2 seconds, in the meantime give chance to run the cleanup logic
    for (int i = 0; i < 3; i++) {
        channel.runPendingTasks();
        Thread.sleep(1000);
    }
    assertFalse(channel.isActive());
    channel.finish();
}
Also used : CommandConnected(org.apache.pulsar.common.api.proto.PulsarApi.CommandConnected) ByteBuf(io.netty.buffer.ByteBuf) Test(org.testng.annotations.Test)

Example 4 with CommandConnected

use of org.apache.pulsar.common.api.proto.PulsarApi.CommandConnected in project incubator-pulsar by apache.

the class ServerCnxTest method testConnectCommandWithEnum.

/**
 * Ensure that old clients may still connect to new servers
 *
 * @throws Exception
 */
@Test(timeOut = 30000)
public void testConnectCommandWithEnum() throws Exception {
    resetChannel();
    assertTrue(channel.isActive());
    assertEquals(serverCnx.getState(), State.Start);
    // test server response to CONNECT
    ByteBuf clientCommand = newConnect(AuthMethod.AuthMethodNone, "", Commands.getCurrentProtocolVersion());
    channel.writeInbound(clientCommand);
    assertEquals(serverCnx.getState(), State.Connected);
    assertTrue(getResponse() instanceof CommandConnected);
    channel.finish();
}
Also used : CommandConnected(org.apache.pulsar.common.api.proto.PulsarApi.CommandConnected) ByteBuf(io.netty.buffer.ByteBuf) Test(org.testng.annotations.Test)

Example 5 with CommandConnected

use of org.apache.pulsar.common.api.proto.PulsarApi.CommandConnected in project incubator-pulsar by apache.

the class ServerCnxTest method testConnectCommand.

@Test(timeOut = 30000)
public void testConnectCommand() throws Exception {
    resetChannel();
    assertTrue(channel.isActive());
    assertEquals(serverCnx.getState(), State.Start);
    // test server response to CONNECT
    ByteBuf clientCommand = Commands.newConnect("none", "", null);
    channel.writeInbound(clientCommand);
    assertEquals(serverCnx.getState(), State.Connected);
    assertTrue(getResponse() instanceof CommandConnected);
    channel.finish();
}
Also used : CommandConnected(org.apache.pulsar.common.api.proto.PulsarApi.CommandConnected) ByteBuf(io.netty.buffer.ByteBuf) Test(org.testng.annotations.Test)

Aggregations

ByteBuf (io.netty.buffer.ByteBuf)7 CommandConnected (org.apache.pulsar.common.api.proto.PulsarApi.CommandConnected)7 Test (org.testng.annotations.Test)6 AuthenticationDataCommand (org.apache.pulsar.broker.authentication.AuthenticationDataCommand)1 AuthenticationService (org.apache.pulsar.broker.authentication.AuthenticationService)1