forked from aws/aws-cdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
global-accelerator-target.test.ts
58 lines (51 loc) · 1.89 KB
/
global-accelerator-target.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import '@aws-cdk/assert/jest';
import * as globalaccelerator from '@aws-cdk/aws-globalaccelerator';
import * as route53 from '@aws-cdk/aws-route53';
import { Stack } from '@aws-cdk/core';
import * as targets from '../lib';
test('GlobalAcceleratorTarget exposes a public constant of the zone id', () => {
expect(targets.GlobalAcceleratorTarget.GLOBAL_ACCELERATOR_ZONE_ID).toStrictEqual('Z2BJ6XQ5FK7U4H');
});
test('GlobalAcceleratorTarget creates an alias resource with a string domain name', () => {
// GIVEN
const stack = new Stack();
const zone = new route53.PublicHostedZone(stack, 'HostedZone', { zoneName: 'test.public' });
// WHEN
new route53.ARecord(stack, 'GlobalAcceleratorAlias', {
target: route53.RecordTarget.fromAlias(new targets.GlobalAcceleratorTarget('xyz.awsglobalaccelerator.com')),
recordName: 'test',
zone,
});
// THEN
expect(stack).toHaveResource('AWS::Route53::RecordSet', {
AliasTarget: {
DNSName: 'xyz.awsglobalaccelerator.com',
HostedZoneId: 'Z2BJ6XQ5FK7U4H',
},
});
});
test('GlobalAcceleratorTarget creates an alias resource with a Global Accelerator reference domain name', () => {
// GIVEN
const stack = new Stack();
const accelerator = new globalaccelerator.Accelerator(stack, 'Accelerator');
const logicalId = stack.getLogicalId(<globalaccelerator.CfnAccelerator>accelerator.node.defaultChild);
const zone = new route53.PublicHostedZone(stack, 'HostedZone', { zoneName: 'test.public' });
// WHEN
new route53.ARecord(stack, 'GlobalAcceleratorAlias', {
target: route53.RecordTarget.fromAlias(new targets.GlobalAcceleratorTarget(accelerator)),
recordName: 'test',
zone,
});
// THEN
expect(stack).toHaveResource('AWS::Route53::RecordSet', {
AliasTarget: {
DNSName: {
'Fn::GetAtt': [
logicalId,
'DnsName',
],
},
HostedZoneId: 'Z2BJ6XQ5FK7U4H',
},
});
});