diff --git a/.cypress/support/commands.js b/.cypress/support/commands.js index dcd94d171..fa6b6e6c7 100644 --- a/.cypress/support/commands.js +++ b/.cypress/support/commands.js @@ -41,6 +41,33 @@ Cypress.Commands.overwrite('request', (originalFn, ...args) => { return originalFn(Object.assign({}, defaults, options)); }); +Cypress.Commands.add('createTenant', (tenantID, tenantJson) => { + cy.request( + 'PUT', + `${Cypress.env('openSearchUrl')}${SEC_API.TENANTS_BASE}/${tenantID}`, + tenantJson + ); + cy.wait(10000); +}); + +Cypress.Commands.add('createInternalUser', (userID, userJson) => { + cy.request( + 'PUT', + `${Cypress.env('openSearchUrl')}${SEC_API.INTERNALUSERS_BASE}/${userID}`, + userJson + ); + cy.wait(10000); +}); + +Cypress.Commands.add('createRole', (roleID, roleJson) => { + cy.request( + 'PUT', + `${Cypress.env('openSearchUrl')}${SEC_API.ROLE_BASE}/${roleID}`, + roleJson + ); + cy.wait(10000); +}); + Cypress.Commands.add('createRoleMapping', (roleID, rolemappingJson) => { cy.request( 'PUT', diff --git a/.cypress/support/index.d.ts b/.cypress/support/index.d.ts index 3a6ba4f71..e54a2991c 100644 --- a/.cypress/support/index.d.ts +++ b/.cypress/support/index.d.ts @@ -2,15 +2,51 @@ /// declare namespace Cypress { + interface Chainable { + /** + * Create a test tenant by calling REST API + * @example + * cy.createTenant('test_tenant', tenantJsonFixture ) + */ + createTenant( + tenantID: string, + tenantJson: string + ): Chainable; + } + + interface Chainable { + /** + * Create an internal user by calling REST API + * @example + * cy.createInternalUser('test_user', userJsonFixture ) + */ + createInternalUser( + userID: string, + userJson: string + ): Chainable; + } + + interface Chainable { + /** + * Create a role by calling REST API + * @example + * cy.createRole('role_name', roleJsonFixture ) + */ + createRole( + roleID: string, + roleJson: string + ): Chainable; + } + interface Chainable { /** * Create a role mapping by calling REST API * @example * cy.createRoleMapping('role_name', rolemappingJsonFixture ) */ - createRoleMapping( - roleID: string, - rolemappingJson: string - ): Chainable; + createRoleMapping( + roleID: string, + rolemappingJson: string + ): Chainable; } -} \ No newline at end of file +}