| 
									
										
										
										
											2014-05-27 22:54:43 +02:00
										 |  |  | # This test runs influxdb and checks if influxdb is up and running | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-24 20:21:06 +01:00
										 |  |  | import ./make-test-python.nix ({ pkgs, ...} : { | 
					
						
							| 
									
										
										
										
											2014-06-28 16:04:49 +02:00
										 |  |  |   name = "influxdb"; | 
					
						
							| 
									
										
										
										
											2021-01-10 20:08:30 +01:00
										 |  |  |   meta = with pkgs.lib.maintainers; { | 
					
						
							| 
									
										
										
										
											2019-02-22 16:14:13 +01:00
										 |  |  |     maintainers = [ offline ]; | 
					
						
							| 
									
										
										
										
											2015-07-12 12:09:40 +02:00
										 |  |  |   }; | 
					
						
							| 
									
										
										
										
											2014-06-28 16:04:49 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-27 22:54:43 +02:00
										 |  |  |   nodes = { | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |     one = { ... }: { | 
					
						
							| 
									
										
										
										
											2014-05-27 22:54:43 +02:00
										 |  |  |       services.influxdb.enable = true; | 
					
						
							| 
									
										
										
										
											2019-11-24 20:21:06 +01:00
										 |  |  |       environment.systemPackages = [ pkgs.httpie ]; | 
					
						
							| 
									
										
										
										
											2014-05-27 22:54:43 +02:00
										 |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   testScript = ''
 | 
					
						
							| 
									
										
										
										
											2019-11-24 20:21:06 +01:00
										 |  |  |     import shlex | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     start_all() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     one.wait_for_unit("influxdb.service") | 
					
						
							| 
									
										
										
										
											2014-05-27 22:54:43 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     # create database | 
					
						
							| 
									
										
										
										
											2019-11-24 20:21:06 +01:00
										 |  |  |     one.succeed( | 
					
						
							|  |  |  |         "curl -XPOST http://localhost:8086/query --data-urlencode 'q=CREATE DATABASE test'" | 
					
						
							|  |  |  |     ) | 
					
						
							| 
									
										
										
										
											2014-05-27 22:54:43 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     # write some points and run simple query | 
					
						
							| 
									
										
										
										
											2019-11-24 20:21:06 +01:00
										 |  |  |     out = one.succeed( | 
					
						
							|  |  |  |         "curl -XPOST 'http://localhost:8086/write?db=test' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'" | 
					
						
							|  |  |  |     ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     qv = "SELECT value FROM cpu_load_short WHERE region='us-west'" | 
					
						
							|  |  |  |     cmd = f'curl -GET "http://localhost:8086/query?db=test" --data-urlencode {shlex.quote("q="+ qv)}' | 
					
						
							|  |  |  |     out = one.succeed(cmd) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     assert "2015-06-11T20:46:02Z" in out | 
					
						
							|  |  |  |     assert "0.64" in out | 
					
						
							| 
									
										
										
										
											2014-05-27 22:54:43 +02:00
										 |  |  |   '';
 | 
					
						
							| 
									
										
										
										
											2015-07-12 12:09:40 +02:00
										 |  |  | }) |