Skip to content

Commit

Permalink
#870: added tests for pause automation
Browse files Browse the repository at this point in the history
  • Loading branch information
JoernBerkefeld committed Jul 7, 2023
1 parent 1da3bd1 commit 0e49714
Show file tree
Hide file tree
Showing 6 changed files with 213 additions and 14 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>ScheduleResponse</wsa:Action>
<wsa:MessageID>urn:uuid:b58a82d9-a251-4be4-b50c-bd300d71601d</wsa:MessageID>
<wsa:RelatesTo>urn:uuid:9d3dbeb3-68b7-4f0a-b0af-04855dc0fd1e</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-5ff54ff3-2408-496a-b4ea-6df5e9ebee03">
<wsu:Created>2023-07-05T10:29:58Z</wsu:Created>
<wsu:Expires>2023-07-05T10:34:58Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<ScheduleResponseMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
<Results>
<Result>
<StatusCode>OK</StatusCode>
<StatusMessage>Schedule Paused. To reactivate the schedule use proxy.Schedule with the action 'start'.</StatusMessage>
<Object>
<PartnerKey xsi:nil="true" />
<ObjectID xsi:nil="true" />
</Object>
<Task />
</Result>
</Results>
<OverallStatus>OK</OverallStatus>
<OverallStatusMessage />
<RequestID>cfe97488-3c5e-49a9-b338-c0e9f6b6f684</RequestID>
</ScheduleResponseMsg>
</soap:Body>
</soap:Envelope>
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"id": "08afb0e2-b00a-4c88-ad2e-pause",
"name": "testExisting_automation_pause",
"description": "bla bla",
"key": "testExisting_automation_pause",
"typeId": 1,
"type": "scheduled",
"statusId": 4,
"status": "Scheduled",
"categoryId": 290937,
"schedule": {
"id": "b393aa6c-a4a8-4c0f-a148-9250258a7339",
"typeId": 3,
"startDate": "2022-07-30T00:00:00",
"endDate": "2022-07-30T00:00:00",
"scheduledTime": "0001-01-01T07:00:00",
"rangeTypeId": 0,
"occurrences": 1,
"pattern": "<Pattern><PatternType>0</PatternType><DayInterval>1</DayInterval></Pattern>",
"icalRecur": "FREQ=DAILY;COUNT=1;INTERVAL=1",
"timezoneName": "W. Europe Standard Time",
"scheduleStatus": "scheduled",
"timezoneId": 5
},
"steps": [
{
"id": "13fda077-0e82-4936-b936-a36b0997fc44",
"name": "",
"step": 1,
"activities": [
{
"id": "8081a992-a27d-4a43-984a-d60114ea1025",
"name": "testExisting_dataExtract",
"activityObjectId": "56c5370a-f988-4f36-b0ee-0f876573f6d7",
"objectTypeId": 73,
"displayOrder": 1
},
{
"id": "d3774dc2-a271-4a44-8cbe-f630a6d6545e",
"name": "testExisting_emailSend",
"activityObjectId": "9b1c7bf9-4964-ed11-b849-48df37d1de8b",
"objectTypeId": 42,
"displayOrder": 2
},
{
"id": "2c77fc42-85eb-4611-98f9-223d29d89d72",
"name": "testExisting_fileTransfer",
"activityObjectId": "72c328ac-f5b0-4e37-91d3-a775666f15a6",
"objectTypeId": 53,
"displayOrder": 3
},
{
"id": "298b2794-28cb-4c70-b7ad-58b2c8cf48f7",
"name": "testExisting_importFile",
"activityObjectId": "9d16f42c-2260-ed11-b849-48df37d1de8b",
"objectTypeId": 43,
"displayOrder": 4,
"targetDataExtensions": [
{
"id": "21711373-72c1-ec11-b83b-48df37d1deb7",
"name": "testExisting_dataExtension",
"key": "testExisting_dataExtension",
"description": "bla bla",
"rowCount": 0
}
]
},
{
"id": "e3774dc2-a271-4a44-8cbe-f630a6d6545e",
"name": "testExisting_query_WRONG_NAME",
"activityObjectId": "549f0568-607c-4940-afef-437965094dat",
"objectTypeId": 300,
"displayOrder": 5
},
{
"id": "g3774dc2-a271-4a44-8cbe-f630a6d6545e",
"name": "testExisting_script",
"activityObjectId": "39f6a488-20eb-4ba0-b0b9-023725b574e4",
"objectTypeId": 423,
"displayOrder": 6
}
]
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"typeId": 1,
"type": "scheduled",
"statusId": 4,
"status": "PausedSchedule",
"status": "Scheduled",
"categoryId": 290937,
"schedule": {
"id": "b393aa6c-a4a8-4c0f-a148-9250258a7339",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>RetrieveResponse</wsa:Action>
<wsa:MessageID>urn:uuid:60a72d4a-847e-4d9b-a4eb-a42951078298</wsa:MessageID>
<wsa:RelatesTo>urn:uuid:0b59ed53-72ec-4481-ae06-4ee78912aef2</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-f95f3fd3-c763-4e2c-929f-33611e9d2eba">
<wsu:Created>2023-06-01T12:04:20Z</wsu:Created>
<wsu:Expires>2023-06-01T12:09:20Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<RetrieveResponseMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
<OverallStatus>OK</OverallStatus>
<RequestID>3b1c8cee-b270-49cb-b77b-e7b33934d1b6</RequestID>
<Results xsi:type="Program">
<PartnerKey xsi:nil="true" />
<ObjectID>08afb0e2-b00a-4c88-ad2e-pause</ObjectID>
</Results>
</RetrieveResponseMsg>
</soap:Body>
</soap:Envelope>
12 changes: 9 additions & 3 deletions test/resources/9999999/program/retrieve-response.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,15 @@
<Results xsi:type="Program">
<PartnerKey xsi:nil="true" />
<ObjectID>08afb0e2-b00a-4c88-ad2e-1f7f8788c560</ObjectID>
<Name>testExisting_automation</Name><!--only retrieved for cache-->
<CustomerKey>testExisting_automation</CustomerKey><!--only retrieved for cache-->
<Name>testExisting_automation</Name> <!--only retrieved for cache-->
<CustomerKey>testExisting_automation</CustomerKey> <!--only retrieved for cache-->
</Results>
<Results xsi:type="Program">
<PartnerKey xsi:nil="true" />
<ObjectID>08afb0e2-b00a-4c88-ad2e-pause</ObjectID>
<Name>testExisting_automation_pause</Name> <!--only retrieved for cache-->
<CustomerKey>testExisting_automation_pause</CustomerKey> <!--only retrieved for cache-->
</Results>
</RetrieveResponseMsg>
</soap:Body>
</soap:Envelope>
</soap:Envelope>
60 changes: 50 additions & 10 deletions test/type.automation.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ describe('type: automation', () => {
const result = cache.getCache();
assert.equal(
result.automation ? Object.keys(result.automation).length : 0,
1,
'only one automation expected'
2,
'only two automations expected'
);
assert.deepEqual(
await testUtils.getActualJson('testExisting_automation', 'automation'),
Expand All @@ -50,7 +50,7 @@ describe('type: automation', () => {

assert.equal(
testUtils.getAPIHistoryLength(),
14,
15,
'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
);
return;
Expand All @@ -70,8 +70,8 @@ describe('type: automation', () => {
const result = cache.getCache();
assert.equal(
result.automation ? Object.keys(result.automation).length : 0,
2,
'two automations expected'
3,
'three automations expected'
);
// insert
assert.deepEqual(
Expand Down Expand Up @@ -107,7 +107,7 @@ describe('type: automation', () => {
it('Should update & start an automation with --execute option', async () => {
// WHEN
handler.setOptions({ execute: true });
await handler.deploy(
const deployed = await handler.deploy(
'testInstance/testBU',
['automation'],
['testExisting_automation']
Expand All @@ -120,11 +120,25 @@ describe('type: automation', () => {
);

// get results from cache
const result = cache.getCache();
const cached = cache.getCache();
assert.equal(
result.automation ? Object.keys(result.automation).length : 0,
cached.automation ? Object.keys(cached.automation).length : 0,
2,
'two cached automation expected'
);
assert.equal(
deployed['testInstance/testBU'].automation
? Object.keys(deployed['testInstance/testBU'].automation).length
: 0,
1,
'one automation expected'
'one deployed automation expected'
);
assert.equal(
deployed['testInstance/testBU'].automation
? Object.keys(deployed['testInstance/testBU'].automation)[0]
: null,
'testExisting_automation',
'expected specific automation to have been deployed'
);

// update
Expand Down Expand Up @@ -246,7 +260,7 @@ describe('type: automation', () => {
);
assert.equal(
testUtils.getAPIHistoryLength(),
14,
15,
'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
);
return;
Expand Down Expand Up @@ -318,4 +332,30 @@ describe('type: automation', () => {
return;
});
});
describe('Pause ================', () => {
it('Should pause a automation by key', async () => {
const pause = await handler.pause('testInstance/testBU', 'automation', [
'testExisting_automation_pause',
]);
assert.equal(process.exitCode, false, 'pause should not have thrown an error');
assert.equal(pause, true, 'automation was supposed to be paused');
return;
});
it('Should pause a automation selected via --like', async () => {
handler.setOptions({ like: { key: 'testExisting_a%n_pause' } });
const pause = await handler.pause('testInstance/testBU', 'automation');
assert.equal(process.exitCode, false, 'pause should not have thrown an error');
assert.equal(pause, true, 'automation was supposed to be paused');
return;
});
it('Should not pause executing a automation because key and --like was specified', async () => {
handler.setOptions({ like: { key: 'testExisting_a%n_pause' } });
const pause = await handler.pause('testInstance/testBU', 'automation', [
'testExisting_automation_pause',
]);
assert.equal(process.exitCode, true, 'pause should not have thrown an error');
assert.equal(pause, false, 'automation was not supposed to be paused');
return;
});
});
});

0 comments on commit 0e49714

Please sign in to comment.