forked from toolshed/abra
		
	
		
			
				
	
	
		
			126 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| setup() {
 | |
|   load "$PWD/tests/integration/helpers/common"
 | |
|   _common_setup
 | |
| }
 | |
| 
 | |
| teardown(){
 | |
|   run rm -rf "$ABRA_DIR/recipes/matrix-synapse"
 | |
|   assert_success
 | |
|   assert_not_exists "$ABRA_DIR/recipes/$TEST_RECIPE"
 | |
| 
 | |
|   run rm -rf "$ABRA_DIR/recipes/git_coopcloud_tech_coop-cloud_matrix-synapse"
 | |
|   assert_success
 | |
|   assert_not_exists "$ABRA_DIR/recipes/git_coopcloud_tech_coop-cloud_matrix-synapse"
 | |
| }
 | |
| 
 | |
| # bats test_tags=slow
 | |
| @test "recipe fetch all" {
 | |
|   run rm -rf "$ABRA_DIR/recipes/matrix-synapse"
 | |
|   assert_success
 | |
|   assert_not_exists "$ABRA_DIR/recipes/matrix-synapse"
 | |
| 
 | |
|   run $ABRA recipe fetch --all
 | |
|   assert_success
 | |
|   assert_exists "$ABRA_DIR/recipes/matrix-synapse"
 | |
| }
 | |
| 
 | |
| @test "recipe fetch single recipe" {
 | |
|   run rm -rf "$ABRA_DIR/recipes/matrix-synapse"
 | |
|   assert_success
 | |
|   assert_not_exists "$ABRA_DIR/recipes/matrix-synapse"
 | |
| 
 | |
|   run $ABRA recipe fetch matrix-synapse
 | |
|   assert_success
 | |
|   assert_exists "$ABRA_DIR/recipes/matrix-synapse"
 | |
| }
 | |
| 
 | |
| @test "error if missing args/flags" {
 | |
|   run $ABRA recipe fetch
 | |
|   assert_failure
 | |
| }
 | |
| 
 | |
| @test "error if single recipe and --all" {
 | |
|   run $ABRA recipe fetch matrix-synapse --all
 | |
|   assert_failure
 | |
| }
 | |
| 
 | |
| @test "do not refetch without --force" {
 | |
|   run $ABRA recipe fetch matrix-synapse
 | |
|   assert_success
 | |
|   assert_exists "$ABRA_DIR/recipes/matrix-synapse"
 | |
| 
 | |
|   run $ABRA recipe fetch matrix-synapse
 | |
|   assert_output --partial "already fetched"
 | |
| }
 | |
| 
 | |
| @test "refetch with --force" {
 | |
|   run $ABRA recipe fetch matrix-synapse
 | |
|   assert_success
 | |
|   assert_exists "$ABRA_DIR/recipes/matrix-synapse"
 | |
| 
 | |
|   run $ABRA recipe fetch matrix-synapse --force
 | |
|   assert_success
 | |
|   refute_output --partial "already fetched"
 | |
| }
 | |
| 
 | |
| @test "refetch with --force does not erase unstaged changes" {
 | |
|   run $ABRA recipe fetch matrix-synapse
 | |
|   assert_success
 | |
|   assert_exists "$ABRA_DIR/recipes/matrix-synapse"
 | |
| 
 | |
|   run bash -c "echo foo >> $ABRA_DIR/recipes/matrix-synapse/foo"
 | |
|   assert_success
 | |
|   assert_exists "$ABRA_DIR/recipes/matrix-synapse/foo"
 | |
| 
 | |
|   run $ABRA recipe fetch matrix-synapse --force
 | |
|   assert_success
 | |
|   assert_exists "$ABRA_DIR/recipes/matrix-synapse"
 | |
|   assert_exists "$ABRA_DIR/recipes/matrix-synapse/foo"
 | |
| }
 | |
| 
 | |
| @test "fetch with --ssh" {
 | |
|   run $ABRA recipe fetch matrix-synapse --ssh
 | |
|   assert_success
 | |
|   assert_exists "$ABRA_DIR/recipes/matrix-synapse"
 | |
| 
 | |
|   run git -C "$ABRA_DIR/recipes/matrix-synapse" remote -v
 | |
|   assert_success
 | |
|   assert_output --partial "ssh://"
 | |
| }
 | |
| 
 | |
| @test "re-fetch with --ssh/--force" {
 | |
|   run $ABRA recipe fetch matrix-synapse
 | |
|   assert_success
 | |
|   assert_exists "$ABRA_DIR/recipes/matrix-synapse"
 | |
| 
 | |
|   run git -C "$ABRA_DIR/recipes/matrix-synapse" remote -v
 | |
|   assert_success
 | |
|   assert_output --partial "https://"
 | |
| 
 | |
|   run $ABRA recipe fetch matrix-synapse --ssh --force
 | |
|   assert_success
 | |
|   assert_exists "$ABRA_DIR/recipes/matrix-synapse"
 | |
| 
 | |
|   run git -C "$ABRA_DIR/recipes/matrix-synapse" remote -v
 | |
|   assert_success
 | |
|   assert_output --partial "ssh://"
 | |
| }
 | |
| 
 | |
| @test "fetch remote recipe" {
 | |
|   run $ABRA recipe fetch git.coopcloud.tech/coop-cloud/matrix-synapse
 | |
|   assert_success
 | |
|   assert_exists "$ABRA_DIR/recipes/git_coopcloud_tech_coop-cloud_matrix-synapse"
 | |
| }
 | |
| 
 | |
| @test "remote recipe do not refetch without --force" {
 | |
|   run $ABRA recipe fetch git.coopcloud.tech/coop-cloud/matrix-synapse
 | |
|   assert_success
 | |
|   assert_exists "$ABRA_DIR/recipes/git_coopcloud_tech_coop-cloud_matrix-synapse"
 | |
| 
 | |
|   run $ABRA recipe fetch git.coopcloud.tech/coop-cloud/matrix-synapse
 | |
|   assert_success
 | |
|   assert_output --partial "already fetched"
 | |
| }
 |