nixosTests.kafka: port to python

This commit is contained in:
Jacek Galowicz 2020-01-08 10:39:29 +01:00
parent 8ecd07f9e3
commit f7b274d957

View File

@ -3,11 +3,10 @@
pkgs ? import ../.. { inherit system config; } pkgs ? import ../.. { inherit system config; }
}: }:
with import ../lib/testing.nix { inherit system pkgs; };
with pkgs.lib; with pkgs.lib;
let let
makeKafkaTest = name: kafkaPackage: (makeTest { makeKafkaTest = name: kafkaPackage: (import ./make-test-python.nix ({
inherit name; inherit name;
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ nequissimus ]; maintainers = [ nequissimus ];
@ -45,24 +44,40 @@ let
}; };
testScript = '' testScript = ''
startAll; start_all()
$zookeeper1->waitForUnit("default.target"); zookeeper1.wait_for_unit("default.target")
$zookeeper1->waitForUnit("zookeeper.service"); zookeeper1.wait_for_unit("zookeeper.service")
$zookeeper1->waitForOpenPort(2181); zookeeper1.wait_for_open_port(2181)
$kafka->waitForUnit("default.target"); kafka.wait_for_unit("default.target")
$kafka->waitForUnit("apache-kafka.service"); kafka.wait_for_unit("apache-kafka.service")
$kafka->waitForOpenPort(9092); kafka.wait_for_open_port(9092)
$kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic"); kafka.wait_until_succeeds(
$kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic"); "${kafkaPackage}/bin/kafka-topics.sh --create "
+ "--zookeeper zookeeper1:2181 --partitions 1 "
+ "--replication-factor 1 --topic testtopic"
)
kafka.succeed(
"echo 'test 1' | "
+ "${kafkaPackage}/bin/kafka-console-producer.sh "
+ "--broker-list localhost:9092 --topic testtopic"
)
'' + (if name == "kafka_0_9" then '' '' + (if name == "kafka_0_9" then ''
$kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --zookeeper zookeeper1:2181 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'"); assert "test 1" in kafka.succeed(
"${kafkaPackage}/bin/kafka-console-consumer.sh "
+ "--zookeeper zookeeper1:2181 --topic testtopic "
+ "--from-beginning --max-messages 1"
)
'' else '' '' else ''
$kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'"); assert "test 1" in kafka.succeed(
"${kafkaPackage}/bin/kafka-console-consumer.sh "
+ "--bootstrap-server localhost:9092 --topic testtopic "
+ "--from-beginning --max-messages 1"
)
''); '');
}); }) {});
in with pkgs; { in with pkgs; {
kafka_0_9 = makeKafkaTest "kafka_0_9" apacheKafka_0_9; kafka_0_9 = makeKafkaTest "kafka_0_9" apacheKafka_0_9;