Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ab1d1ea

Browse files
authored
add Terraform test case for Route53 (#3268)
1 parent 1a7f978 commit ab1d1ea

File tree

6 files changed

+37
-9
lines changed

6 files changed

+37
-9
lines changed

‎localstack/plugins.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@ def do_register_localstack_plugins():
3737
from localstack.services.sns import sns_listener
3838
from localstack.services.sqs import sqs_listener, sqs_starter
3939
from localstack.services.iam import iam_listener, iam_starter
40-
from localstack.services.route53 import route53_listener
40+
from localstack.services.route53 import route53_listener, route53_starter
4141
from localstack.services.sts import sts_starter, sts_listener
4242
from localstack.services.ses import ses_starter
4343
from localstack.services.ssm import ssm_listener
4444
from localstack.services.logs import logs_listener, logs_starter
4545
from localstack.services.infra import (
46-
start_sns, start_route53, start_elasticsearch_service, start_lambda, start_sts, start_ssm,
46+
start_sns, start_elasticsearch_service, start_lambda, start_sts, start_ssm,
4747
start_redshift, start_firehose, start_dynamodbstreams, start_acm
4848
)
4949
from localstack.services.events import events_listener, events_starter
@@ -140,7 +140,7 @@ def do_register_localstack_plugins():
140140

141141
register_plugin(Plugin(
142142
'route53',
143-
start=start_route53,
143+
start=route53_starter.start_route53,
144144
listener=route53_listener.UPDATE_ROUTE53))
145145

146146
register_plugin(Plugin(

‎localstack/services/infra.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,12 +101,6 @@ def start_redshift(port=None, asynchronous=False):
101101
return start_moto_server('redshift', port, name='Redshift', asynchronous=asynchronous)
102102

103103

104-
def start_route53(port=None, asynchronous=False, update_listener=None):
105-
port = port or config.PORT_ROUTE53
106-
return start_moto_server('route53', port, name='Route53', asynchronous=asynchronous,
107-
update_listener=update_listener)
108-
109-
110104
def start_acm(port=None, asynchronous=False):
111105
port = port or config.PORT_ACM
112106
return start_moto_server('acm', port, name='ACM', asynchronous=asynchronous)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from localstack import config
2+
from localstack.services.infra import start_moto_server
3+
4+
5+
def start_route53(port=None, asynchronous=False, update_listener=None):
6+
port = port or config.PORT_ROUTE53
7+
return start_moto_server(
8+
'route53', port, name='Route53',
9+
asynchronous=asynchronous, update_listener=update_listener
10+
)

‎tests/integration/terraform/provider.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@ provider "aws" {
1313
lambda = "http://localhost:4566"
1414
iam = "http://localhost:4566"
1515
apigateway = "http://localhost:4566"
16+
route53 = "http://localhost:4566"
1617
}
1718
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
resource "aws_route53_zone" "tf_route53_zone" {
2+
name = "test.example.com"
3+
tags = {
4+
name = "tf-route53-zone"
5+
}
6+
}
7+
8+
resource "aws_route53_record" "tf_route53_record" {
9+
zone_id = aws_route53_zone.tf_route53_zone.zone_id
10+
name = "test.example.com"
11+
type = "A"
12+
ttl = "1"
13+
records = ["1.1.1.1"]
14+
}

‎tests/integration/test_terraform.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,3 +90,12 @@ def test_apigateway(self):
9090
self.assertEqual(len(res2[0]['resourceMethods']), 2)
9191
self.assertEqual(res2[0]['resourceMethods']['GET']['methodIntegration']['type'], 'AWS_PROXY')
9292
self.assertTrue(res2[0]['resourceMethods']['GET']['methodIntegration']['uri'])
93+
94+
def test_route53(self):
95+
route53 = aws_stack.connect_to_service('route53')
96+
97+
response = route53.create_hosted_zone(Name='zone123', CallerReference='ref123')
98+
self.assertEqual(201, response['ResponseMetadata']['HTTPStatusCode'])
99+
100+
response = route53.get_change(Id='string')
101+
self.assertEqual(200, response['ResponseMetadata']['HTTPStatusCode'])

0 commit comments

Comments
 (0)