120 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			120 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | import boto3 | ||
|  | import pytest | ||
|  | 
 | ||
|  | from botocore.exceptions import ClientError | ||
|  | from moto import mock_route53 | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_route53 | ||
|  | def test_list_reusable_delegation_set(): | ||
|  |     client = boto3.client("route53", region_name="us-east-1") | ||
|  |     resp = client.list_reusable_delegation_sets() | ||
|  | 
 | ||
|  |     resp.should.have.key("DelegationSets").equals([]) | ||
|  |     resp.should.have.key("IsTruncated").equals(False) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_route53 | ||
|  | def test_create_reusable_delegation_set(): | ||
|  |     client = boto3.client("route53", region_name="us-east-1") | ||
|  |     resp = client.create_reusable_delegation_set(CallerReference="r3f3r3nc3") | ||
|  | 
 | ||
|  |     headers = resp["ResponseMetadata"]["HTTPHeaders"] | ||
|  |     headers.should.have.key("location") | ||
|  | 
 | ||
|  |     resp.should.have.key("DelegationSet") | ||
|  | 
 | ||
|  |     resp["DelegationSet"].should.have.key("Id") | ||
|  |     resp["DelegationSet"].should.have.key("CallerReference").equals("r3f3r3nc3") | ||
|  |     resp["DelegationSet"].should.have.key("NameServers").length_of(4) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_route53 | ||
|  | def test_create_reusable_delegation_set_from_hosted_zone(): | ||
|  |     client = boto3.client("route53", region_name="us-east-1") | ||
|  |     response = client.create_hosted_zone( | ||
|  |         Name="testdns.aws.com.", CallerReference=str(hash("foo")) | ||
|  |     ) | ||
|  |     hosted_zone_id = response["HostedZone"]["Id"] | ||
|  |     hosted_zone_name_servers = set(response["DelegationSet"]["NameServers"]) | ||
|  | 
 | ||
|  |     resp = client.create_reusable_delegation_set( | ||
|  |         CallerReference="r3f3r3nc3", HostedZoneId=hosted_zone_id | ||
|  |     ) | ||
|  | 
 | ||
|  |     set(resp["DelegationSet"]["NameServers"]).should.equal(hosted_zone_name_servers) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_route53 | ||
|  | def test_create_reusable_delegation_set_from_hosted_zone_with_delegationsetid(): | ||
|  |     client = boto3.client("route53", region_name="us-east-1") | ||
|  |     response = client.create_hosted_zone( | ||
|  |         Name="testdns.aws.com.", | ||
|  |         CallerReference=str(hash("foo")), | ||
|  |         DelegationSetId="customdelegationsetid", | ||
|  |     ) | ||
|  | 
 | ||
|  |     response.should.have.key("DelegationSet") | ||
|  |     response["DelegationSet"].should.have.key("Id").equals("customdelegationsetid") | ||
|  |     response["DelegationSet"].should.have.key("NameServers") | ||
|  | 
 | ||
|  |     hosted_zone_id = response["HostedZone"]["Id"] | ||
|  |     hosted_zone_name_servers = set(response["DelegationSet"]["NameServers"]) | ||
|  | 
 | ||
|  |     resp = client.create_reusable_delegation_set( | ||
|  |         CallerReference="r3f3r3nc3", HostedZoneId=hosted_zone_id | ||
|  |     ) | ||
|  | 
 | ||
|  |     resp["DelegationSet"].should.have.key("Id").shouldnt.equal("customdelegationsetid") | ||
|  |     set(resp["DelegationSet"]["NameServers"]).should.equal(hosted_zone_name_servers) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_route53 | ||
|  | def test_get_reusable_delegation_set(): | ||
|  |     client = boto3.client("route53", region_name="us-east-1") | ||
|  |     ds_id = client.create_reusable_delegation_set(CallerReference="r3f3r3nc3")[ | ||
|  |         "DelegationSet" | ||
|  |     ]["Id"] | ||
|  | 
 | ||
|  |     resp = client.get_reusable_delegation_set(Id=ds_id) | ||
|  | 
 | ||
|  |     resp.should.have.key("DelegationSet") | ||
|  | 
 | ||
|  |     resp["DelegationSet"].should.have.key("Id").equals(ds_id) | ||
|  |     resp["DelegationSet"].should.have.key("CallerReference").equals("r3f3r3nc3") | ||
|  |     resp["DelegationSet"].should.have.key("NameServers").length_of(4) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_route53 | ||
|  | def test_get_reusable_delegation_set_unknown(): | ||
|  |     client = boto3.client("route53", region_name="us-east-1") | ||
|  | 
 | ||
|  |     with pytest.raises(ClientError) as exc: | ||
|  |         client.get_reusable_delegation_set(Id="unknown") | ||
|  |     err = exc.value.response["Error"] | ||
|  |     err["Code"].should.equal("NoSuchDelegationSet") | ||
|  |     err["Message"].should.equal("unknown") | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_route53 | ||
|  | def test_list_reusable_delegation_sets(): | ||
|  |     client = boto3.client("route53", region_name="us-east-1") | ||
|  |     client.create_reusable_delegation_set(CallerReference="r3f3r3nc3") | ||
|  |     client.create_reusable_delegation_set(CallerReference="r3f3r3nc4") | ||
|  | 
 | ||
|  |     resp = client.list_reusable_delegation_sets() | ||
|  |     resp.should.have.key("DelegationSets").length_of(2) | ||
|  |     resp.should.have.key("IsTruncated").equals(False) | ||
|  | 
 | ||
|  | 
 | ||
|  | @mock_route53 | ||
|  | def test_delete_reusable_delegation_set(): | ||
|  |     client = boto3.client("route53", region_name="us-east-1") | ||
|  |     ds_id = client.create_reusable_delegation_set(CallerReference="r3f3r3nc3")[ | ||
|  |         "DelegationSet" | ||
|  |     ]["Id"] | ||
|  | 
 | ||
|  |     client.delete_reusable_delegation_set(Id=ds_id) | ||
|  | 
 | ||
|  |     client.list_reusable_delegation_sets()["DelegationSets"].should.have.length_of(0) |