98 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			98 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | import boto3 | ||
|  | 
 | ||
|  | from moto import mock_batch | ||
|  | from tests import DEFAULT_ACCOUNT_ID | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_batch | ||
|  | def test_create_scheduling_policy(): | ||
|  |     client = boto3.client("batch", "us-east-2") | ||
|  |     resp = client.create_scheduling_policy(name="test") | ||
|  |     resp.should.have.key("name").equals("test") | ||
|  |     resp.should.have.key("arn").equals( | ||
|  |         f"arn:aws:batch:us-east-2:{DEFAULT_ACCOUNT_ID}:scheduling-policy/test" | ||
|  |     ) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_batch | ||
|  | def test_describe_default_scheduling_policy(): | ||
|  |     client = boto3.client("batch", "us-east-2") | ||
|  |     arn = client.create_scheduling_policy(name="test")["arn"] | ||
|  | 
 | ||
|  |     resp = client.describe_scheduling_policies(arns=[arn]) | ||
|  |     resp.should.have.key("schedulingPolicies").length_of(1) | ||
|  | 
 | ||
|  |     policy = resp["schedulingPolicies"][0] | ||
|  |     policy["arn"].should.equal(arn) | ||
|  |     policy["fairsharePolicy"].should.equal( | ||
|  |         {"computeReservation": 0, "shareDecaySeconds": 0, "shareDistribution": []} | ||
|  |     ) | ||
|  |     policy["tags"].should.equal({}) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_batch | ||
|  | def test_describe_scheduling_policy(): | ||
|  |     client = boto3.client("batch", "us-east-2") | ||
|  |     arn = client.create_scheduling_policy( | ||
|  |         name="test", | ||
|  |         fairsharePolicy={ | ||
|  |             "shareDecaySeconds": 1, | ||
|  |             "computeReservation": 2, | ||
|  |             "shareDistribution": [{"shareIdentifier": "A", "weightFactor": 0.1}], | ||
|  |         }, | ||
|  |     )["arn"] | ||
|  | 
 | ||
|  |     resp = client.list_scheduling_policies() | ||
|  |     resp.should.have.key("schedulingPolicies") | ||
|  |     arns = [a["arn"] for a in resp["schedulingPolicies"]] | ||
|  |     arns.should.contain(arn) | ||
|  | 
 | ||
|  |     resp = client.describe_scheduling_policies(arns=[arn]) | ||
|  |     resp.should.have.key("schedulingPolicies").length_of(1) | ||
|  | 
 | ||
|  |     policy = resp["schedulingPolicies"][0] | ||
|  |     policy["arn"].should.equal(arn) | ||
|  |     policy["fairsharePolicy"].should.equal( | ||
|  |         { | ||
|  |             "computeReservation": 2, | ||
|  |             "shareDecaySeconds": 1, | ||
|  |             "shareDistribution": [{"shareIdentifier": "A", "weightFactor": 0.1}], | ||
|  |         } | ||
|  |     ) | ||
|  |     policy["tags"].should.equal({}) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_batch | ||
|  | def test_delete_scheduling_policy(): | ||
|  |     client = boto3.client("batch", "us-east-2") | ||
|  |     arn = client.create_scheduling_policy(name="test")["arn"] | ||
|  | 
 | ||
|  |     client.delete_scheduling_policy(arn=arn) | ||
|  | 
 | ||
|  |     resp = client.describe_scheduling_policies(arns=[arn]) | ||
|  |     resp.should.have.key("schedulingPolicies").length_of(0) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_batch | ||
|  | def test_update_scheduling_policy(): | ||
|  |     client = boto3.client("batch", "us-east-2") | ||
|  |     arn = client.create_scheduling_policy(name="test")["arn"] | ||
|  | 
 | ||
|  |     client.update_scheduling_policy( | ||
|  |         arn=arn, | ||
|  |         fairsharePolicy={ | ||
|  |             "computeReservation": 5, | ||
|  |             "shareDecaySeconds": 10, | ||
|  |             "shareDistribution": [], | ||
|  |         }, | ||
|  |     ) | ||
|  | 
 | ||
|  |     resp = client.describe_scheduling_policies(arns=[arn]) | ||
|  |     resp.should.have.key("schedulingPolicies").length_of(1) | ||
|  | 
 | ||
|  |     policy = resp["schedulingPolicies"][0] | ||
|  |     policy["arn"].should.equal(arn) | ||
|  |     policy["fairsharePolicy"].should.equal( | ||
|  |         {"computeReservation": 5, "shareDecaySeconds": 10, "shareDistribution": []} | ||
|  |     ) |