mirror of
				https://github.com/kata-containers/kata-containers.git
				synced 2025-10-31 09:26:52 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/usr/bin/env bats
 | |
| #
 | |
| # Copyright (c) 2019 Intel Corporation
 | |
| #
 | |
| # SPDX-License-Identifier: Apache-2.0
 | |
| #
 | |
| 
 | |
| load "${BATS_TEST_DIRNAME}/../../common.bash"
 | |
| load "${BATS_TEST_DIRNAME}/tests_common.sh"
 | |
| 
 | |
| setup() {
 | |
| 	get_pod_config_dir
 | |
| 	job_name="job-pi-test"
 | |
| 	yaml_file="${pod_config_dir}/job.yaml"
 | |
| 
 | |
| 	policy_settings_dir="$(create_tmp_policy_settings_dir "${pod_config_dir}")"
 | |
| 	add_requests_to_policy_settings "${policy_settings_dir}" "ReadStreamRequest"
 | |
| 	auto_generate_policy "${policy_settings_dir}" "${yaml_file}"
 | |
| }
 | |
| 
 | |
| @test "Run a job to completion" {
 | |
| 	# Create job
 | |
| 	kubectl apply -f "${yaml_file}"
 | |
| 
 | |
| 	# Verify job
 | |
| 	waitForProcess "$wait_time" "$sleep_time" "kubectl describe job $job_name | grep SuccessfulCreate"
 | |
| 
 | |
| 	# List pods that belong to the job
 | |
| 	pod_name=$(kubectl get pods --selector=job-name=$job_name --output=jsonpath='{.items[*].metadata.name}')
 | |
| 
 | |
| 	# Verify that the job is completed
 | |
| 	cmd="kubectl get pods -o jsonpath='{.items[*].status.phase}' | grep Succeeded"
 | |
| 	waitForProcess "$wait_time" "$sleep_time" "$cmd"
 | |
| 
 | |
| 	# Verify the output of the pod
 | |
| 	pi_number="3.14"
 | |
| 	kubectl logs "$pod_name" | grep "$pi_number"
 | |
| }
 | |
| 
 | |
| teardown() {
 | |
| 	# Debugging information
 | |
| 	kubectl describe pod "$pod_name"
 | |
| 	kubectl describe jobs/"$job_name"
 | |
| 
 | |
| 	# Clean-up
 | |
| 	kubectl delete pod "$pod_name"
 | |
| 	# Verify that pod is not running
 | |
| 	run kubectl get pods
 | |
| 	echo "$output"
 | |
| 	[[ "$output" =~ "No resources found" ]]
 | |
| 
 | |
| 	kubectl delete jobs/"$job_name"
 | |
| 	# Verify that the job is not running
 | |
| 	run kubectl get jobs
 | |
| 	echo "$output"
 | |
| 	[[ "$output" =~ "No resources found" ]]
 | |
| 
 | |
| 	delete_tmp_policy_settings_dir "${policy_settings_dir}"
 | |
| }
 |