From a289e761d636c7a0d160b169ae51af9d82a329d8 Mon Sep 17 00:00:00 2001 From: Shubham Tiwari Date: Tue, 10 Dec 2024 13:11:39 +0530 Subject: [PATCH] chore: add cluster tests for orgs api --- spec/cluster/orgs_api.spec.ts | 89 +++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 spec/cluster/orgs_api.spec.ts diff --git a/spec/cluster/orgs_api.spec.ts b/spec/cluster/orgs_api.spec.ts new file mode 100644 index 000000000..a0f3ac85b --- /dev/null +++ b/spec/cluster/orgs_api.spec.ts @@ -0,0 +1,89 @@ +jest.setTimeout(15000); + +import twilio from "twilio"; + +const clientId = process.env.TWILIO_ORGS_CLIENT_ID; +const clientSecret = process.env.TWILIO_ORGS_CLIENT_SECRET; +const organizationSid = process.env.TWILIO_ORG_SID; +const accountSid = process.env.TWILIO_ACCOUNT_SID; +const userId = process.env.TWILIO_ORGS_USER_ID; + +const client = twilio(); +const orgsCredentialProvider = new twilio.OrgsCredentialProviderBuilder() + .setClientId(clientId) + .setClientSecret(clientSecret) + .build(); +client.setCredentialProvider(orgsCredentialProvider); + +test("Should generate access token", () => { + const noAuthClient = twilio(); + noAuthClient.setCredentialProvider(new twilio.NoAuthCredentialProvider()); + return noAuthClient.previewIam.v1.token + .create({ + grantType: "client_credentials", + clientId: clientId, + clientSecret: clientSecret, + }) + .then((token) => { + expect(token).not.toBeNull(); + expect(token.accessToken).not.toBeUndefined(); + expect(token.tokenType).toEqual("Bearer"); + expect(token.expiresIn).toEqual(86400); + }); +}); + +test("Should list accounts under an organization", () => { + return client.previewIam + .organization(organizationSid) + .accounts.list() + .then((accounts) => { + expect(accounts).not.toBeNull(); + expect(accounts).not.toBeUndefined(); + expect(accounts.length).toBeGreaterThanOrEqual(0); + }); +}); + +test("Should fetch given account", () => { + return client.previewIam + .organization(organizationSid) + .accounts(accountSid) + .fetch() + .then((account) => { + expect(account).not.toBeNull(); + expect(account).not.toBeUndefined(); + expect(account.accountSid).toEqual(accountSid); + }); +}); + +test("Should list users", () => { + return client.previewIam + .organization(organizationSid) + .users.list() + .then((users) => { + expect(users).not.toBeNull(); + expect(users).not.toBeUndefined(); + expect(users.length).toBeGreaterThanOrEqual(0); + }); +}); + +test("Should fetch given user", () => { + return client.previewIam + .organization(organizationSid) + .users(userId) + .fetch() + .then((user) => { + expect(user).not.toBeNull(); + expect(user).not.toBeUndefined(); + expect(user.id).toEqual(userId); + }); +}); + +test("Should list role assignments", () => { + client.previewIam + .organization(organizationSid) + .roleAssignments.list({ scope: accountSid }) + .then((roles) => { + expect(roles).not.toBeNull(); + expect(roles.length).toBeGreaterThanOrEqual(0); + }); +});