Search in sources :

Example 11 with SchemaBuilder

use of org.apache.kafka.connect.data.SchemaBuilder in project ksql by confluentinc.

the class GenericRowValueTypeEnforcerTest method testEnforceLongReturningNull.

@Test
public void testEnforceLongReturningNull() {
    SchemaBuilder schemaBuilder = SchemaBuilder.struct().field("long", SchemaBuilder.int64());
    GenericRowValueTypeEnforcer genericRowValueTypeEnforcer = new GenericRowValueTypeEnforcer(schemaBuilder);
    assertNull(genericRowValueTypeEnforcer.enforceFieldType(0, null));
}
Also used : SchemaBuilder(org.apache.kafka.connect.data.SchemaBuilder) Test(org.junit.Test)

Example 12 with SchemaBuilder

use of org.apache.kafka.connect.data.SchemaBuilder in project ksql by confluentinc.

the class GenericRowValueTypeEnforcerTest method testEnforceDoubleOnValidCharSequence.

@Test
public void testEnforceDoubleOnValidCharSequence() {
    SchemaBuilder schemaBuilder = SchemaBuilder.struct().field("double", SchemaBuilder.float64());
    GenericRowValueTypeEnforcer genericRowValueTypeEnforcer = new GenericRowValueTypeEnforcer(schemaBuilder);
    assertEquals(1.0, genericRowValueTypeEnforcer.enforceFieldType(0, new StringBuilder("1.0")));
}
Also used : SchemaBuilder(org.apache.kafka.connect.data.SchemaBuilder) Test(org.junit.Test)

Example 13 with SchemaBuilder

use of org.apache.kafka.connect.data.SchemaBuilder in project ksql by confluentinc.

the class GenericRowValueTypeEnforcerTest method testEnforceIntegerAndEnforceIntegerOne.

@Test
public void testEnforceIntegerAndEnforceIntegerOne() {
    SchemaBuilder schemaBuilder = SchemaBuilder.struct().field("int", SchemaBuilder.int32());
    GenericRowValueTypeEnforcer genericRowValueTypeEnforcer = new GenericRowValueTypeEnforcer(schemaBuilder);
    assertEquals(55, genericRowValueTypeEnforcer.enforceFieldType(0, 55));
}
Also used : SchemaBuilder(org.apache.kafka.connect.data.SchemaBuilder) Test(org.junit.Test)

Example 14 with SchemaBuilder

use of org.apache.kafka.connect.data.SchemaBuilder in project ksql by confluentinc.

the class GenericRowValueTypeEnforcerTest method testEnforceInteger.

@Test
public void testEnforceInteger() {
    SchemaBuilder schemaBuilder = SchemaBuilder.struct().field("int", SchemaBuilder.int32());
    GenericRowValueTypeEnforcer genericRowValueTypeEnforcer = new GenericRowValueTypeEnforcer(schemaBuilder);
    try {
        genericRowValueTypeEnforcer.enforceFieldType(0, schemaBuilder);
        fail("Expecting exception: KsqlException");
    } catch (KsqlException e) {
        assertEquals(GenericRowValueTypeEnforcer.class.getName(), e.getStackTrace()[0].getClassName());
    }
}
Also used : SchemaBuilder(org.apache.kafka.connect.data.SchemaBuilder) Test(org.junit.Test)

Example 15 with SchemaBuilder

use of org.apache.kafka.connect.data.SchemaBuilder in project ksql by confluentinc.

the class GenericRowValueTypeEnforcerTest method testEnforceIntegerThrowsNumberFormatExceptionOnInvalidCharSequence.

@Test
public void testEnforceIntegerThrowsNumberFormatExceptionOnInvalidCharSequence() {
    SchemaBuilder schemaBuilder = SchemaBuilder.struct().field("int", SchemaBuilder.int32());
    GenericRowValueTypeEnforcer genericRowValueTypeEnforcer = new GenericRowValueTypeEnforcer(schemaBuilder);
    try {
        genericRowValueTypeEnforcer.enforceFieldType(0, new StringBuilder("Not A number"));
        fail("Expecting exception: NumberFormatException");
    } catch (NumberFormatException e) {
        assertEquals(NumberFormatException.class.getName(), e.getStackTrace()[0].getClassName());
    }
}
Also used : SchemaBuilder(org.apache.kafka.connect.data.SchemaBuilder) Test(org.junit.Test)

Aggregations

SchemaBuilder (org.apache.kafka.connect.data.SchemaBuilder)84 Test (org.junit.Test)40 Schema (org.apache.kafka.connect.data.Schema)36 Struct (org.apache.kafka.connect.data.Struct)21 Field (org.apache.kafka.connect.data.Field)13 SourceRecord (org.apache.kafka.connect.source.SourceRecord)13 Test (org.junit.jupiter.api.Test)8 ConnectSchema (org.apache.kafka.connect.data.ConnectSchema)6 BigDecimal (java.math.BigDecimal)5 Date (java.util.Date)5 Requirements.requireStruct (org.apache.kafka.connect.transforms.util.Requirements.requireStruct)5 ArrayList (java.util.ArrayList)4 HashMap (java.util.HashMap)4 DataException (org.apache.kafka.connect.errors.DataException)4 KsqlStream (io.confluent.ksql.metastore.KsqlStream)3 KsqlTopic (io.confluent.ksql.metastore.KsqlTopic)3 Expression (io.confluent.ksql.parser.tree.Expression)3 JsonNode (com.fasterxml.jackson.databind.JsonNode)2 SelectItem (io.confluent.ksql.parser.tree.SelectItem)2 SingleColumn (io.confluent.ksql.parser.tree.SingleColumn)2