mcdev 7.0.3 → 7.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/bug.yml +1 -0
- package/.github/PULL_REQUEST_TEMPLATE/pr_template_release.md +1 -0
- package/.github/workflows/code-test.yml +48 -0
- package/.husky/pre-commit +1 -1
- package/@types/lib/Builder.d.ts +13 -13
- package/@types/lib/Builder.d.ts.map +1 -1
- package/@types/lib/Deployer.d.ts +16 -16
- package/@types/lib/Deployer.d.ts.map +1 -1
- package/@types/lib/Retriever.d.ts +15 -15
- package/@types/lib/Retriever.d.ts.map +1 -1
- package/@types/lib/cli.d.ts +1 -1
- package/@types/lib/cli.d.ts.map +1 -1
- package/@types/lib/index.d.ts +34 -34
- package/@types/lib/index.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Asset.d.ts +18 -43
- package/@types/lib/metadataTypes/Asset.d.ts.map +1 -1
- package/@types/lib/metadataTypes/AttributeGroup.d.ts +3 -8
- package/@types/lib/metadataTypes/AttributeGroup.d.ts.map +1 -1
- package/@types/lib/metadataTypes/AttributeSet.d.ts +5 -21
- package/@types/lib/metadataTypes/AttributeSet.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Automation.d.ts +36 -49
- package/@types/lib/metadataTypes/Automation.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Campaign.d.ts +11 -18
- package/@types/lib/metadataTypes/Campaign.d.ts.map +1 -1
- package/@types/lib/metadataTypes/ContentArea.d.ts +12 -31
- package/@types/lib/metadataTypes/ContentArea.d.ts.map +1 -1
- package/@types/lib/metadataTypes/DataExtension.d.ts +23 -31
- package/@types/lib/metadataTypes/DataExtension.d.ts.map +1 -1
- package/@types/lib/metadataTypes/DataExtensionField.d.ts +12 -18
- package/@types/lib/metadataTypes/DataExtensionField.d.ts.map +1 -1
- package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts +11 -11
- package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts.map +1 -1
- package/@types/lib/metadataTypes/DataExtract.d.ts +12 -28
- package/@types/lib/metadataTypes/DataExtract.d.ts.map +1 -1
- package/@types/lib/metadataTypes/DataExtractType.d.ts +10 -10
- package/@types/lib/metadataTypes/DataExtractType.d.ts.map +1 -1
- package/@types/lib/metadataTypes/DeliveryProfile.d.ts +10 -10
- package/@types/lib/metadataTypes/DeliveryProfile.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Discovery.d.ts +10 -10
- package/@types/lib/metadataTypes/Discovery.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Email.d.ts +13 -34
- package/@types/lib/metadataTypes/Email.d.ts.map +1 -1
- package/@types/lib/metadataTypes/EmailSend.d.ts +10 -10
- package/@types/lib/metadataTypes/EmailSend.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Event.d.ts +19 -16
- package/@types/lib/metadataTypes/Event.d.ts.map +1 -1
- package/@types/lib/metadataTypes/FileLocation.d.ts +10 -10
- package/@types/lib/metadataTypes/FileLocation.d.ts.map +1 -1
- package/@types/lib/metadataTypes/FileTransfer.d.ts +11 -18
- package/@types/lib/metadataTypes/FileTransfer.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Filter.d.ts +10 -10
- package/@types/lib/metadataTypes/Filter.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Folder.d.ts +10 -10
- package/@types/lib/metadataTypes/Folder.d.ts.map +1 -1
- package/@types/lib/metadataTypes/ImportFile.d.ts +11 -15
- package/@types/lib/metadataTypes/ImportFile.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Journey.d.ts +13 -32
- package/@types/lib/metadataTypes/Journey.d.ts.map +1 -1
- package/@types/lib/metadataTypes/List.d.ts +12 -12
- package/@types/lib/metadataTypes/List.d.ts.map +1 -1
- package/@types/lib/metadataTypes/MetadataType.d.ts +23 -23
- package/@types/lib/metadataTypes/MetadataType.d.ts.map +1 -1
- package/@types/lib/metadataTypes/MobileCode.d.ts +11 -20
- package/@types/lib/metadataTypes/MobileCode.d.ts.map +1 -1
- package/@types/lib/metadataTypes/MobileKeyword.d.ts +14 -14
- package/@types/lib/metadataTypes/MobileKeyword.d.ts.map +1 -1
- package/@types/lib/metadataTypes/MobileMessage.d.ts +14 -42
- package/@types/lib/metadataTypes/MobileMessage.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Query.d.ts +12 -12
- package/@types/lib/metadataTypes/Query.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Role.d.ts +11 -11
- package/@types/lib/metadataTypes/Role.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Script.d.ts +15 -24
- package/@types/lib/metadataTypes/Script.d.ts.map +1 -1
- package/@types/lib/metadataTypes/SendClassification.d.ts +10 -10
- package/@types/lib/metadataTypes/SendClassification.d.ts.map +1 -1
- package/@types/lib/metadataTypes/SenderProfile.d.ts +11 -19
- package/@types/lib/metadataTypes/SenderProfile.d.ts.map +1 -1
- package/@types/lib/metadataTypes/TransactionalEmail.d.ts +12 -12
- package/@types/lib/metadataTypes/TransactionalEmail.d.ts.map +1 -1
- package/@types/lib/metadataTypes/TransactionalMessage.d.ts +11 -32
- package/@types/lib/metadataTypes/TransactionalMessage.d.ts.map +1 -1
- package/@types/lib/metadataTypes/TransactionalPush.d.ts +12 -21
- package/@types/lib/metadataTypes/TransactionalPush.d.ts.map +1 -1
- package/@types/lib/metadataTypes/TransactionalSMS.d.ts +12 -18
- package/@types/lib/metadataTypes/TransactionalSMS.d.ts.map +1 -1
- package/@types/lib/metadataTypes/TriggeredSend.d.ts +13 -18
- package/@types/lib/metadataTypes/TriggeredSend.d.ts.map +1 -1
- package/@types/lib/metadataTypes/User.d.ts +22 -40
- package/@types/lib/metadataTypes/User.d.ts.map +1 -1
- package/@types/lib/metadataTypes/Verification.d.ts +13 -13
- package/@types/lib/metadataTypes/Verification.d.ts.map +1 -1
- package/@types/lib/metadataTypes/definitions/Event.definition.d.ts +7 -1
- package/@types/lib/util/auth.d.ts +19 -18
- package/@types/lib/util/auth.d.ts.map +1 -1
- package/@types/lib/util/businessUnit.d.ts +17 -17
- package/@types/lib/util/businessUnit.d.ts.map +1 -1
- package/@types/lib/util/cache.d.ts +24 -32
- package/@types/lib/util/cache.d.ts.map +1 -1
- package/@types/lib/util/cli.d.ts +27 -27
- package/@types/lib/util/cli.d.ts.map +1 -1
- package/@types/lib/util/config.d.ts +20 -20
- package/@types/lib/util/config.d.ts.map +1 -1
- package/@types/lib/util/devops.d.ts +21 -21
- package/@types/lib/util/devops.d.ts.map +1 -1
- package/@types/lib/util/file.d.ts +179 -18
- package/@types/lib/util/file.d.ts.map +1 -1
- package/@types/lib/util/init.config.d.ts +19 -19
- package/@types/lib/util/init.config.d.ts.map +1 -1
- package/@types/lib/util/init.d.ts +20 -20
- package/@types/lib/util/init.d.ts.map +1 -1
- package/@types/lib/util/init.git.d.ts +2 -2
- package/@types/lib/util/init.git.d.ts.map +1 -1
- package/@types/lib/util/init.npm.d.ts +2 -2
- package/@types/lib/util/init.npm.d.ts.map +1 -1
- package/@types/lib/util/replaceContentBlockReference.d.ts +28 -28
- package/@types/lib/util/replaceContentBlockReference.d.ts.map +1 -1
- package/@types/lib/util/util.d.ts +33 -37
- package/@types/lib/util/util.d.ts.map +1 -1
- package/@types/types/mcdev.d.d.ts +73 -52
- package/@types/types/mcdev.d.d.ts.map +1 -1
- package/eslint.config.js +0 -1
- package/lib/Deployer.js +1 -1
- package/lib/Retriever.js +4 -1
- package/lib/cli.js +209 -278
- package/lib/index.js +89 -43
- package/lib/metadataTypes/Asset.js +1 -0
- package/lib/metadataTypes/DataExtension.js +3 -3
- package/lib/metadataTypes/DataExtensionField.js +0 -1
- package/lib/metadataTypes/Event.js +199 -35
- package/lib/metadataTypes/Folder.js +1 -1
- package/lib/metadataTypes/Journey.js +10 -2
- package/lib/metadataTypes/MetadataType.js +3 -4
- package/lib/metadataTypes/Role.js +9 -7
- package/lib/metadataTypes/SenderProfile.js +1 -0
- package/lib/metadataTypes/TransactionalEmail.js +2 -2
- package/lib/metadataTypes/TriggeredSend.js +1 -0
- package/lib/metadataTypes/User.js +31 -27
- package/lib/metadataTypes/definitions/Event.definition.js +8 -8
- package/lib/util/auth.js +0 -1
- package/lib/util/cli.js +0 -1
- package/lib/util/devops.js +2 -3
- package/lib/util/file.js +7 -10
- package/lib/util/replaceContentBlockReference.js +3 -1
- package/package.json +11 -9
- package/test/general.test.js +20 -2
- package/test/mockRoot/.mcdevrc.json +1 -1
- package/test/mockRoot/deploy/testInstance/testBU/event/testExisting_event.event-meta.json +201 -0
- package/test/mockRoot/deploy/testInstance/testBU/event/testNew_event_withExistingDE.event-meta.json +232 -0
- package/test/mockRoot/deploy/testInstance/testBU/event/testNew_event_withSchema.event-meta.json +193 -0
- package/test/resources/9999999/dataExtension/retrieve-CustomerKey=testNew_event_withSchema-response.xml +50 -0
- package/test/resources/9999999/dataExtension/retrieve-createdViaEvent-response.xml +50 -0
- package/test/resources/9999999/dataExtension/retrieve-response.xml +48 -0
- package/test/resources/9999999/dataExtension/retrieve_event_withSchema-expected.json +219 -0
- package/test/resources/9999999/dataExtension/update-afterCreatedViaEvent-response.xml +55 -0
- package/test/resources/9999999/dataExtension/update-callout-afterCreatedViaEvent-expected.xml +1 -0
- package/test/resources/9999999/dataExtensionField/retrieve-DataExtension.CustomerKey=testNew_event_withSchema-response.xml +461 -0
- package/test/resources/9999999/dataExtensionField/retrieve-DataExtension.CustomerKeyINtestExisting_dataExtension,testNew_dataExtension-response.xml +133 -0
- package/test/resources/9999999/dataExtensionField/retrieve-response.xml +870 -0
- package/test/resources/9999999/event/build-expected.json +228 -0
- package/test/resources/9999999/event/get-expected.json +235 -0
- package/test/resources/9999999/event/post_withExistingDE-callout-expected.json +17 -0
- package/test/resources/9999999/event/post_withExistingDE-expected.json +21 -0
- package/test/resources/9999999/event/post_withSchema-callout-expected.json +196 -0
- package/test/resources/9999999/event/post_withSchema-expected.json +232 -0
- package/test/resources/9999999/event/put-callout-expected.json +202 -0
- package/test/resources/9999999/event/put-expected.json +233 -0
- package/test/resources/9999999/event/template-expected.json +228 -0
- package/test/resources/9999999/interaction/v1/eventDefinitions/get-response.json +252 -2
- package/test/resources/9999999/interaction/v1/eventDefinitions/key_testExisting_event/delete-response.txt +0 -0
- package/test/resources/9999999/interaction/v1/eventDefinitions/key_testExisting_event/put-response.json +241 -0
- package/test/resources/9999999/interaction/v1/eventDefinitions/post_withExistingDE-response.json +26 -0
- package/test/resources/9999999/interaction/v1/eventDefinitions/post_withSchema-response.json +241 -0
- package/test/resources/9999999/interaction/v1/interactions/0175b971-71a3-4d8e-98ac-48121f3fbf4f/delete-response.txt +1 -0
- package/test/type.asset.test.js +0 -3
- package/test/type.automation.test.js +1 -1
- package/test/type.dataExtension.test.js +4 -4
- package/test/type.event.test.js +287 -6
- package/test/type.journey.test.js +13 -0
- package/test/type.user.test.js +1 -1
- package/test/utils.js +18 -6
- package/tsconfig.json +6 -1
- package/{jsconfig.json → tsconfig.npmScripts.json} +1 -1
- package/tsconfig.precommit.json +26 -0
- package/types/mcdev.d.js +12 -13
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "b9cb2b05-738d-4f49-b53d-28e3bbe52d12",
|
|
3
|
+
"type": "APIEvent",
|
|
4
|
+
"name": "testNew_event_withSchema",
|
|
5
|
+
"description": "created on deploy",
|
|
6
|
+
"createdDate": "0001-01-01T00:00:00",
|
|
7
|
+
"createdBy": 0,
|
|
8
|
+
"modifiedDate": "0001-01-01T00:00:00",
|
|
9
|
+
"modifiedBy": 0,
|
|
10
|
+
"mode": "Production",
|
|
11
|
+
"eventDefinitionKey": "testNew_event_withSchema",
|
|
12
|
+
"dataExtensionId": "4342972c-a43c-ef11-a5c8-5cba2c702db8",
|
|
13
|
+
"dataExtensionName": "testNew_event_withSchema - 2024-07-08T014814443",
|
|
14
|
+
"schema": {
|
|
15
|
+
"id": "4342972c-a43c-ef11-a5c8-5cba2c702db8",
|
|
16
|
+
"name": "testNew_event_withSchema - 2024-07-08T014814443",
|
|
17
|
+
"fields": [
|
|
18
|
+
{
|
|
19
|
+
"name": "ContactId",
|
|
20
|
+
"dataType": "Text",
|
|
21
|
+
"maxLength": "18",
|
|
22
|
+
"isNullable": false,
|
|
23
|
+
"isPrimaryKey": true,
|
|
24
|
+
"isDevicePreference": false
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "Type",
|
|
28
|
+
"dataType": "Text",
|
|
29
|
+
"maxLength": "50",
|
|
30
|
+
"isNullable": false,
|
|
31
|
+
"isPrimaryKey": false,
|
|
32
|
+
"isDevicePreference": false
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "Status",
|
|
36
|
+
"dataType": "Text",
|
|
37
|
+
"maxLength": "50",
|
|
38
|
+
"isNullable": false,
|
|
39
|
+
"isPrimaryKey": true,
|
|
40
|
+
"isDevicePreference": false
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "Respondent",
|
|
44
|
+
"dataType": "Text",
|
|
45
|
+
"maxLength": "256",
|
|
46
|
+
"isNullable": true,
|
|
47
|
+
"isPrimaryKey": false,
|
|
48
|
+
"isDevicePreference": false
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "FirstName",
|
|
52
|
+
"dataType": "Text",
|
|
53
|
+
"maxLength": "256",
|
|
54
|
+
"isNullable": true,
|
|
55
|
+
"isPrimaryKey": false,
|
|
56
|
+
"isDevicePreference": false
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "LastName",
|
|
60
|
+
"dataType": "Text",
|
|
61
|
+
"maxLength": "256",
|
|
62
|
+
"isNullable": true,
|
|
63
|
+
"isPrimaryKey": false,
|
|
64
|
+
"isDevicePreference": false
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "PreferredLanguage",
|
|
68
|
+
"dataType": "Text",
|
|
69
|
+
"maxLength": "50",
|
|
70
|
+
"isNullable": true,
|
|
71
|
+
"isPrimaryKey": false,
|
|
72
|
+
"isDevicePreference": false
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "TouchPoint",
|
|
76
|
+
"dataType": "Text",
|
|
77
|
+
"maxLength": "256",
|
|
78
|
+
"isNullable": true,
|
|
79
|
+
"isPrimaryKey": false,
|
|
80
|
+
"isDevicePreference": false
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "Datestamp",
|
|
84
|
+
"dataType": "Date",
|
|
85
|
+
"isNullable": true,
|
|
86
|
+
"defaultValue": "GetDate()",
|
|
87
|
+
"isPrimaryKey": false,
|
|
88
|
+
"isDevicePreference": false
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"name": "StartDate",
|
|
92
|
+
"dataType": "Date",
|
|
93
|
+
"isNullable": true,
|
|
94
|
+
"defaultValue": "",
|
|
95
|
+
"isPrimaryKey": false,
|
|
96
|
+
"isDevicePreference": false
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "EndDate",
|
|
100
|
+
"dataType": "Date",
|
|
101
|
+
"isNullable": true,
|
|
102
|
+
"isPrimaryKey": false,
|
|
103
|
+
"isDevicePreference": false
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "BroadcastedNotificationDate",
|
|
107
|
+
"dataType": "Date",
|
|
108
|
+
"isNullable": true,
|
|
109
|
+
"defaultValue": "",
|
|
110
|
+
"isPrimaryKey": false,
|
|
111
|
+
"isDevicePreference": false
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "FirstReminderDate",
|
|
115
|
+
"dataType": "Date",
|
|
116
|
+
"isNullable": true,
|
|
117
|
+
"isPrimaryKey": false,
|
|
118
|
+
"isDevicePreference": false
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "SecondReminderDate",
|
|
122
|
+
"dataType": "Date",
|
|
123
|
+
"isNullable": true,
|
|
124
|
+
"isPrimaryKey": false,
|
|
125
|
+
"isDevicePreference": false
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "Title",
|
|
129
|
+
"dataType": "Text",
|
|
130
|
+
"maxLength": "256",
|
|
131
|
+
"isNullable": true,
|
|
132
|
+
"isPrimaryKey": false,
|
|
133
|
+
"isDevicePreference": false
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "DisplayName",
|
|
137
|
+
"dataType": "Text",
|
|
138
|
+
"maxLength": "256",
|
|
139
|
+
"isNullable": true,
|
|
140
|
+
"isPrimaryKey": false,
|
|
141
|
+
"isDevicePreference": false
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"name": "Text",
|
|
145
|
+
"dataType": "Text",
|
|
146
|
+
"maxLength": "256",
|
|
147
|
+
"isNullable": true,
|
|
148
|
+
"isPrimaryKey": false,
|
|
149
|
+
"isDevicePreference": false
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"name": "Description",
|
|
153
|
+
"dataType": "Text",
|
|
154
|
+
"maxLength": "4000",
|
|
155
|
+
"isNullable": true,
|
|
156
|
+
"isPrimaryKey": false,
|
|
157
|
+
"isDevicePreference": false
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "Channel",
|
|
161
|
+
"dataType": "Text",
|
|
162
|
+
"maxLength": "256",
|
|
163
|
+
"isNullable": true,
|
|
164
|
+
"isPrimaryKey": false,
|
|
165
|
+
"isDevicePreference": false
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "FirstReminderChannel",
|
|
169
|
+
"dataType": "Text",
|
|
170
|
+
"maxLength": "256",
|
|
171
|
+
"isNullable": true,
|
|
172
|
+
"isPrimaryKey": false,
|
|
173
|
+
"isDevicePreference": false
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"name": "SecondReminderChannel",
|
|
177
|
+
"dataType": "Text",
|
|
178
|
+
"maxLength": "256",
|
|
179
|
+
"isNullable": true,
|
|
180
|
+
"isPrimaryKey": false,
|
|
181
|
+
"isDevicePreference": false
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"name": "Email",
|
|
185
|
+
"dataType": "Email",
|
|
186
|
+
"maxLength": "",
|
|
187
|
+
"isNullable": true,
|
|
188
|
+
"isPrimaryKey": false,
|
|
189
|
+
"isDevicePreference": false
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"name": "ArticleOrTaskID",
|
|
193
|
+
"dataType": "Text",
|
|
194
|
+
"maxLength": "18",
|
|
195
|
+
"isNullable": false,
|
|
196
|
+
"isPrimaryKey": true,
|
|
197
|
+
"isDevicePreference": false
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"name": "Points",
|
|
201
|
+
"dataType": "Number",
|
|
202
|
+
"maxLength": "",
|
|
203
|
+
"isNullable": true,
|
|
204
|
+
"isPrimaryKey": false,
|
|
205
|
+
"isDevicePreference": false
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"name": "TaskType",
|
|
209
|
+
"dataType": "Text",
|
|
210
|
+
"maxLength": "255",
|
|
211
|
+
"isNullable": true,
|
|
212
|
+
"isPrimaryKey": false,
|
|
213
|
+
"isDevicePreference": false
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"name": "TaskArea",
|
|
217
|
+
"dataType": "Text",
|
|
218
|
+
"maxLength": "255",
|
|
219
|
+
"isNullable": true,
|
|
220
|
+
"isPrimaryKey": false,
|
|
221
|
+
"isDevicePreference": false
|
|
222
|
+
}
|
|
223
|
+
],
|
|
224
|
+
"sendableCustomObjectField": "ContactId",
|
|
225
|
+
"sendableSubscriberField": "_SubscriberKey",
|
|
226
|
+
"isPlatformObject": false
|
|
227
|
+
},
|
|
228
|
+
"filterDefinitionId": "00000000-0000-0000-0000-000000000000",
|
|
229
|
+
"arguments": {
|
|
230
|
+
"serializedObjectType": 11,
|
|
231
|
+
"eventDefinitionKey": "testNew_event_withSchema",
|
|
232
|
+
"eventDefinitionId": "b9cb2b05-738d-4f49-b53d-28e3bbe52d12",
|
|
233
|
+
"dataExtensionId": "00000000-0000-0000-0000-000000000000"
|
|
234
|
+
},
|
|
235
|
+
"metaData": {},
|
|
236
|
+
"interactionCount": 0,
|
|
237
|
+
"isVisibleInPicker": true,
|
|
238
|
+
"category": "Event",
|
|
239
|
+
"publishedInteractionCount": 0,
|
|
240
|
+
"automationId": "00000000-0000-0000-0000-000000000000"
|
|
241
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0175b971-71a3-4d8e-98ac-48121f3fbf4f
|
package/test/type.asset.test.js
CHANGED
|
@@ -492,7 +492,6 @@ describe('type: asset', () => {
|
|
|
492
492
|
assert.equal(process.exitCode, 0, 'resolveId should not have thrown an error');
|
|
493
493
|
assert.deepEqual(
|
|
494
494
|
resolveIdJson,
|
|
495
|
-
// @ts-expect-error bad typing of assert.deepEqual
|
|
496
495
|
await testUtils.getExpectedJson('9999999', 'asset', 'resolveId-1295064-noPath'),
|
|
497
496
|
'returned response was not equal expected'
|
|
498
497
|
);
|
|
@@ -521,7 +520,6 @@ describe('type: asset', () => {
|
|
|
521
520
|
assert.equal(process.exitCode, 0, 'resolveId should not have thrown an error');
|
|
522
521
|
assert.deepEqual(
|
|
523
522
|
resolveIdJson,
|
|
524
|
-
// @ts-expect-error bad typing of assert.deepEqual
|
|
525
523
|
await testUtils.getExpectedJson('9999999', 'asset', 'resolveId-1295064-withPath'),
|
|
526
524
|
'returned response was not equal expected'
|
|
527
525
|
);
|
|
@@ -536,7 +534,6 @@ describe('type: asset', () => {
|
|
|
536
534
|
// IMPORTANT: this will throw a false "TEST-ERROR" but our testing framework currently needs to not find the file to throw a 404
|
|
537
535
|
assert.deepEqual(
|
|
538
536
|
resolveIdJson,
|
|
539
|
-
// @ts-expect-error bad typing of assert.deepEqual
|
|
540
537
|
await testUtils.getExpectedJson('9999999', 'asset', 'resolveId-1234-notFound'),
|
|
541
538
|
'returned response was not equal expected'
|
|
542
539
|
);
|
|
@@ -162,7 +162,7 @@ describe('type: automation', () => {
|
|
|
162
162
|
'five cached automation expected'
|
|
163
163
|
);
|
|
164
164
|
|
|
165
|
-
// const scheduleCalloutList = testUtils.
|
|
165
|
+
// const scheduleCalloutList = testUtils.getSoapCallouts('Schedule');
|
|
166
166
|
// const objectIds = {
|
|
167
167
|
// testNew_automation: 'a8afb0e2-b00a-4c88-ad2e-1f7f8788c560',
|
|
168
168
|
// testExisting_automation: '08afb0e2-b00a-4c88-ad2e-1f7f8788c560',
|
|
@@ -27,8 +27,8 @@ describe('type: dataExtension', () => {
|
|
|
27
27
|
const result = cache.getCache();
|
|
28
28
|
assert.equal(
|
|
29
29
|
result.dataExtension ? Object.keys(result.dataExtension).length : 0,
|
|
30
|
-
|
|
31
|
-
'only
|
|
30
|
+
7,
|
|
31
|
+
'only 7 dataExtension expected'
|
|
32
32
|
);
|
|
33
33
|
assert.deepEqual(
|
|
34
34
|
await testUtils.getActualJson('testExisting_dataExtension', 'dataExtension'),
|
|
@@ -116,8 +116,8 @@ describe('type: dataExtension', () => {
|
|
|
116
116
|
const result = cache.getCache();
|
|
117
117
|
assert.equal(
|
|
118
118
|
result.dataExtension ? Object.keys(result.dataExtension).length : 0,
|
|
119
|
-
|
|
120
|
-
'
|
|
119
|
+
9,
|
|
120
|
+
'9 dataExtensions expected'
|
|
121
121
|
);
|
|
122
122
|
// insert
|
|
123
123
|
assert.deepEqual(
|
package/test/type.event.test.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import * as chai from 'chai';
|
|
2
2
|
const assert = chai.assert;
|
|
3
|
-
|
|
3
|
+
const expect = chai.expect;
|
|
4
4
|
|
|
5
5
|
import chaiFiles from 'chai-files';
|
|
6
|
-
|
|
6
|
+
import cache from '../lib/util/cache.js';
|
|
7
7
|
import * as testUtils from './utils.js';
|
|
8
8
|
import handler from '../lib/index.js';
|
|
9
9
|
chai.use(chaiFiles);
|
|
10
|
-
// const file = chaiFiles.file;
|
|
11
10
|
|
|
12
11
|
describe('type: event', () => {
|
|
13
12
|
beforeEach(() => {
|
|
@@ -18,12 +17,192 @@ describe('type: event', () => {
|
|
|
18
17
|
testUtils.mockReset();
|
|
19
18
|
});
|
|
20
19
|
|
|
21
|
-
describe('Retrieve ================', () => {
|
|
20
|
+
describe('Retrieve ================', () => {
|
|
21
|
+
it('Should retrieve a event', async () => {
|
|
22
|
+
// WHEN
|
|
23
|
+
await handler.retrieve('testInstance/testBU', ['event']);
|
|
24
|
+
// THEN
|
|
25
|
+
assert.equal(process.exitCode, 0, 'retrieve should not have thrown an error');
|
|
26
|
+
// get results from cache
|
|
27
|
+
const result = cache.getCache();
|
|
28
|
+
assert.equal(
|
|
29
|
+
result.event ? Object.keys(result.event).length : 0,
|
|
30
|
+
4,
|
|
31
|
+
'only 4 event expected'
|
|
32
|
+
);
|
|
33
|
+
assert.deepEqual(
|
|
34
|
+
await testUtils.getActualJson('testExisting_event', 'event'),
|
|
35
|
+
await testUtils.getExpectedJson('9999999', 'event', 'get'),
|
|
36
|
+
'returned JSON was not equal expected'
|
|
37
|
+
);
|
|
38
|
+
assert.equal(
|
|
39
|
+
testUtils.getAPIHistoryLength(),
|
|
40
|
+
4,
|
|
41
|
+
'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
|
|
42
|
+
);
|
|
43
|
+
return;
|
|
44
|
+
});
|
|
45
|
+
});
|
|
22
46
|
|
|
23
47
|
describe('Deploy ================', () => {
|
|
24
48
|
beforeEach(() => {
|
|
25
49
|
testUtils.mockSetup(true);
|
|
26
50
|
});
|
|
51
|
+
|
|
52
|
+
it('Should create an event & dataExtension via schema', async () => {
|
|
53
|
+
// prepare
|
|
54
|
+
await testUtils.copyFile(
|
|
55
|
+
'interaction/v1/eventDefinitions/post_withSchema-response.json',
|
|
56
|
+
'interaction/v1/eventDefinitions/post-response.json'
|
|
57
|
+
);
|
|
58
|
+
await testUtils.copyFile(
|
|
59
|
+
'dataExtension/retrieve-createdViaEvent-response.xml',
|
|
60
|
+
'dataExtension/retrieve-response.xml'
|
|
61
|
+
);
|
|
62
|
+
await testUtils.copyFile(
|
|
63
|
+
'dataExtension/update-afterCreatedViaEvent-response.xml',
|
|
64
|
+
'dataExtension/update-response.xml'
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
await handler.deploy('testInstance/testBU', ['event'], ['testNew_event_withSchema']);
|
|
68
|
+
// THEN
|
|
69
|
+
assert.equal(process.exitCode, 0, 'deploy should not have thrown an error');
|
|
70
|
+
// get results from cache
|
|
71
|
+
const result = cache.getCache();
|
|
72
|
+
assert.equal(
|
|
73
|
+
result.event ? Object.keys(result.event).length : 0,
|
|
74
|
+
5,
|
|
75
|
+
'5 events expected'
|
|
76
|
+
);
|
|
77
|
+
// get callouts
|
|
78
|
+
const createCallout = testUtils.getRestCallout(
|
|
79
|
+
'post',
|
|
80
|
+
'/interaction/v1/eventDefinitions/'
|
|
81
|
+
);
|
|
82
|
+
// confirm created item
|
|
83
|
+
assert.deepEqual(
|
|
84
|
+
createCallout,
|
|
85
|
+
await testUtils.getExpectedJson('9999999', 'event', 'post_withSchema-callout'),
|
|
86
|
+
'create-payload JSON was not equal expected'
|
|
87
|
+
);
|
|
88
|
+
assert.deepEqual(
|
|
89
|
+
await testUtils.getActualJson('testNew_event_withSchema', 'event'),
|
|
90
|
+
await testUtils.getExpectedJson('9999999', 'event', 'post_withSchema'),
|
|
91
|
+
'returned new-JSON was not equal expected for insert event'
|
|
92
|
+
);
|
|
93
|
+
// confirm we changed the dataExtension key correctly
|
|
94
|
+
const updateCalloutDE = testUtils.getSoapCallouts('Update', 'DataExtension');
|
|
95
|
+
expect(updateCalloutDE[0]).to.equal(
|
|
96
|
+
await testUtils.getExpectedFile(
|
|
97
|
+
'9999999',
|
|
98
|
+
'dataExtension',
|
|
99
|
+
'update-callout-afterCreatedViaEvent',
|
|
100
|
+
'xml'
|
|
101
|
+
)
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
// confirm created dataExtension
|
|
105
|
+
assert.deepEqual(
|
|
106
|
+
await testUtils.getActualJson('testNew_event_withSchema', 'dataExtension'),
|
|
107
|
+
await testUtils.getExpectedJson(
|
|
108
|
+
'9999999',
|
|
109
|
+
'dataExtension',
|
|
110
|
+
'retrieve_event_withSchema'
|
|
111
|
+
),
|
|
112
|
+
|
|
113
|
+
'returned metadata was not equal expected'
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
// check number of API calls
|
|
117
|
+
assert.equal(
|
|
118
|
+
testUtils.getAPIHistoryLength(),
|
|
119
|
+
14,
|
|
120
|
+
'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
|
|
121
|
+
);
|
|
122
|
+
return;
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
it('Should create an event with pre-Existing dataExtension', async () => {
|
|
126
|
+
// prepare
|
|
127
|
+
await testUtils.copyFile(
|
|
128
|
+
'interaction/v1/eventDefinitions/post_withExistingDE-response.json',
|
|
129
|
+
'interaction/v1/eventDefinitions/post-response.json'
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
await handler.deploy(
|
|
133
|
+
'testInstance/testBU',
|
|
134
|
+
['event'],
|
|
135
|
+
['testNew_event_withExistingDE']
|
|
136
|
+
);
|
|
137
|
+
// THEN
|
|
138
|
+
assert.equal(process.exitCode, 0, 'deploy should not have thrown an error');
|
|
139
|
+
// get results from cache
|
|
140
|
+
const result = cache.getCache();
|
|
141
|
+
assert.equal(
|
|
142
|
+
result.event ? Object.keys(result.event).length : 0,
|
|
143
|
+
5,
|
|
144
|
+
'5 events expected'
|
|
145
|
+
);
|
|
146
|
+
// get callouts
|
|
147
|
+
const createCallout = testUtils.getRestCallout(
|
|
148
|
+
'post',
|
|
149
|
+
'/interaction/v1/eventDefinitions/'
|
|
150
|
+
);
|
|
151
|
+
// confirm created item
|
|
152
|
+
assert.deepEqual(
|
|
153
|
+
createCallout,
|
|
154
|
+
await testUtils.getExpectedJson('9999999', 'event', 'post_withExistingDE-callout'),
|
|
155
|
+
'create-payload JSON was not equal expected'
|
|
156
|
+
);
|
|
157
|
+
assert.deepEqual(
|
|
158
|
+
await testUtils.getActualJson('testNew_event_withExistingDE', 'event'),
|
|
159
|
+
await testUtils.getExpectedJson('9999999', 'event', 'post_withExistingDE'),
|
|
160
|
+
'returned new-JSON was not equal expected for insert event'
|
|
161
|
+
);
|
|
162
|
+
// check number of API calls
|
|
163
|
+
assert.equal(
|
|
164
|
+
testUtils.getAPIHistoryLength(),
|
|
165
|
+
5,
|
|
166
|
+
'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
|
|
167
|
+
);
|
|
168
|
+
return;
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
it('Should update an event', async () => {
|
|
172
|
+
await handler.deploy('testInstance/testBU', ['event'], ['testExisting_event']);
|
|
173
|
+
// THEN
|
|
174
|
+
assert.equal(process.exitCode, 0, 'deploy should not have thrown an error');
|
|
175
|
+
// get results from cache
|
|
176
|
+
const result = cache.getCache();
|
|
177
|
+
assert.equal(
|
|
178
|
+
result.event ? Object.keys(result.event).length : 0,
|
|
179
|
+
4,
|
|
180
|
+
'4 events expected'
|
|
181
|
+
);
|
|
182
|
+
// get callouts
|
|
183
|
+
const updateCallout = testUtils.getRestCallout(
|
|
184
|
+
'put',
|
|
185
|
+
'/interaction/v1/eventDefinitions/%'
|
|
186
|
+
);
|
|
187
|
+
// confirm updated item
|
|
188
|
+
assert.deepEqual(
|
|
189
|
+
updateCallout,
|
|
190
|
+
await testUtils.getExpectedJson('9999999', 'event', 'put-callout'),
|
|
191
|
+
'update-payload JSON was not equal expected'
|
|
192
|
+
);
|
|
193
|
+
assert.deepEqual(
|
|
194
|
+
await testUtils.getActualJson('testExisting_event', 'event'),
|
|
195
|
+
await testUtils.getExpectedJson('9999999', 'event', 'put'),
|
|
196
|
+
'returned existing-JSON was not equal expected for update event'
|
|
197
|
+
);
|
|
198
|
+
// check number of API calls
|
|
199
|
+
assert.equal(
|
|
200
|
+
testUtils.getAPIHistoryLength(),
|
|
201
|
+
5,
|
|
202
|
+
'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
|
|
203
|
+
);
|
|
204
|
+
return;
|
|
205
|
+
});
|
|
27
206
|
});
|
|
28
207
|
|
|
29
208
|
describe('FixKeys ================', () => {
|
|
@@ -54,9 +233,111 @@ describe('type: event', () => {
|
|
|
54
233
|
});
|
|
55
234
|
});
|
|
56
235
|
|
|
57
|
-
describe('Templating ================', () => {
|
|
236
|
+
describe('Templating ================', () => {
|
|
237
|
+
it('Should create a event template via retrieveAsTemplate and build it', async () => {
|
|
238
|
+
// GIVEN there is a template
|
|
239
|
+
const result = await handler.retrieveAsTemplate(
|
|
240
|
+
'testInstance/testBU',
|
|
241
|
+
'event',
|
|
242
|
+
['testExisting_event'],
|
|
243
|
+
'testSourceMarket'
|
|
244
|
+
);
|
|
245
|
+
// WHEN
|
|
246
|
+
assert.equal(process.exitCode, 0, 'retrieveAsTemplate should not have thrown an error');
|
|
247
|
+
assert.equal(
|
|
248
|
+
result.event ? Object.keys(result.event).length : 0,
|
|
249
|
+
1,
|
|
250
|
+
'only one event expected'
|
|
251
|
+
);
|
|
252
|
+
assert.deepEqual(
|
|
253
|
+
await testUtils.getActualTemplateJson('testExisting_event', 'event'),
|
|
254
|
+
await testUtils.getExpectedJson('9999999', 'event', 'template'),
|
|
255
|
+
'returned template JSON of retrieveAsTemplate was not equal expected'
|
|
256
|
+
);
|
|
257
|
+
// THEN
|
|
258
|
+
await handler.buildDefinition(
|
|
259
|
+
'testInstance/testBU',
|
|
260
|
+
'event',
|
|
261
|
+
['testExisting_event'],
|
|
262
|
+
'testTargetMarket'
|
|
263
|
+
);
|
|
264
|
+
assert.equal(process.exitCode, 0, 'buildDefinition should not have thrown an error');
|
|
265
|
+
|
|
266
|
+
assert.deepEqual(
|
|
267
|
+
await testUtils.getActualDeployJson('testTemplated_event', 'event'),
|
|
268
|
+
await testUtils.getExpectedJson('9999999', 'event', 'build'),
|
|
269
|
+
'returned deployment JSON was not equal expected'
|
|
270
|
+
);
|
|
58
271
|
|
|
59
|
-
|
|
272
|
+
assert.equal(
|
|
273
|
+
testUtils.getAPIHistoryLength(),
|
|
274
|
+
4,
|
|
275
|
+
'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
|
|
276
|
+
);
|
|
277
|
+
return;
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
it('Should create a event template via buildTemplate and build it', async () => {
|
|
281
|
+
// download first before we test buildTemplate
|
|
282
|
+
await handler.retrieve('testInstance/testBU', ['event']);
|
|
283
|
+
// GIVEN there is a template
|
|
284
|
+
const result = await handler.buildTemplate(
|
|
285
|
+
'testInstance/testBU',
|
|
286
|
+
'event',
|
|
287
|
+
['testExisting_event'],
|
|
288
|
+
'testSourceMarket'
|
|
289
|
+
);
|
|
290
|
+
// WHEN
|
|
291
|
+
assert.equal(process.exitCode, 0, 'buildTemplate should not have thrown an error');
|
|
292
|
+
|
|
293
|
+
assert.equal(
|
|
294
|
+
result.event ? Object.keys(result.event).length : 0,
|
|
295
|
+
1,
|
|
296
|
+
'only one event expected'
|
|
297
|
+
);
|
|
298
|
+
assert.deepEqual(
|
|
299
|
+
await testUtils.getActualTemplateJson('testExisting_event', 'event'),
|
|
300
|
+
await testUtils.getExpectedJson('9999999', 'event', 'template'),
|
|
301
|
+
'returned template JSON of buildTemplate was not equal expected'
|
|
302
|
+
);
|
|
303
|
+
// THEN
|
|
304
|
+
await handler.buildDefinition(
|
|
305
|
+
'testInstance/testBU',
|
|
306
|
+
'event',
|
|
307
|
+
['testExisting_event'],
|
|
308
|
+
'testTargetMarket'
|
|
309
|
+
);
|
|
310
|
+
assert.equal(process.exitCode, 0, 'buildDefinition should not have thrown an error');
|
|
311
|
+
|
|
312
|
+
assert.deepEqual(
|
|
313
|
+
await testUtils.getActualDeployJson('testTemplated_event', 'event'),
|
|
314
|
+
await testUtils.getExpectedJson('9999999', 'event', 'build'),
|
|
315
|
+
'returned deployment JSON was not equal expected'
|
|
316
|
+
);
|
|
317
|
+
|
|
318
|
+
assert.equal(
|
|
319
|
+
testUtils.getAPIHistoryLength(),
|
|
320
|
+
4,
|
|
321
|
+
'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
|
|
322
|
+
);
|
|
323
|
+
return;
|
|
324
|
+
});
|
|
325
|
+
});
|
|
326
|
+
|
|
327
|
+
describe('Delete ================', () => {
|
|
328
|
+
it('Should delete the item', async () => {
|
|
329
|
+
// WHEN
|
|
330
|
+
const isDeleted = await handler.deleteByKey(
|
|
331
|
+
'testInstance/testBU',
|
|
332
|
+
'event',
|
|
333
|
+
'testExisting_event'
|
|
334
|
+
);
|
|
335
|
+
// THEN
|
|
336
|
+
assert.equal(process.exitCode, 0, 'deleteByKey should not have thrown an error');
|
|
337
|
+
assert.equal(isDeleted, true, 'deleteByKey should have returned true');
|
|
338
|
+
return;
|
|
339
|
+
});
|
|
340
|
+
});
|
|
60
341
|
|
|
61
342
|
describe('CI/CD ================', () => {});
|
|
62
343
|
});
|
|
@@ -278,6 +278,19 @@ describe('type: journey', () => {
|
|
|
278
278
|
assert.equal(isDeleted, true, 'should have deleted the item');
|
|
279
279
|
return;
|
|
280
280
|
});
|
|
281
|
+
|
|
282
|
+
it('Should delete 2 items with version', async () => {
|
|
283
|
+
// WHEN
|
|
284
|
+
const isDeleted = await handler.deleteByKey('testInstance/testBU', 'journey', [
|
|
285
|
+
'testExisting_journey_Quicksend/1',
|
|
286
|
+
'testExisting_journey_Multistep/1',
|
|
287
|
+
]);
|
|
288
|
+
// THEN
|
|
289
|
+
assert.equal(process.exitCode, 0, 'delete should not have thrown an error');
|
|
290
|
+
|
|
291
|
+
assert.equal(isDeleted, true, 'should have deleted the item');
|
|
292
|
+
return;
|
|
293
|
+
});
|
|
281
294
|
});
|
|
282
295
|
|
|
283
296
|
describe('ReplaceContentBlockByX ================', () => {
|
package/test/type.user.test.js
CHANGED
|
@@ -55,7 +55,7 @@ describe('type: user', () => {
|
|
|
55
55
|
await File.readFile(`./docs/user/testInstance.users.md`, {
|
|
56
56
|
encoding: 'utf8',
|
|
57
57
|
})
|
|
58
|
-
).replaceAll(regexFindDaysSinceLogin,
|
|
58
|
+
).replaceAll(regexFindDaysSinceLogin, expectedDaysSinceLogin[0]);
|
|
59
59
|
expect(actualFile).to.equal(expectedFile);
|
|
60
60
|
|
|
61
61
|
assert.equal(
|