26 lines
		
	
	
		
			971 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			971 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| 
								 | 
							
								import ./make-test.nix ({ pkgs, ... }: {
							 | 
						||
| 
								 | 
							
								  name = "clickhouse";
							 | 
						||
| 
								 | 
							
								  meta.maintainers = with pkgs.stdenv.lib.maintainers; [ ma27 ];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  machine = {
							 | 
						||
| 
								 | 
							
								    services.clickhouse.enable = true;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  testScript =
							 | 
						||
| 
								 | 
							
								    let
							 | 
						||
| 
								 | 
							
								      # work around quote/substitution complexity by Nix, Perl, bash and SQL.
							 | 
						||
| 
								 | 
							
								      tableDDL = pkgs.writeText "ddl.sql" "CREATE TABLE `demo` (`value` FixedString(10)) engine = MergeTree PARTITION BY value ORDER BY tuple();";
							 | 
						||
| 
								 | 
							
								      insertQuery = pkgs.writeText "insert.sql" "INSERT INTO `demo` (`value`) VALUES ('foo');";
							 | 
						||
| 
								 | 
							
								      selectQuery = pkgs.writeText "select.sql" "SELECT * from `demo`";
							 | 
						||
| 
								 | 
							
								    in
							 | 
						||
| 
								 | 
							
								      ''
							 | 
						||
| 
								 | 
							
								        $machine->start();
							 | 
						||
| 
								 | 
							
								        $machine->waitForUnit("clickhouse.service");
							 | 
						||
| 
								 | 
							
								        $machine->waitForOpenPort(9000);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $machine->succeed("cat ${tableDDL} | clickhouse-client");
							 | 
						||
| 
								 | 
							
								        $machine->succeed("cat ${insertQuery} | clickhouse-client");
							 | 
						||
| 
								 | 
							
								        $machine->succeed("cat ${selectQuery} | clickhouse-client | grep foo");
							 | 
						||
| 
								 | 
							
								      '';
							 | 
						||
| 
								 | 
							
								})
							 |