use of com.tvd12.ezyfox.codec.EzyObjectToByteEncoder in project ezyfox-server by youngmonkeys.
the class EzySocketResponseApiTest method secureResponseImmediateTest.
@Test
public void secureResponseImmediateTest() throws Exception {
// given
EzyArray data = EzyEntityFactory.EMPTY_ARRAY;
byte[] bytes = RandomUtil.randomShortByteArray();
EzyObjectToByteEncoder encoder = mock(EzyObjectToByteEncoder.class);
when(encoder.toMessageContent(data)).thenReturn(bytes);
EzySocketResponseApi sut = new EzySocketResponseApi(encoder);
EzySimplePackage pack = new EzySimplePackage();
pack.setData(data);
pack.setEncrypted(true);
pack.setTransportType(EzyTransportType.TCP);
int sessionCount = RandomUtil.randomSmallInt() + 1;
List<EzySession> sessions = RandomUtil.randomList(sessionCount, () -> {
EzySession session = mock(EzySession.class);
when(session.getConnectionType()).thenReturn(EzyConnectionType.SOCKET);
return session;
});
pack.addRecipients(sessions);
// when
sut.response(pack, true);
// then
verify(encoder, times(1)).toMessageContent(data);
verify(encoder, times(sessionCount)).encryptMessageContent(any(byte[].class), any(byte[].class));
}
use of com.tvd12.ezyfox.codec.EzyObjectToByteEncoder in project ezyfox-server by youngmonkeys.
the class EzySocketResponseApiTest method normalResponseTest.
@Test
public void normalResponseTest() throws Exception {
// given
EzyArray data = EzyEntityFactory.EMPTY_ARRAY;
EzyObjectToByteEncoder encoder = mock(EzyObjectToByteEncoder.class);
byte[] bytes = RandomUtil.randomShortByteArray();
when(encoder.encode(data)).thenReturn(bytes);
EzySocketResponseApi sut = new EzySocketResponseApi(encoder);
EzySimplePackage pack = new EzySimplePackage();
pack.setData(data);
pack.setEncrypted(false);
pack.setTransportType(EzyTransportType.TCP);
int sessionCount = RandomUtil.randomSmallInt() + 1;
List<EzySession> sessions = RandomUtil.randomList(sessionCount, () -> {
EzySession session = mock(EzySession.class);
when(session.getConnectionType()).thenReturn(EzyConnectionType.SOCKET);
return session;
});
pack.addRecipients(sessions);
// when
sut.response(pack);
// then
verify(encoder, times(1)).encode(data);
verify(encoder, times(0)).toMessageContent(data);
verify(encoder, times(0)).encryptMessageContent(any(byte[].class), any(byte[].class));
}
use of com.tvd12.ezyfox.codec.EzyObjectToByteEncoder in project ezyfox-server by youngmonkeys.
the class EzyProxyResponseApiTest method test.
@Test
public void test() throws Exception {
EzyCodecFactory codecFactory = mock(EzyCodecFactory.class);
EzyProxyResponseApi api = new EzyProxyResponseApi(codecFactory);
EzyPackage pack = mock(EzyPackage.class);
api.response(pack);
EzyObjectToByteEncoder byteEncoder = mock(EzyObjectToByteEncoder.class);
EzyObjectToStringEncoder stringEncoder = mock(EzyObjectToStringEncoder.class);
when(codecFactory.newEncoder(EzyConnectionType.SOCKET)).thenReturn(byteEncoder);
when(codecFactory.newEncoder(EzyConnectionType.WEBSOCKET)).thenReturn(stringEncoder);
api = new EzyProxyResponseApi(codecFactory);
api.response(pack);
api.response(pack, true);
EzyImmediateDeliver immediateDeliver = mock(EzyImmediateDeliver.class);
EzyAbstractSession session = spy(EzyAbstractSession.class);
session.setImmediateDeliver(immediateDeliver);
when(pack.getRecipients(any(EzyConstant.class))).thenReturn(Lists.newArrayList(session));
api.response(pack);
api.response(pack, true);
}
use of com.tvd12.ezyfox.codec.EzyObjectToByteEncoder in project ezyfox-server by youngmonkeys.
the class EzySocketResponseApiTest method secureResponseTest.
@Test
public void secureResponseTest() throws Exception {
// given
EzyArray data = EzyEntityFactory.EMPTY_ARRAY;
byte[] bytes = RandomUtil.randomShortByteArray();
EzyObjectToByteEncoder encoder = mock(EzyObjectToByteEncoder.class);
when(encoder.toMessageContent(data)).thenReturn(bytes);
EzySocketResponseApi sut = new EzySocketResponseApi(encoder);
EzySimplePackage pack = new EzySimplePackage();
pack.setData(data);
pack.setEncrypted(true);
pack.setTransportType(EzyTransportType.TCP);
int sessionCount = RandomUtil.randomSmallInt() + 1;
List<EzySession> sessions = RandomUtil.randomList(sessionCount, () -> {
EzySession session = mock(EzySession.class);
when(session.getConnectionType()).thenReturn(EzyConnectionType.SOCKET);
return session;
});
pack.addRecipients(sessions);
// when
sut.response(pack);
// then
verify(encoder, times(1)).toMessageContent(data);
verify(encoder, times(sessionCount)).encryptMessageContent(any(byte[].class), any(byte[].class));
}
Aggregations