Commit Graph

86 Commits

Author SHA1 Message Date
Alexander Damian
ffcf8956bd Allow to pass-in via cmake all the kafka config options for testing: broker, partitions and topics 2020-02-16 20:11:33 -05:00
Alexander Damian
c4b6a95438 Fixes per code review 2019-06-30 19:30:13 -04:00
Alexander Damian
d20cab69f3 Add CMake configuration file and export installed targets 2019-06-29 01:50:29 -04:00
accelerated
9bf535ac49 Simplify round-robin test due to intermittent errors 2019-02-06 22:45:12 -05:00
accelerated
8ae5e9d573 Fixed buffer test array initialization warning for clang 2019-02-06 18:47:36 -05:00
accelerated
06ddd79a29 Support for raw array Buffer constructor 2018-12-10 15:42:04 -05:00
accelerated
0b7931bfb8 Added Buffer::Buffer(iter, iter) constructor overload 2018-12-02 14:42:02 -05:00
Matias Fontanini
46481d879f Use BufferedProducer in round robin consumer test
Hopefully this will get rid of the sporadic failures
2018-11-10 10:26:03 -08:00
Matias Fontanini
4ac837d831 Disable even consumption test 2018-11-10 10:26:03 -08:00
Matias Fontanini
71fb76b8e1 Add dumb test that extracts event from queue 2018-11-10 10:25:31 -08:00
Alex Damian
57268e666c Added time_point overloads for creating timestamps. (#128)
* Added time_point overloads for creating timestamps.

* aliased std::chrono types
2018-10-25 07:39:22 -07:00
Matias Fontanini
a2d17a6f45 Test suite fixes (#124)
* Move polling strategy adapter definition into test_utils.cpp

* Use a random consumer group id in every test
2018-10-20 20:32:32 -07:00
Alex Damian
fbe3759fed Header support implementation (#115)
* header support implementation

* Fixed issue when ptr is null and doesn't have a cloner function

* Code complete with test cases

updated travis file with v0.11.5

* Added compile time check for rdkafka header support version

* Changes per last code review

* Using brace list initializers
2018-10-16 10:58:05 -07:00
Alex Damian
9af4330c6d Allocators (#118)
* Added allocator support for consumers and buffered producer

* Changed MessageList back to std::vector<Message> for consistency with the allocator API
2018-10-16 08:57:11 -07:00
Alex Damian
eb46b8808e Bug fixes for sync flush and add_tracker (#91)
* fixes for sync flush and also add_tracker

* added flag for flush
2018-06-18 14:46:31 -07:00
Alex Damian
b8f4be5e1b Increase buffer construction requirements (#88)
* Fix crash in Buffer with null pointer and non-zero length

* Throw inside Buffer constructor instead
2018-06-18 09:09:48 -07:00
accelerated
972a008aa4 Changed test to produce twice the same MessageBuilder 2018-06-11 15:45:41 -04:00
accelerated
71e6e2e4e5 added retry logic for producers 2018-06-10 13:00:55 -04:00
Matias Fontanini
f15b59cb13 Fix compacted topic processor test
* Use buffered producer on compacted topic processor test

* Add include directives for callback invoker where missing

* Consume until EOF on compacted topic processor test
2018-06-09 14:49:50 -07:00
Alex Damian
9714bec5bf Callback invoker to sink all thrown exceptions (#74) 2018-06-01 16:35:56 -07:00
accelerated
ea9601ba1b Changes per code review 2018-05-29 10:05:56 -04:00
accelerated
ffc64b9a5a Remove valgrind warning 2018-05-29 10:05:56 -04:00
accelerated
6144330835 added test case for polling strategy refactored the strategy class 2018-05-29 09:55:30 -04:00
accelerated
65f35dcd39 fix cppkafka::MessageList declaration 2018-05-29 09:55:30 -04:00
accelerated
532d83b225 Removed reserve() and synced consumer::poll_batch and queue::poll_batch functions 2018-05-29 09:55:30 -04:00
Alex Damian
429ec92369 Buffered producer thread safe (#72)
* Thread safe buffered producer

* Using single mutex version

* Changed based on feedback

* Changes based on latest review

* Added flush counter
2018-05-28 18:33:36 -07:00
Alex Damian
841e632fbd Allow access to the user-supplied delivery callback. (#66)
* Allow access to the user-supplied delivery callback.

* Remove valgrind warning

* Added buffer size watermark

* added ability to produce a message directly

* Updated on_delivery_report function
2018-05-24 20:59:41 -07:00
Alex Damian
46c396f729 Pause/resume a consumer by topic (#67)
* Pause a consumer by topic

* Changes per review comments

* convert rvalue to value

* Refactored code to provide a more generic way of getting partition subsets

* Changes per code review and added test cases

* Modified loop to use binary search instead of linear

* Simplify find_matches test cases
2018-05-23 13:03:47 -07:00
Matias Fontanini
cb2c8877d8 Move tests to use catch instead of googletest (#56)
* Port buffer test to use Catch2

* Move compacted topic processor test to Catch2

* Move configuration tests to Catch2

* Rename configuration test cases

* Move topic partition list test to Catch2

* Move handle base tests to Catch2

* Move producer tests to Catch2

* Move consumer tests to catch2

* Use CHECK on tests when appropriate

* Remove googletest

* Show tests' progress as they run

* Update message when Catch2 is not checked out

* Remove references to googletest

* Run cppkafka_tests manually on travis

* Print amount of time taken by each test case
2018-04-24 03:20:48 +01:00
Alex Damian
8fc6a0f02d Print offset when dumping partition object (#55) 2018-04-24 02:32:14 +01:00
Alex Damian
83a963c1db Added commit for current assignment and message state checks (#53) 2018-04-20 23:51:44 +01:00
Matias Fontanini
179e669c06 Assume testing kafka cluster is >= 0.10 2017-10-14 08:41:33 -07:00
Matias Fontanini
853396acab Fix Consumer::poll_batch test 2017-10-14 08:41:33 -07:00
Matias Fontanini
1582f6156d Allow consuming message batches
Fixes #3
2017-07-17 19:17:57 -07:00
Matias Fontanini
b7a0dce710 Add a generic "event" event on ConsumerDispatcher 2017-07-04 18:23:42 -07:00
Matias Fontanini
4af48ff0e7 Allow throttling on ConsumerDispatcher 2017-06-17 08:52:48 -07:00
Matias Fontanini
4369b75695 Use tags on EOF and timeout callbacks on ConsumerDispatcher 2017-06-10 17:39:23 -07:00
Matias Fontanini
f0ec0bfb10 Add ConsumerDispatcher class 2017-06-10 15:25:28 -07:00
Matias Fontanini
895a983d17 Allow constructing Buffers from std::vector 2017-06-04 08:32:19 -07:00
Matias Fontanini
bb900f21cb Allow clearing buffered messages on buffered producer 2017-04-24 20:08:26 -07:00
Matias Fontanini
aab182c4ea Allow producing messages without buffering them in buffered producer 2017-04-23 11:23:37 -07:00
Matias Fontanini
dbb547889b Allow getting consumer group information 2017-04-16 19:45:03 -07:00
Matias Fontanini
9ecad71be1 Remove Partition class 2017-04-16 14:51:06 -07:00
Matias Fontanini
f924eb68e7 Allow making no key/payload copies in BufferedProducer 2017-04-16 10:14:12 -07:00
Matias Fontanini
f781afe5cf Allow using generic message builders not tied to Buffer class 2017-04-16 10:14:12 -07:00
Matias Fontanini
91cd9a2957 Make producer test work on librdkafka v0.9.4 2017-04-15 18:13:56 -07:00
Matias Fontanini
28f6253cfb Allow fetching metadata only for known topics 2017-04-15 16:53:37 -07:00
Matias Fontanini
e26d7e7db2 Add MessageBuilder and use it on producer classes 2017-04-15 16:46:37 -07:00
Matias Fontanini
c8154ac6cb Rename TopicMetadata::get_topic to TopicMetadata::get_name 2016-11-25 10:18:21 -08:00
Matias Fontanini
b570d07fcd Add compacted topic processor test 2016-10-29 13:20:25 -07:00