Add tests for signature checking when copying between local stores
This commit is contained in:
		
							parent
							
								
									8df60b4ea8
								
							
						
					
					
						commit
						0c9718aabc
					
				
					 1 changed files with 20 additions and 0 deletions
				
			
		|  | @ -66,3 +66,23 @@ nix sign-paths --store file://$cacheDir --key-file $TEST_ROOT/sk2 $outPath2 | |||
| info=$(nix path-info --store file://$cacheDir --json $outPath2) | ||||
| [[ $info =~ 'cache1.example.org' ]] | ||||
| [[ $info =~ 'cache2.example.org' ]] | ||||
| 
 | ||||
| # Copying to a diverted store should fail due to a lack of valid signatures. | ||||
| chmod -R u+w $TEST_ROOT/store0 || true | ||||
| rm -rf $TEST_ROOT/store0 | ||||
| (! nix copy --to $TEST_ROOT/store0 $outPath) | ||||
| 
 | ||||
| # But succeed if we supply the public keys. | ||||
| (nix copy --to $TEST_ROOT/store0 $outPath --trusted-public-keys $pk1) | ||||
| 
 | ||||
| expect 2 nix verify --store $TEST_ROOT/store0 -r $outPath | ||||
| 
 | ||||
| nix verify --store $TEST_ROOT/store0 -r $outPath --trusted-public-keys $pk1 | ||||
| nix verify --store $TEST_ROOT/store0 -r $outPath --sigs-needed 2 --trusted-public-keys "$pk1 $pk2" | ||||
| 
 | ||||
| # It should also succeed if we disable signature checking. | ||||
| (! nix copy --to $TEST_ROOT/store0 $outPath2) | ||||
| nix copy --to $TEST_ROOT/store0?require-sigs=false $outPath2 | ||||
| 
 | ||||
| # But signatures should still get copied. | ||||
| nix verify --store $TEST_ROOT/store0 -r $outPath2 --trusted-public-keys $pk1 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue