Fixed test.

Made sure that read interest or upgrade only happen after the write
has completed.
This commit is contained in:
Simone Bordet 2015-10-26 12:34:17 +01:00
parent 08c59628c9
commit 1ab64ed080
1 changed files with 28 additions and 7 deletions

View File

@ -146,7 +146,7 @@ public class HttpClientCustomProxyTest
} }
} }
private class CAFEBABEConnection extends AbstractConnection private class CAFEBABEConnection extends AbstractConnection implements Callback
{ {
private final ClientConnectionFactory connectionFactory; private final ClientConnectionFactory connectionFactory;
private final Map<String, Object> context; private final Map<String, Object> context;
@ -162,8 +162,19 @@ public class HttpClientCustomProxyTest
public void onOpen() public void onOpen()
{ {
super.onOpen(); super.onOpen();
getEndPoint().write(this, ByteBuffer.wrap(CAFE_BABE));
}
@Override
public void succeeded()
{
fillInterested(); fillInterested();
getEndPoint().write(Callback.NOOP, ByteBuffer.wrap(CAFE_BABE)); }
@Override
public void failed(Throwable x)
{
close();
} }
@Override @Override
@ -206,7 +217,7 @@ public class HttpClientCustomProxyTest
} }
} }
private class CAFEBABEServerConnection extends AbstractConnection private class CAFEBABEServerConnection extends AbstractConnection implements Callback
{ {
private final org.eclipse.jetty.server.ConnectionFactory connectionFactory; private final org.eclipse.jetty.server.ConnectionFactory connectionFactory;
@ -232,15 +243,25 @@ public class HttpClientCustomProxyTest
int filled = getEndPoint().fill(buffer); int filled = getEndPoint().fill(buffer);
Assert.assertEquals(4, filled); Assert.assertEquals(4, filled);
Assert.assertArrayEquals(CAFE_BABE, buffer.array()); Assert.assertArrayEquals(CAFE_BABE, buffer.array());
getEndPoint().write(Callback.NOOP, buffer); getEndPoint().write(this, buffer);
// We are good, upgrade the connection
getEndPoint().upgrade(connectionFactory.newConnection(connector, getEndPoint()));
} }
catch (Throwable x) catch (Throwable x)
{ {
close(); close();
} }
} }
@Override
public void succeeded()
{
// We are good, upgrade the connection
getEndPoint().upgrade(connectionFactory.newConnection(connector, getEndPoint()));
}
@Override
public void failed(Throwable x)
{
close();
}
} }
} }