From 822864fe4b5a5515c7133d9b5d14c64f573c3c7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Berkefeld?= Date: Fri, 30 Jun 2023 13:33:34 +0200 Subject: [PATCH] #1010: make user tests more specific --- ...estExisting_userANDEmaillike@-response.xml | 27 +++ ...ActiveFlag=falseANDEmaillike@-response.xml | 156 ++++++++++++++++++ ...stExisting_userANDEmaillike@-response.xml} | 0 ...erANDMustChangePassword=false-response.xml | 27 +++ ...-ActiveFlag=trueANDEmaillike@-response.xml | 156 ++++++++++++++++++ ...erANDMustChangePassword=false-response.xml | 27 +++ ...tUser.AccountUserID=700301950-response.xml | 60 +++++++ ...tUserIDIN700301950,700301951-response.xml} | 0 ... => retrieve-IsPrivate=false-response.xml} | 0 .../1111111/user/retrieve-expected.md | 3 +- test/type.user.test.js | 26 ++- 11 files changed, 472 insertions(+), 10 deletions(-) create mode 100644 test/resources/1111111/accountUser/retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-response.xml create mode 100644 test/resources/1111111/accountUser/retrieve-ActiveFlag=falseANDEmaillike@-response.xml rename test/resources/1111111/accountUser/{retrieve-response.xml => retrieve-ActiveFlag=trueANDCustomerKey=testExisting_userANDEmaillike@-response.xml} (100%) create mode 100644 test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml create mode 100644 test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDEmaillike@-response.xml create mode 100644 test/resources/1111111/accountUser/retrieve-CustomerKey=testExisting_userANDActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml create mode 100644 test/resources/1111111/accountUserAccount/retrieve-AccountUser.AccountUserID=700301950-response.xml rename test/resources/1111111/accountUserAccount/{retrieve-response.xml => retrieve-AccountUser.AccountUserIDIN700301950,700301951-response.xml} (100%) rename test/resources/1111111/role/{retrieve-response.xml => retrieve-IsPrivate=false-response.xml} (100%) diff --git a/test/resources/1111111/accountUser/retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-response.xml b/test/resources/1111111/accountUser/retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-response.xml new file mode 100644 index 000000000..af1dec2e2 --- /dev/null +++ b/test/resources/1111111/accountUser/retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-response.xml @@ -0,0 +1,27 @@ + + + + RetrieveResponse + urn:uuid:1babdae0-9282-4bba-b69f-2f1843deaf11 + urn:uuid:39d1c021-b3df-49f9-a8f7-bb444172d2d3 + http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous + + + 2023-03-11T13:53:00Z + 2023-03-11T13:58:00Z + + + + + + OK + 5347bf1d-e801-486a-b4a9-c2d46a8909b6 + + + + \ No newline at end of file diff --git a/test/resources/1111111/accountUser/retrieve-ActiveFlag=falseANDEmaillike@-response.xml b/test/resources/1111111/accountUser/retrieve-ActiveFlag=falseANDEmaillike@-response.xml new file mode 100644 index 000000000..22ee9fd1e --- /dev/null +++ b/test/resources/1111111/accountUser/retrieve-ActiveFlag=falseANDEmaillike@-response.xml @@ -0,0 +1,156 @@ + + + + RetrieveResponse + urn:uuid:1babdae0-9282-4bba-b69f-2f1843deaf11 + urn:uuid:39d1c021-b3df-49f9-a8f7-bb444172d2d3 + http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous + + + 2023-03-11T13:53:00Z + 2023-03-11T13:58:00Z + + + + + + OK + 5347bf1d-e801-486a-b4a9-c2d46a8909b6 + + + 1111111 + 123456 + + + 2019-09-06T01:59:07.097 + 2022-06-21T01:43:02.64 + 700301951 + + testExisting_user_inactive + 700301951 + user_test-inactive@accenture.asgr + user test-inactive + user_test-inactive@accenture.com + false + false + + + 2 + + + + + 0 + + + + 3 + + + + + 0 + + 0 + 2023-02-23T10:14:11.443 + false + user_test-inactive@accenture.com + false + 1111111 + + + 1111111 + + None + + + + + + en-GB + + + + 5 + + (GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna * + + + + + 1111111 + -1000 + -1000 + 1111111 + + + 2016-07-22T17:52:36.93 + 2016-07-22T17:52:36.93 + f1cfb80f-3550-e611-96fe-38eaa7142c61 + SYS_DEF_ADMIN + Administrator + Administrator + false + true + + + + 1111111 + -1000 + -1000 + 1111111 + + + 2016-07-22T17:52:36.93 + 2016-07-22T17:52:36.93 + f4cfb80f-3550-e611-96fe-38eaa7142c61 + SYS_DEF_CONTENT + Content Creator + Content Creator + false + true + + + + 1111111 + -1000 + -1000 + 1111111 + + + 2019-09-06T07:59:07.8 + 2019-09-06T07:59:07.8 + bd251431-7cd0-e911-a2d3-1402ec936979 + Individual role for 700301951 + Individual role for 700301951 + Individual role for 700301951 + true + false + + + + 0 + 0 + 0 + 0 + + + 2012-02-21T02:09:19.983 + 2013-12-23T16:48:50.533 + 63a50610-315c-e111-beee-8e001800001f + SYS_DEF_IMHADMIN + Marketing Cloud Administrator + Assign Marketing Cloud roles to users and manage Mobile, Social and Sites Channels, Hub Apps and Marketing Cloud Tools + false + true + + + + + + \ No newline at end of file diff --git a/test/resources/1111111/accountUser/retrieve-response.xml b/test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDCustomerKey=testExisting_userANDEmaillike@-response.xml similarity index 100% rename from test/resources/1111111/accountUser/retrieve-response.xml rename to test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDCustomerKey=testExisting_userANDEmaillike@-response.xml diff --git a/test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml b/test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml new file mode 100644 index 000000000..af1dec2e2 --- /dev/null +++ b/test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml @@ -0,0 +1,27 @@ + + + + RetrieveResponse + urn:uuid:1babdae0-9282-4bba-b69f-2f1843deaf11 + urn:uuid:39d1c021-b3df-49f9-a8f7-bb444172d2d3 + http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous + + + 2023-03-11T13:53:00Z + 2023-03-11T13:58:00Z + + + + + + OK + 5347bf1d-e801-486a-b4a9-c2d46a8909b6 + + + + \ No newline at end of file diff --git a/test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDEmaillike@-response.xml b/test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDEmaillike@-response.xml new file mode 100644 index 000000000..e16046c89 --- /dev/null +++ b/test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDEmaillike@-response.xml @@ -0,0 +1,156 @@ + + + + RetrieveResponse + urn:uuid:1babdae0-9282-4bba-b69f-2f1843deaf11 + urn:uuid:39d1c021-b3df-49f9-a8f7-bb444172d2d3 + http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous + + + 2023-03-11T13:53:00Z + 2023-03-11T13:58:00Z + + + + + + OK + 5347bf1d-e801-486a-b4a9-c2d46a8909b6 + + + 1111111 + 123456 + + + 2019-09-06T01:59:07.097 + 2022-06-21T01:43:02.64 + 700301950 + + testExisting_user + 700301950 + user_test@accenture.asgr + user test + user_test@accenture.com + false + true + + + 2 + + + + + 0 + + + + 3 + + + + + 0 + + 0 + 2023-02-23T10:14:11.443 + false + user_test@accenture.com + false + 1111111 + + + 1111111 + + None + + + + + + en-GB + + + + 5 + + (GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna * + + + + + 1111111 + -1000 + -1000 + 1111111 + + + 2016-07-22T17:52:36.93 + 2016-07-22T17:52:36.93 + f1cfb80f-3550-e611-96fe-38eaa7142c61 + SYS_DEF_ADMIN + Administrator + Administrator + false + true + + + + 1111111 + -1000 + -1000 + 1111111 + + + 2016-07-22T17:52:36.93 + 2016-07-22T17:52:36.93 + f4cfb80f-3550-e611-96fe-38eaa7142c61 + SYS_DEF_CONTENT + Content Creator + Content Creator + false + true + + + + 1111111 + -1000 + -1000 + 1111111 + + + 2019-09-06T07:59:07.8 + 2019-09-06T07:59:07.8 + bd251431-7cd0-e911-a2d3-1402ec936979 + Individual role for 700301950 + Individual role for 700301950 + Individual role for 700301950 + true + false + + + + 0 + 0 + 0 + 0 + + + 2012-02-21T02:09:19.983 + 2013-12-23T16:48:50.533 + 63a50610-315c-e111-beee-8e001800001f + SYS_DEF_IMHADMIN + Marketing Cloud Administrator + Assign Marketing Cloud roles to users and manage Mobile, Social and Sites Channels, Hub Apps and Marketing Cloud Tools + false + true + + + + + + \ No newline at end of file diff --git a/test/resources/1111111/accountUser/retrieve-CustomerKey=testExisting_userANDActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml b/test/resources/1111111/accountUser/retrieve-CustomerKey=testExisting_userANDActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml new file mode 100644 index 000000000..af1dec2e2 --- /dev/null +++ b/test/resources/1111111/accountUser/retrieve-CustomerKey=testExisting_userANDActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml @@ -0,0 +1,27 @@ + + + + RetrieveResponse + urn:uuid:1babdae0-9282-4bba-b69f-2f1843deaf11 + urn:uuid:39d1c021-b3df-49f9-a8f7-bb444172d2d3 + http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous + + + 2023-03-11T13:53:00Z + 2023-03-11T13:58:00Z + + + + + + OK + 5347bf1d-e801-486a-b4a9-c2d46a8909b6 + + + + \ No newline at end of file diff --git a/test/resources/1111111/accountUserAccount/retrieve-AccountUser.AccountUserID=700301950-response.xml b/test/resources/1111111/accountUserAccount/retrieve-AccountUser.AccountUserID=700301950-response.xml new file mode 100644 index 000000000..29e5e4173 --- /dev/null +++ b/test/resources/1111111/accountUserAccount/retrieve-AccountUser.AccountUserID=700301950-response.xml @@ -0,0 +1,60 @@ + + + + RetrieveResponse + urn:uuid:b9fbc10c-2775-48d0-b9bb-fddf1ed90616 + urn:uuid:11d44cfe-e1d7-4fc2-b6ad-a2c806573859 + http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous + + + 2023-03-11T13:52:52Z + 2023-03-11T13:57:52Z + + + + + + OK + f4057c93-40e3-47d6-a953-06839e221d40 + + + + + + + 700301950 + 0 + + + + 1111111 + + None + + + + + + + + + + 700301950 + 0 + + + + 9999999 + + None + + + + + + \ No newline at end of file diff --git a/test/resources/1111111/accountUserAccount/retrieve-response.xml b/test/resources/1111111/accountUserAccount/retrieve-AccountUser.AccountUserIDIN700301950,700301951-response.xml similarity index 100% rename from test/resources/1111111/accountUserAccount/retrieve-response.xml rename to test/resources/1111111/accountUserAccount/retrieve-AccountUser.AccountUserIDIN700301950,700301951-response.xml diff --git a/test/resources/1111111/role/retrieve-response.xml b/test/resources/1111111/role/retrieve-IsPrivate=false-response.xml similarity index 100% rename from test/resources/1111111/role/retrieve-response.xml rename to test/resources/1111111/role/retrieve-IsPrivate=false-response.xml diff --git a/test/resources/1111111/user/retrieve-expected.md b/test/resources/1111111/user/retrieve-expected.md index 50eb1b2ec..a9e5a5756 100644 --- a/test/resources/1111111/user/retrieve-expected.md +++ b/test/resources/1111111/user/retrieve-expected.md @@ -7,10 +7,11 @@ | user test | 96 days | ✓ | - | - | - | _ParentBU_ (1111111) | _ParentBU_ (1111111),
testBU (9999999) | Administrator,
Content Creator,
Marketing Cloud Administrator | user_test@accenture.asgr | 700301950 | testExisting_user | user_test@accenture.com | user_test@accenture.com | GMT+01:00 | en-GB | 2022-06-21 01:43:02.64 | 123456 | 2019-09-06 01:59:07.097 | -## Inactivated Users (0) +## Inactivated Users (1) | Name | Last successful Login | Active | Access Locked out | API User | Must change PW | Default BU | BU Access | Roles | Login | ID | Key | E-Mail | Notification E-Mail | Timezone | SFMC Locale | Modified Date | Modified By | Created Date | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| user test-inactive | 96 days | - | - | - | - | _ParentBU_ (1111111) | _ParentBU_ (1111111) | Administrator,
Content Creator,
Marketing Cloud Administrator | user_test-inactive@accenture.asgr | 700301951 | testExisting_user_inactive | user_test-inactive@accenture.com | user_test-inactive@accenture.com | GMT+01:00 | en-GB | 2022-06-21 01:43:02.64 | 123456 | 2019-09-06 01:59:07.097 | ## Installed Packages (0) diff --git a/test/type.user.test.js b/test/type.user.test.js index 810164a60..4a6686312 100644 --- a/test/type.user.test.js +++ b/test/type.user.test.js @@ -26,8 +26,8 @@ describe('type: user', () => { const result = cache.getCache(); assert.equal( result.user ? Object.keys(result.user).length : 0, - 1, - 'only one user expected' + 2, + 'only two users expected' ); assert.deepEqual( await testUtils.getActualJson('testExisting_user', 'user', '_ParentBU_'), @@ -42,7 +42,7 @@ describe('type: user', () => { { encoding: 'utf8' } ); const regexFindDaysSinceLogin = - /\| (\d*) (seconds|minutes|days|weeks|months|years){1} \|/gm; + /\| (\d*) (seconds|minutes|days|weeks|months|years){1} \|/g; // fetch expected time since last login const expectedDaysSinceLogin = expectedFile.match(regexFindDaysSinceLogin); // load actual file and replace days since last login with expected value @@ -50,7 +50,7 @@ describe('type: user', () => { await File.readFile(`./docs/user/testInstance.users.md`, { encoding: 'utf8', }) - ).replaceAll(regexFindDaysSinceLogin, expectedDaysSinceLogin); + ).replaceAll(regexFindDaysSinceLogin, [expectedDaysSinceLogin[0]]); expect(actualFile).to.equal(expectedFile); assert.equal( @@ -83,7 +83,11 @@ describe('type: user', () => { }); it('Should create & upsert a user', async () => { // WHEN - const expectedCache = ['testExisting_user', 'testNew_user']; + const expectedCache = [ + 'testExisting_user', + 'testExisting_user_inactive', + 'testNew_user', + ]; await handler.deploy('testInstance/_ParentBU_', ['user'], expectedCache); // THEN assert.equal(process.exitCode, false, 'deploy should not have thrown an error'); @@ -92,8 +96,8 @@ describe('type: user', () => { const result = cache.getCache(); assert.equal( result.user ? Object.keys(result.user).length : 0, - 2, - 'two users expected' + 3, + 'three users expected' ); // confirm if result.user only includes values from expectedCache assert.deepEqual( @@ -126,14 +130,18 @@ describe('type: user', () => { }); it('Should not deploy user with Marketing Cloud role', async () => { // WHEN - const expectedCache = ['testExisting_user']; + const expectedCache = ['testExisting_user', 'testExisting_user_inactive']; await handler.deploy('testInstance/_ParentBU_', ['user'], ['testBlocked_user']); // THEN assert.equal(process.exitCode, 1, 'Deployment should have thrown an error'); // get results from cache const result = cache.getCache(); - assert.equal(result.user ? Object.keys(result.user).length : 0, 1, '1 user expected'); + assert.equal( + result.user ? Object.keys(result.user).length : 0, + 2, + 'two users expected' + ); // confirm if result.user only includes values from expectedCache assert.deepEqual( Object.keys(result.user),