@@ -36,7 +36,6 @@ describe('synthesis', () => {
36
36
} ,
37
37
} ) ,
38
38
} ) ;
39
-
40
39
} ) ;
41
40
42
41
test ( 'synthesis respects disabling tree metadata' , ( ) => {
@@ -45,7 +44,87 @@ describe('synthesis', () => {
45
44
} ) ;
46
45
const assembly = app . synth ( ) ;
47
46
expect ( list ( assembly . directory ) ) . toEqual ( [ 'cdk.out' , 'manifest.json' ] ) ;
47
+ } ) ;
48
+
49
+ test ( 'synthesis respects disabling logicalId metadata' , ( ) => {
50
+ const app = new cdk . App ( {
51
+ context : { 'aws:cdk:disable-logicalId-metadata' : true } ,
52
+ } ) ;
53
+ const stack = new cdk . Stack ( app , 'one-stack' ) ;
54
+ new cdk . CfnResource ( stack , 'MagicResource' , { type : 'Resource::Type' } ) ;
55
+
56
+ // WHEN
57
+ const session = app . synth ( ) ;
58
+
59
+ // THEN
60
+ expect ( session . manifest ) . toEqual ( {
61
+ version : cxschema . Manifest . version ( ) ,
62
+ artifacts : {
63
+ 'Tree' : {
64
+ type : 'cdk:tree' ,
65
+ properties : { file : 'tree.json' } ,
66
+ } ,
67
+ 'one-stack' : {
68
+ type : 'aws:cloudformation:stack' ,
69
+ environment : 'aws://unknown-account/unknown-region' ,
70
+ properties : {
71
+ templateFile : 'one-stack.template.json' ,
72
+ validateOnSynth : false ,
73
+ } ,
74
+ displayName : 'one-stack' ,
75
+ // no metadata, because the only entry was a logicalId
76
+ } ,
77
+ } ,
78
+ } ) ;
79
+ } ) ;
80
+
81
+ test ( 'synthesis respects disabling logicalId metadata, and does not disable other metadata' , ( ) => {
82
+ const app = new cdk . App ( {
83
+ context : { 'aws:cdk:disable-logicalId-metadata' : true } ,
84
+ stackTraces : false ,
85
+ } ) ;
86
+ const stack = new cdk . Stack ( app , 'one-stack' , { tags : { boomTag : 'BOOM' } } ) ;
87
+ new cdk . CfnResource ( stack , 'MagicResource' , { type : 'Resource::Type' } ) ;
88
+
89
+ // WHEN
90
+ const session = app . synth ( ) ;
48
91
92
+ // THEN
93
+ expect ( session . manifest ) . toEqual ( {
94
+ version : cxschema . Manifest . version ( ) ,
95
+ artifacts : {
96
+ 'Tree' : {
97
+ type : 'cdk:tree' ,
98
+ properties : { file : 'tree.json' } ,
99
+ } ,
100
+ 'one-stack' : {
101
+ type : 'aws:cloudformation:stack' ,
102
+ environment : 'aws://unknown-account/unknown-region' ,
103
+ properties : {
104
+ templateFile : 'one-stack.template.json' ,
105
+ validateOnSynth : false ,
106
+ tags : {
107
+ boomTag : 'BOOM' ,
108
+ } ,
109
+ } ,
110
+ displayName : 'one-stack' ,
111
+ metadata : {
112
+ '/one-stack' : [
113
+ {
114
+ type : 'aws:cdk:stack-tags' ,
115
+ data : [
116
+ {
117
+ key : 'boomTag' ,
118
+ value : 'BOOM' ,
119
+ } ,
120
+ ] ,
121
+ } ,
122
+ ] ,
123
+ } ,
124
+ // no logicalId entry
125
+ } ,
126
+ } ,
127
+ } ) ;
49
128
} ) ;
50
129
51
130
test ( 'single empty stack' , ( ) => {
@@ -58,7 +137,6 @@ describe('synthesis', () => {
58
137
59
138
// THEN
60
139
expect ( list ( session . directory ) . includes ( 'one-stack.template.json' ) ) . toEqual ( true ) ;
61
-
62
140
} ) ;
63
141
64
142
test ( 'some random construct implements "synthesize"' , ( ) => {
@@ -112,7 +190,6 @@ describe('synthesis', () => {
112
190
} ,
113
191
} ,
114
192
} ) ;
115
-
116
193
} ) ;
117
194
118
195
test ( 'random construct uses addCustomSynthesis' , ( ) => {
@@ -172,7 +249,6 @@ describe('synthesis', () => {
172
249
} ,
173
250
} ,
174
251
} ) ;
175
-
176
252
} ) ;
177
253
178
254
testDeprecated ( 'it should be possible to synthesize without an app' , ( ) => {
@@ -220,7 +296,6 @@ describe('synthesis', () => {
220
296
expect ( stack . templateFile ) . toEqual ( 'hey.json' ) ;
221
297
expect ( stack . parameters ) . toEqual ( { paramId : 'paramValue' , paramId2 : 'paramValue2' } ) ;
222
298
expect ( stack . environment ) . toEqual ( { region : 'us-east-1' , account : 'unknown-account' , name : 'aws://unknown-account/us-east-1' } ) ;
223
-
224
299
} ) ;
225
300
} ) ;
226
301
0 commit comments