| 
									
										
										
										
											2020-05-08 10:48:47 +01:00
										 |  |  | import ./make-test-python.nix ({ pkgs, ...} : { | 
					
						
							| 
									
										
										
										
											2016-11-26 20:07:01 +01:00
										 |  |  |   name = "ipfs"; | 
					
						
							| 
									
										
										
										
											2021-01-10 20:08:30 +01:00
										 |  |  |   meta = with pkgs.lib.maintainers; { | 
					
						
							| 
									
										
										
										
											2016-11-26 20:07:01 +01:00
										 |  |  |     maintainers = [ mguentner ]; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-08 10:48:47 +01:00
										 |  |  |   nodes.machine = { ... }: { | 
					
						
							|  |  |  |     services.ipfs = { | 
					
						
							|  |  |  |       enable = true; | 
					
						
							| 
									
										
										
										
											2020-06-17 16:19:01 -04:00
										 |  |  |       # Also will add a unix domain socket socket API address, see module. | 
					
						
							|  |  |  |       startWhenNeeded = true; | 
					
						
							| 
									
										
										
										
											2020-05-08 10:48:47 +01:00
										 |  |  |       apiAddress = "/ip4/127.0.0.1/tcp/2324"; | 
					
						
							|  |  |  |     }; | 
					
						
							| 
									
										
										
										
											2016-11-26 20:07:01 +01:00
										 |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   testScript = ''
 | 
					
						
							| 
									
										
										
										
											2020-05-08 10:48:47 +01:00
										 |  |  |     start_all() | 
					
						
							| 
									
										
										
										
											2017-08-30 15:20:10 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-17 16:19:01 -04:00
										 |  |  |     # IPv4 activation | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     machine.succeed("ipfs --api /ip4/127.0.0.1/tcp/2324 id") | 
					
						
							| 
									
										
										
										
											2020-05-08 10:48:47 +01:00
										 |  |  |     ipfs_hash = machine.succeed( | 
					
						
							|  |  |  |         "echo fnord | ipfs --api /ip4/127.0.0.1/tcp/2324 add | awk '{ print $2 }'" | 
					
						
							|  |  |  |     ) | 
					
						
							| 
									
										
										
										
											2017-08-30 15:20:10 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-08 10:48:47 +01:00
										 |  |  |     machine.succeed(f"ipfs cat /ipfs/{ipfs_hash.strip()} | grep fnord") | 
					
						
							| 
									
										
										
										
											2020-06-11 16:59:38 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-17 16:19:01 -04:00
										 |  |  |     # Unix domain socket activation | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     machine.stop_job("ipfs") | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-11 16:59:38 -05:00
										 |  |  |     ipfs_hash = machine.succeed( | 
					
						
							|  |  |  |         "echo fnord2 | ipfs --api /unix/run/ipfs.sock add | awk '{ print $2 }'" | 
					
						
							|  |  |  |     ) | 
					
						
							|  |  |  |     machine.succeed( | 
					
						
							|  |  |  |         f"ipfs --api /unix/run/ipfs.sock cat /ipfs/{ipfs_hash.strip()} | grep fnord2" | 
					
						
							|  |  |  |     ) | 
					
						
							| 
									
										
										
										
											2020-05-08 10:48:47 +01:00
										 |  |  |   '';
 | 
					
						
							| 
									
										
										
										
											2016-11-26 20:07:01 +01:00
										 |  |  | }) |