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"
 | 
						|
}
 |