at 23.05-pre 1.1 kB view raw
1import ./make-test-python.nix ({ pkgs, ... }: { 2 name = "clickhouse"; 3 meta.maintainers = with pkgs.lib.maintainers; [ ma27 ]; 4 5 nodes.machine = { 6 services.clickhouse.enable = true; 7 virtualisation.memorySize = 4096; 8 }; 9 10 testScript = 11 let 12 # work around quote/substitution complexity by Nix, Perl, bash and SQL. 13 tableDDL = pkgs.writeText "ddl.sql" "CREATE TABLE `demo` (`value` FixedString(10)) engine = MergeTree PARTITION BY value ORDER BY tuple();"; 14 insertQuery = pkgs.writeText "insert.sql" "INSERT INTO `demo` (`value`) VALUES ('foo');"; 15 selectQuery = pkgs.writeText "select.sql" "SELECT * from `demo`"; 16 in 17 '' 18 machine.start() 19 machine.wait_for_unit("clickhouse.service") 20 machine.wait_for_open_port(9000) 21 22 machine.succeed( 23 "cat ${tableDDL} | clickhouse-client" 24 ) 25 machine.succeed( 26 "cat ${insertQuery} | clickhouse-client" 27 ) 28 machine.succeed( 29 "cat ${selectQuery} | clickhouse-client | grep foo" 30 ) 31 ''; 32})