public void DefautlValue() { var mockSchemaClient = new MockSchemaRegistryClient(); var config = new StreamConfig(); var serdes = new MockProtoSerDes(mockSchemaClient); config.ApplicationId = "test-workflow-avroserdes"; config.DefaultKeySerDes = new StringSerDes(); config.DefaultValueSerDes = serdes; config.SchemaRegistryMaxCachedSchemas = null; config.SchemaRegistryRequestTimeoutMs = null; var builder = new StreamBuilder(); builder .Stream <string, Helpers.Proto.Person>("person") .Filter((k, v) => v.Age >= 18) .MapValues((v) => v.Age) .To <StringSerDes, Int32SerDes>("person-major"); var topo = builder.Build(); using (var driver = new TopologyTestDriver(topo, config)) { var input = driver.CreateInputTopic <string, Helpers.Proto.Person>("person"); var output = driver.CreateOuputTopic <string, int, StringSerDes, Int32SerDes>("person-major"); input.PipeInput("test1", new Helpers.Proto.Person { Age = 23, FirstName = "f", LastName = "l" }); var record = output.ReadKeyValue(); Assert.IsNotNull(record); Assert.AreEqual("test1", record.Message.Key); Assert.AreEqual(23, record.Message.Value); } }
public void IncorrectConfigurationInterface() { var mockSchemaClient = new MockSchemaRegistryClient(); var config = new Mock <IStreamConfig>(); var serdes = new MockProtoSerDes(mockSchemaClient); Assert.Throws <StreamConfigException>(() => serdes.Initialize(new Net.SerDes.SerDesContext(config.Object))); }
public void DefaultSchemaRegistryConfig() { var mockSchemaClient = new MockSchemaRegistryClient(); var config = new StreamConfig(); var serdes = new MockProtoSerDes(mockSchemaClient); serdes.Initialize(new Net.SerDes.SerDesContext(config)); Assert.AreEqual(100, mockSchemaClient.MaxCachedSchemas); Assert.AreEqual(30000, mockSchemaClient.RequestTimeoutMs); }
public void SerializeOK() { var mockSchemaClient = new MockSchemaRegistryClient(); var config = new StreamConfig(); var serdes = new MockProtoSerDes(mockSchemaClient); serdes.Initialize(new Net.SerDes.SerDesContext(config)); var person = new Helpers.Proto.Person { Age = 18, FirstName = "TEST", LastName = "TEST" }; var bytes = serdes.Serialize(person, new Confluent.Kafka.SerializationContext(Confluent.Kafka.MessageComponentType.Value, topic)); Assert.IsNotNull(bytes); Assert.IsTrue(bytes.Length > 0); }
public void SchemaRegistryConfig() { var mockSchemaClient = new MockSchemaRegistryClient(); var config = new StreamConfig(); config.AutoRegisterSchemas = true; config.SchemaRegistryMaxCachedSchemas = 1; config.SchemaRegistryRequestTimeoutMs = 30; config.SubjectNameStrategy = SubjectNameStrategy.TopicRecord; var serdes = new MockProtoSerDes(mockSchemaClient); serdes.Initialize(new Net.SerDes.SerDesContext(config)); Assert.AreEqual(1, mockSchemaClient.MaxCachedSchemas); Assert.AreEqual(30, mockSchemaClient.RequestTimeoutMs); }