use of io.vertx.core.buffer.Buffer in project vert.x by eclipse.
the class FileSystemTest method testReadStreamWithBufferSize.
@Test
public void testReadStreamWithBufferSize() throws Exception {
String fileName = "some-file.dat";
int chunkSize = 16384;
int chunks = 1;
byte[] content = TestUtils.randomByteArray(chunkSize * chunks);
createFile(fileName, content);
vertx.fileSystem().open(testDir + pathSep + fileName, new OpenOptions(), ar -> {
if (ar.succeeded()) {
AsyncFile rs = ar.result();
rs.setReadBufferSize(chunkSize);
Buffer buff = Buffer.buffer();
int[] callCount = { 0 };
rs.handler((buff1) -> {
buff.appendBuffer(buff1);
callCount[0]++;
});
rs.exceptionHandler(t -> fail(t.getMessage()));
rs.endHandler(v -> {
ar.result().close(ar2 -> {
if (ar2.failed()) {
fail(ar2.cause().getMessage());
} else {
assertEquals(1, callCount[0]);
assertEquals(Buffer.buffer(content), buff);
testComplete();
}
});
});
} else {
fail(ar.cause().getMessage());
}
});
await();
}
use of io.vertx.core.buffer.Buffer in project vert.x by eclipse.
the class DataObjectTest method testJsonToDataObject.
@Test
public void testJsonToDataObject() {
String key = TestUtils.randomAlphaString(10);
String stringValue = TestUtils.randomAlphaString(20);
boolean booleanValue = TestUtils.randomBoolean();
byte byteValue = TestUtils.randomByte();
short shortValue = TestUtils.randomShort();
int intValue = TestUtils.randomInt();
long longValue = TestUtils.randomLong();
float floatValue = TestUtils.randomFloat();
double doubleValue = TestUtils.randomDouble();
char charValue = TestUtils.randomChar();
Boolean boxedBooleanValue = TestUtils.randomBoolean();
Byte boxedByteValue = TestUtils.randomByte();
Short boxedShortValue = TestUtils.randomShort();
Integer boxedIntValue = TestUtils.randomInt();
Long boxedLongValue = TestUtils.randomLong();
Float boxedFloatValue = TestUtils.randomFloat();
Double boxedDoubleValue = TestUtils.randomDouble();
Character boxedCharValue = TestUtils.randomChar();
AggregatedDataObject aggregatedDataObject = new AggregatedDataObject().setValue(TestUtils.randomAlphaString(20));
Buffer buffer = TestUtils.randomBuffer(20);
JsonObject jsonObject = new JsonObject().put("wibble", TestUtils.randomAlphaString(20));
JsonArray jsonArray = new JsonArray().add(TestUtils.randomAlphaString(20));
HttpMethod httpMethod = HttpMethod.values()[TestUtils.randomPositiveInt() % HttpMethod.values().length];
Map<String, Object> map = new HashMap<>();
map.put(TestUtils.randomAlphaString(10), TestUtils.randomAlphaString(20));
map.put(TestUtils.randomAlphaString(10), TestUtils.randomBoolean());
map.put(TestUtils.randomAlphaString(10), TestUtils.randomInt());
List<Object> list = new ArrayList<>();
list.add(TestUtils.randomAlphaString(20));
list.add(TestUtils.randomBoolean());
list.add(TestUtils.randomInt());
JsonObject json = new JsonObject();
json.put("stringValue", stringValue);
json.put("booleanValue", booleanValue);
json.put("byteValue", byteValue);
json.put("shortValue", shortValue);
json.put("intValue", intValue);
json.put("longValue", longValue);
json.put("floatValue", floatValue);
json.put("doubleValue", doubleValue);
json.put("charValue", Character.toString(charValue));
json.put("boxedBooleanValue", boxedBooleanValue);
json.put("boxedByteValue", boxedByteValue);
json.put("boxedShortValue", boxedShortValue);
json.put("boxedIntValue", boxedIntValue);
json.put("boxedLongValue", boxedLongValue);
json.put("boxedFloatValue", boxedFloatValue);
json.put("boxedDoubleValue", boxedDoubleValue);
json.put("boxedCharValue", Character.toString(boxedCharValue));
json.put("aggregatedDataObject", aggregatedDataObject.toJson());
json.put("buffer", toBase64(buffer));
json.put("jsonObject", jsonObject);
json.put("jsonArray", jsonArray);
json.put("httpMethod", httpMethod.toString());
json.put("stringValues", new JsonArray().add(stringValue));
json.put("boxedBooleanValues", new JsonArray().add(boxedBooleanValue));
json.put("boxedByteValues", new JsonArray().add(boxedByteValue));
json.put("boxedShortValues", new JsonArray().add(boxedShortValue));
json.put("boxedIntValues", new JsonArray().add(boxedIntValue));
json.put("boxedLongValues", new JsonArray().add(boxedLongValue));
json.put("boxedFloatValues", new JsonArray().add(boxedFloatValue));
json.put("boxedDoubleValues", new JsonArray().add(boxedDoubleValue));
json.put("boxedCharValues", new JsonArray().add(Character.toString(boxedCharValue)));
json.put("aggregatedDataObjects", new JsonArray().add(aggregatedDataObject.toJson()));
json.put("buffers", new JsonArray().add(toBase64(buffer)));
json.put("jsonObjects", new JsonArray().add(jsonObject));
json.put("jsonArrays", new JsonArray().add(jsonArray));
json.put("httpMethods", new JsonArray().add(httpMethod.toString()));
json.put("objects", new JsonArray().add(list.get(0)).add(list.get(1)).add(list.get(2)));
json.put("addedStringValues", new JsonArray().add(stringValue));
json.put("addedBooleanValues", new JsonArray().add(boxedBooleanValue));
json.put("addedByteValues", new JsonArray().add(boxedByteValue));
json.put("addedShortValues", new JsonArray().add(boxedShortValue));
json.put("addedIntValues", new JsonArray().add(boxedIntValue));
json.put("addedLongValues", new JsonArray().add(boxedLongValue));
json.put("addedFloatValues", new JsonArray().add(boxedFloatValue));
json.put("addedDoubleValues", new JsonArray().add(boxedDoubleValue));
json.put("addedCharValues", new JsonArray().add(Character.toString(boxedCharValue)));
json.put("addedBoxedBooleanValues", new JsonArray().add(boxedBooleanValue));
json.put("addedBoxedByteValues", new JsonArray().add(boxedByteValue));
json.put("addedBoxedShortValues", new JsonArray().add(boxedShortValue));
json.put("addedBoxedIntValues", new JsonArray().add(boxedIntValue));
json.put("addedBoxedLongValues", new JsonArray().add(boxedLongValue));
json.put("addedBoxedFloatValues", new JsonArray().add(boxedFloatValue));
json.put("addedBoxedDoubleValues", new JsonArray().add(boxedDoubleValue));
json.put("addedBoxedCharValues", new JsonArray().add(Character.toString(boxedCharValue)));
json.put("addedAggregatedDataObjects", new JsonArray().add(aggregatedDataObject.toJson()));
json.put("addedBuffers", new JsonArray().add(toBase64(buffer)));
json.put("addedJsonObjects", new JsonArray().add(jsonObject));
json.put("addedJsonArrays", new JsonArray().add(jsonArray));
json.put("addedHttpMethods", new JsonArray().add(httpMethod.toString()));
json.put("addedObjects", new JsonArray().add(list.get(0)).add(list.get(1)).add(list.get(2)));
json.put("stringValueMap", new JsonObject().put(key, stringValue));
json.put("boxedBooleanValueMap", new JsonObject().put(key, boxedBooleanValue));
json.put("boxedByteValueMap", new JsonObject().put(key, boxedByteValue));
json.put("boxedShortValueMap", new JsonObject().put(key, boxedShortValue));
json.put("boxedIntValueMap", new JsonObject().put(key, boxedIntValue));
json.put("boxedLongValueMap", new JsonObject().put(key, boxedLongValue));
json.put("boxedFloatValueMap", new JsonObject().put(key, boxedFloatValue));
json.put("boxedDoubleValueMap", new JsonObject().put(key, boxedDoubleValue));
json.put("boxedCharValueMap", new JsonObject().put(key, Character.toString(boxedCharValue)));
json.put("aggregatedDataObjectMap", new JsonObject().put(key, aggregatedDataObject.toJson()));
json.put("bufferMap", new JsonObject().put(key, toBase64(buffer)));
json.put("jsonObjectMap", new JsonObject().put(key, jsonObject));
json.put("jsonArrayMap", new JsonObject().put(key, jsonArray));
json.put("httpMethodMap", new JsonObject().put(key, httpMethod.toString()));
json.put("objectMap", toJson(map));
json.put("keyedStringValues", new JsonObject().put(key, stringValue));
json.put("keyedBoxedBooleanValues", new JsonObject().put(key, boxedBooleanValue));
json.put("keyedBoxedByteValues", new JsonObject().put(key, boxedByteValue));
json.put("keyedBoxedShortValues", new JsonObject().put(key, boxedShortValue));
json.put("keyedBoxedIntValues", new JsonObject().put(key, boxedIntValue));
json.put("keyedBoxedLongValues", new JsonObject().put(key, boxedLongValue));
json.put("keyedBoxedFloatValues", new JsonObject().put(key, boxedFloatValue));
json.put("keyedBoxedDoubleValues", new JsonObject().put(key, boxedDoubleValue));
json.put("keyedBoxedCharValues", new JsonObject().put(key, Character.toString(boxedCharValue)));
json.put("keyedDataObjectValues", new JsonObject().put(key, aggregatedDataObject.toJson()));
json.put("keyedBufferValues", new JsonObject().put(key, toBase64(buffer)));
json.put("keyedJsonObjectValues", new JsonObject().put(key, jsonObject));
json.put("keyedJsonArrayValues", new JsonObject().put(key, jsonArray));
json.put("keyedEnumValues", new JsonObject().put(key, httpMethod));
json.put("keyedObjectValues", toJson(map));
TestDataObject obj = new TestDataObject();
TestDataObjectConverter.fromJson(json, obj);
assertEquals(stringValue, obj.getStringValue());
assertEquals(booleanValue, obj.isBooleanValue());
assertEquals(byteValue, obj.getByteValue());
assertEquals(shortValue, obj.getShortValue());
assertEquals(intValue, obj.getIntValue());
assertEquals(longValue, obj.getLongValue());
assertEquals(floatValue, obj.getFloatValue(), 0);
assertEquals(doubleValue, obj.getDoubleValue(), 0);
assertEquals(charValue, obj.getCharValue());
assertEquals(boxedBooleanValue, obj.isBoxedBooleanValue());
assertEquals(boxedByteValue, obj.getBoxedByteValue());
assertEquals(boxedShortValue, obj.getBoxedShortValue());
assertEquals(boxedIntValue, obj.getBoxedIntValue());
assertEquals(boxedLongValue, obj.getBoxedLongValue());
assertEquals(boxedFloatValue, obj.getBoxedFloatValue(), 0);
assertEquals(boxedDoubleValue, obj.getBoxedDoubleValue(), 0);
assertEquals(boxedCharValue, obj.getBoxedCharValue());
assertEquals(aggregatedDataObject, obj.getAggregatedDataObject());
assertEquals(buffer, obj.getBuffer());
assertEquals(jsonObject, obj.getJsonObject());
assertEquals(jsonArray, obj.getJsonArray());
assertEquals(httpMethod, obj.getHttpMethod());
assertEquals(Collections.singletonList(stringValue), obj.getStringValues());
assertEquals(Collections.singletonList(boxedBooleanValue), obj.getBoxedBooleanValues());
assertEquals(Collections.singletonList(boxedByteValue), obj.getBoxedByteValues());
assertEquals(Collections.singletonList(boxedShortValue), obj.getBoxedShortValues());
assertEquals(Collections.singletonList(boxedIntValue), obj.getBoxedIntValues());
assertEquals(Collections.singletonList(boxedLongValue), obj.getBoxedLongValues());
assertEquals(Collections.singletonList(boxedFloatValue), obj.getBoxedFloatValues());
assertEquals(Collections.singletonList(boxedDoubleValue), obj.getBoxedDoubleValues());
assertEquals(Collections.singletonList(boxedCharValue), obj.getBoxedCharValues());
assertEquals(Collections.singletonList(aggregatedDataObject), obj.getAggregatedDataObjects());
assertEquals(Collections.singletonList(buffer), obj.getBuffers());
assertEquals(Collections.singletonList(jsonObject), obj.getJsonObjects());
assertEquals(Collections.singletonList(jsonArray), obj.getJsonArrays());
assertEquals(Collections.singletonList(httpMethod), obj.getHttpMethods());
assertEquals(list, obj.getObjects());
assertEquals(Collections.singletonList(stringValue), obj.getAddedStringValues());
assertEquals(Collections.singletonList(boxedBooleanValue), obj.getAddedBoxedBooleanValues());
assertEquals(Collections.singletonList(boxedByteValue), obj.getAddedBoxedByteValues());
assertEquals(Collections.singletonList(boxedShortValue), obj.getAddedBoxedShortValues());
assertEquals(Collections.singletonList(boxedIntValue), obj.getAddedBoxedIntValues());
assertEquals(Collections.singletonList(boxedLongValue), obj.getAddedBoxedLongValues());
assertEquals(Collections.singletonList(boxedFloatValue), obj.getAddedBoxedFloatValues());
assertEquals(Collections.singletonList(boxedDoubleValue), obj.getAddedBoxedDoubleValues());
assertEquals(Collections.singletonList(boxedCharValue), obj.getAddedBoxedCharValues());
assertEquals(Collections.singletonList(aggregatedDataObject), obj.getAddedAggregatedDataObjects());
assertEquals(Collections.singletonList(buffer), obj.getAddedBuffers());
assertEquals(Collections.singletonList(jsonObject), obj.getAddedJsonObjects());
assertEquals(Collections.singletonList(jsonArray), obj.getAddedJsonArrays());
assertEquals(Collections.singletonList(httpMethod), obj.getAddedHttpMethods());
assertEquals(list, obj.getAddedObjects());
assertEquals(Collections.singletonMap(key, stringValue), obj.getStringValueMap());
assertEquals(Collections.singletonMap(key, boxedBooleanValue), obj.getBoxedBooleanValueMap());
assertEquals(Collections.singletonMap(key, boxedByteValue), obj.getBoxedByteValueMap());
assertEquals(Collections.singletonMap(key, boxedShortValue), obj.getBoxedShortValueMap());
assertEquals(Collections.singletonMap(key, boxedIntValue), obj.getBoxedIntValueMap());
assertEquals(Collections.singletonMap(key, boxedLongValue), obj.getBoxedLongValueMap());
assertEquals(Collections.singletonMap(key, boxedFloatValue), obj.getBoxedFloatValueMap());
assertEquals(Collections.singletonMap(key, boxedDoubleValue), obj.getBoxedDoubleValueMap());
assertEquals(Collections.singletonMap(key, boxedCharValue), obj.getBoxedCharValueMap());
assertEquals(Collections.singletonMap(key, aggregatedDataObject), obj.getAggregatedDataObjectMap());
assertEquals(Collections.singletonMap(key, buffer), obj.getBufferMap());
assertEquals(Collections.singletonMap(key, jsonObject), obj.getJsonObjectMap());
assertEquals(Collections.singletonMap(key, jsonArray), obj.getJsonArrayMap());
assertEquals(Collections.singletonMap(key, httpMethod), obj.getHttpMethodMap());
assertEquals(map, obj.getObjectMap());
assertEquals(Collections.singletonMap(key, stringValue), obj.getKeyedStringValues());
assertEquals(Collections.singletonMap(key, boxedBooleanValue), obj.getKeyedBoxedBooleanValues());
assertEquals(Collections.singletonMap(key, boxedByteValue), obj.getKeyedBoxedByteValues());
assertEquals(Collections.singletonMap(key, boxedShortValue), obj.getKeyedBoxedShortValues());
assertEquals(Collections.singletonMap(key, boxedIntValue), obj.getKeyedBoxedIntValues());
assertEquals(Collections.singletonMap(key, boxedLongValue), obj.getKeyedBoxedLongValues());
assertEquals(Collections.singletonMap(key, boxedFloatValue), obj.getKeyedBoxedFloatValues());
assertEquals(Collections.singletonMap(key, boxedDoubleValue), obj.getKeyedBoxedDoubleValues());
assertEquals(Collections.singletonMap(key, boxedCharValue), obj.getKeyedBoxedCharValues());
assertEquals(Collections.singletonMap(key, aggregatedDataObject), obj.getKeyedDataObjectValues());
assertEquals(Collections.singletonMap(key, buffer), obj.getKeyedBufferValues());
assertEquals(Collections.singletonMap(key, jsonObject), obj.getKeyedJsonObjectValues());
assertEquals(Collections.singletonMap(key, jsonArray), obj.getKeyedJsonArrayValues());
assertEquals(Collections.singletonMap(key, httpMethod), obj.getKeyedEnumValues());
assertEquals(map, obj.getObjectMap());
// Sometimes json can use java collections so test it runs fine in this case
json = new JsonObject();
json.put("aggregatedDataObject", new JsonObject().put("value", aggregatedDataObject.getValue()).getMap());
json.put("aggregatedDataObjects", new JsonArray().add(new JsonObject().put("value", aggregatedDataObject.getValue()).getMap()));
json.put("addedAggregatedDataObjects", new JsonArray().add(new JsonObject().put("value", aggregatedDataObject.getValue()).getMap()));
obj = new TestDataObject();
TestDataObjectConverter.fromJson(json, obj);
assertEquals(aggregatedDataObject, obj.getAggregatedDataObject());
assertEquals(Collections.singletonList(aggregatedDataObject), obj.getAggregatedDataObjects());
assertEquals(Collections.singletonList(aggregatedDataObject), obj.getAddedAggregatedDataObjects());
}
use of io.vertx.core.buffer.Buffer in project vert.x by eclipse.
the class BufferTest method testAppendInt.
@Test
public void testAppendInt() {
Buffer b = Buffer.buffer(TestUtils.randomByteArray(100));
b.appendInt(Integer.MAX_VALUE);
assertEquals(104, b.length());
b.appendIntLE(Integer.MAX_VALUE);
assertEquals(108, b.length());
}
use of io.vertx.core.buffer.Buffer in project vert.x by eclipse.
the class BufferTest method testAppendString1.
@Test
public void testAppendString1() throws Exception {
String str = TestUtils.randomUnicodeString(100);
byte[] sb = str.getBytes("UTF-8");
Buffer b = Buffer.buffer();
b.appendString(str);
assertEquals(b.length(), sb.length);
assertTrue(str.equals(b.toString("UTF-8")));
assertTrue(str.equals(b.toString(StandardCharsets.UTF_8)));
assertNullPointerException(() -> b.appendString(null));
assertNullPointerException(() -> b.appendString(null, "UTF-8"));
assertNullPointerException(() -> b.appendString("", null));
}
use of io.vertx.core.buffer.Buffer in project vert.x by eclipse.
the class BufferTest method testSetOutOfBounds.
@Test
public void testSetOutOfBounds() throws Exception {
Buffer b = Buffer.buffer(numSets);
assertIndexOutOfBoundsException(() -> b.setByte(-1, (byte) 0));
assertIndexOutOfBoundsException(() -> b.setInt(-1, 0));
assertIndexOutOfBoundsException(() -> b.setLong(-1, 0));
assertIndexOutOfBoundsException(() -> b.setDouble(-1, 0));
assertIndexOutOfBoundsException(() -> b.setFloat(-1, 0));
assertIndexOutOfBoundsException(() -> b.setShort(-1, (short) 0));
assertIndexOutOfBoundsException(() -> b.setBuffer(-1, b));
assertIndexOutOfBoundsException(() -> b.setBuffer(0, b, -1, 0));
assertIndexOutOfBoundsException(() -> b.setBuffer(0, b, 0, -1));
assertIndexOutOfBoundsException(() -> b.setBytes(-1, TestUtils.randomByteArray(1)));
assertIndexOutOfBoundsException(() -> b.setBytes(-1, TestUtils.randomByteArray(1), -1, 0));
assertIndexOutOfBoundsException(() -> b.setBytes(-1, TestUtils.randomByteArray(1), 0, -1));
assertIndexOutOfBoundsException(() -> b.setString(-1, ""));
assertIndexOutOfBoundsException(() -> b.setString(-1, "", "UTF-8"));
}
Aggregations