From beefaff2c19bdf1db24505cf2804487a3ba95b4c Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Thu, 2 Nov 2017 15:10:33 -0400 Subject: kafka: Add tests --- nixos/tests/kafka_0_11.nix | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 nixos/tests/kafka_0_11.nix (limited to 'nixos/tests/kafka_0_11.nix') diff --git a/nixos/tests/kafka_0_11.nix b/nixos/tests/kafka_0_11.nix new file mode 100644 index 000000000000..39f9c36bb229 --- /dev/null +++ b/nixos/tests/kafka_0_11.nix @@ -0,0 +1,48 @@ +import ./make-test.nix ({ pkgs, lib, ... } : +let + kafkaPackage = pkgs.apacheKafka_0_11; +in { + name = "kafka_0_11"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ nequissimus ]; + }; + + nodes = { + zookeeper1 = { config, ... }: { + services.zookeeper = { + enable = true; + }; + + networking.firewall.allowedTCPPorts = [ 2181 ]; + }; + kafka = { config, ... }: { + services.apache-kafka = { + enable = true; + extraProperties = '' + offsets.topic.replication.factor = 1 + ''; + package = kafkaPackage; + zookeeper = "zookeeper1:2181"; + }; + + networking.firewall.allowedTCPPorts = [ 9092 ]; + virtualisation.memorySize = 2048; + }; + }; + + testScript = '' + startAll; + + $zookeeper1->waitForUnit("zookeeper"); + $zookeeper1->waitForUnit("network.target"); + $zookeeper1->waitForOpenPort(2181); + + $kafka->waitForUnit("apache-kafka"); + $kafka->waitForUnit("network.target"); + $kafka->waitForOpenPort(9092); + + $kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic"); + $kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic"); + $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'"); + ''; +}) -- cgit 1.4.1