borlandor commented on issue #5057: Can't publish messages with schema on Pulsar C++ client URL: https://github.com/apache/pulsar/issues/5057#issuecomment-525271397 C++ Test cases have no test of "producer.send" or "consumer.receive" SchemaTest.cc -------------------------------------------------------------------- static std::string lookupUrl = "pulsar://localhost:6650"; static const std::string exampleSchema = "{\"type\":\"record\",\"name\":\"Example\",\"namespace\":\"test\"," "\"fields\":[{\"name\":\"a\",\"type\":\"int\"},{\"name\":\"b\",\"type\":\"int\"}]}"; TEST(SchemaTest, testSchema) { ClientConfiguration config; Client client(lookupUrl); Result res; Producer producer; ProducerConfiguration producerConf; producerConf.setSchema(SchemaInfo(AVRO, "Avro", exampleSchema)); res = client.createProducer("topic-avro", producerConf, producer); producer.close(); ASSERT_EQ(ResultOk, res); // Creating producer with no schema on same topic should fail producerConf.setSchema(SchemaInfo(JSON, "Json", "{}")); res = client.createProducer("topic-avro", producerConf, producer); ASSERT_EQ(ResultIncompatibleSchema, res); // Creating producer with no schema on same topic should succeed // because standalone broker is configured by default to not // require the schema to be set res = client.createProducer("topic-avro", producer); ASSERT_EQ(ResultOk, res); ConsumerConfiguration consumerConf; Consumer consumer; // Subscribing with no schema will still succeed res = client.subscribe("topic-avro", "sub-1", consumerConf, consumer); ASSERT_EQ(ResultOk, res); // Subscribing with same Avro schema will succeed consumerConf.setSchema(SchemaInfo(AVRO, "Avro", exampleSchema)); res = client.subscribe("topic-avro", "sub-2", consumerConf, consumer); ASSERT_EQ(ResultOk, res); // Subscribing with different schema type will fail consumerConf.setSchema(SchemaInfo(JSON, "Json", "{}")); res = client.subscribe("topic-avro", "sub-2", consumerConf, consumer); ASSERT_EQ(ResultIncompatibleSchema, res); }
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
