Some checks failed
Server CI / Postgres (shard 0) (push) Has been skipped
Server CI / Postgres (shard 3) (push) Has been skipped
BuildEnv Docker Image / build-image (push) Failing after 4s
BuildEnv Docker Image / build-image-fips (push) Failing after 4s
Migration Review & Release Notes / Generate migration review & release notes (push) Failing after 3s
Server CI / Build Environment (push) Failing after 3s
Server CI / Postgres (shard 1) (push) Has been skipped
Tools CI / check-style (mattermost-govet) (push) Failing after 4s
Server CI / Postgres (shard 2) (push) Has been skipped
Tools CI / check-style (mmgotool) (push) Failing after 3s
Server CI / Elasticsearch v8 Compatibility (push) Has been skipped
Server CI / OpenSearch v2 Compatibility (push) Has been skipped
Server CI / Postgres FIPS (shard 0) (push) Has been skipped
Tools CI / Test (mattermost-govet) (push) Failing after 3s
Server CI / Postgres FIPS (shard 1) (push) Has been skipped
Server CI / Postgres FIPS (shard 2) (push) Has been skipped
Tools CI / Test (mmgotool) (push) Failing after 3s
Server CI / Postgres FIPS (shard 3) (push) Has been skipped
Server CI / Run mmctl tests (push) Has been skipped
Server CI / Run mmctl tests (FIPS) (push) Has been skipped
Server CI / Merge Postgres Test Results (push) Has been skipped
Server CI / Merge Postgres FIPS Test Results (push) Has been skipped
Server CI / Check backport migrations (push) Has been skipped
Server CI / Check generated files (push) Has been skipped
Server CI / check-style (push) Has been skipped
Server CI / Vet API (push) Has been skipped
Server CI / Build mattermost server app (push) Has been skipped
Server CI / Server CI Complete (push) Failing after 2s
Server CI / Server CI Artifacts (push) Has been skipped
Server CI / Sentry Upload (push) Has been skipped
Server CI / Server CI Report (push) Failing after 5m1s
Server CI Nightly Race / Race Detector (push) Has been skipped
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Webapp CI Cache Warm / Warm Webapp node_modules Cache (push) Has been cancelled
E2E CI Cache Warm / Warm E2E npm Registry Cache (push) Has been cancelled
API / build (push) Has been cancelled
Web App CI / check-types (push) Has been cancelled
Web App CI / check-lint (push) Has been cancelled
Web App CI / check-i18n (push) Has been cancelled
Web App CI / check-external-links (push) Has been cancelled
Web App CI / test (platform) (push) Has been cancelled
Web App CI / test (mattermost-redux) (push) Has been cancelled
Web App CI / test (channels shard 1/4) (push) Has been cancelled
Web App CI / test (channels shard 2/4) (push) Has been cancelled
Web App CI / test (channels shard 3/4) (push) Has been cancelled
Web App CI / test (channels shard 4/4) (push) Has been cancelled
Web App CI / upload-coverage (push) Has been cancelled
Web App CI / build (push) Has been cancelled
YAML Lint / yamllint (push) Has been cancelled
Push mirrored docker images / cd/Push mirrored docker images (push) Has been cancelled
docs-cd / Build and deploy docs (push) Has been cancelled
Docs CI / build (push) Has been cancelled
E2E Cache Warm: Cypress deps / Warm Cypress deps cache (push) Has been cancelled
Scorecards supply-chain security / Scorecard analysis (push) Has been cancelled
Server CI Weekly / Postgres FIPS (push) Has been skipped
Server CI Weekly / Run mmctl tests (FIPS) (push) Has been skipped
Server CI Weekly / Postgres with binary parameters (push) Has been skipped
Server CI Weekly / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
Server CI Nightly Race / Build Environment (push) Failing after 1s
212 lines
7.6 KiB
TypeScript
212 lines
7.6 KiB
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
/// <reference types="cypress" />
|
|
|
|
// ***************************************************************
|
|
// Each command should be properly documented using JSDoc.
|
|
// See https://jsdoc.app/index.html for reference.
|
|
// Basic requirements for documentation are the following:
|
|
// - Meaningful description
|
|
// - Specific link to https://api.mattermost.com
|
|
// - Each parameter with `@params`
|
|
// - Return value with `@returns`
|
|
// - Example usage with `@example`
|
|
// Custom command should follow naming convention of having `api` prefix, e.g. `apiLogin`.
|
|
// ***************************************************************
|
|
|
|
declare namespace Cypress {
|
|
interface Chainable {
|
|
|
|
/**
|
|
* Get a subset of the server license needed by the client.
|
|
* See https://api.mattermost.com/#tag/system/paths/~1license~1client/get
|
|
* @returns {ClientLicense} `out.license` as `ClientLicense`
|
|
* @returns {Boolean} `out.isLicensed`
|
|
* @returns {Boolean} `out.isCloudLicensed`
|
|
*
|
|
* @example
|
|
* cy.apiGetClientLicense().then(({license}) => {
|
|
* // do something with license
|
|
* });
|
|
*/
|
|
apiGetClientLicense(): Chainable<ClientLicense>;
|
|
|
|
/**
|
|
* Verify if server has license for a certain feature and fail test if not found.
|
|
* Upload a license if it does not exist.
|
|
* @param {string[]} ...features - accepts multiple arguments of features to check, e.g. 'LDAP'
|
|
* @returns {ClientLicense} `out.license` as `ClientLicense`
|
|
*
|
|
* @example
|
|
* cy.apiRequireLicenseForFeature('LDAP');
|
|
* cy.apiRequireLicenseForFeature('LDAP', 'SAML');
|
|
*/
|
|
apiRequireLicenseForFeature(...features: string[]): Chainable<ClientLicense>;
|
|
|
|
/**
|
|
* Verify if server has license and fail test if not found.
|
|
* Upload a license if it does not exist.
|
|
* @returns {ClientLicense} `out.license` as `ClientLicense`
|
|
*
|
|
* @example
|
|
* cy.apiRequireLicense();
|
|
*/
|
|
apiRequireLicense(): Chainable<ClientLicense>;
|
|
|
|
/**
|
|
* Upload a license to enable enterprise features.
|
|
* See https://api.mattermost.com/#tag/system/paths/~1license/post
|
|
* @param {String} filePath - path of the license file relative to fixtures folder
|
|
* @returns {Response} response: Cypress-chainable response which should have successful HTTP status of 200 OK to continue or pass.
|
|
*
|
|
* @example
|
|
* const filePath = 'mattermost-license.txt';
|
|
* cy.apiUploadLicense(filePath);
|
|
*/
|
|
apiUploadLicense(filePath: string): Chainable<Response>;
|
|
|
|
/**
|
|
* Request and install a trial license for your server.
|
|
* See https://api.mattermost.com/#tag/system/paths/~1trial-license/post
|
|
* @returns {Object} `out.data` as response status
|
|
*
|
|
* @example
|
|
* cy.apiInstallTrialLicense();
|
|
*/
|
|
apiInstallTrialLicense(): Chainable<Record<string, any>>;
|
|
|
|
/**
|
|
* Remove the license file from the server. This will disable all enterprise features.
|
|
* See https://api.mattermost.com/#tag/system/paths/~1license/delete
|
|
* @returns {Response} response: Cypress-chainable response which should have successful HTTP status of 200 OK to continue or pass.
|
|
*
|
|
* @example
|
|
* cy.apiDeleteLicense();
|
|
*/
|
|
apiDeleteLicense(): Chainable<Response>;
|
|
|
|
/**
|
|
* Update configuration.
|
|
* See https://api.mattermost.com/#tag/system/paths/~1config/put
|
|
* @param {AdminConfig} newConfig - new config
|
|
* @returns {AdminConfig} `out.config` as `AdminConfig`
|
|
*
|
|
* @example
|
|
* cy.apiUpdateConfig().then(({config}) => {
|
|
* // do something with config
|
|
* });
|
|
*/
|
|
apiUpdateConfig(newConfig: DeepPartial<AdminConfig>): Chainable<{config: AdminConfig}>;
|
|
|
|
/**
|
|
* Reload the configuration file to pick up on any changes made to it.
|
|
* See https://api.mattermost.com/#tag/system/paths/~1config~1reload/post
|
|
* @returns {AdminConfig} `out.config` as `AdminConfig`
|
|
*
|
|
* @example
|
|
* cy.apiReloadConfig().then(({config}) => {
|
|
* // do something with config
|
|
* });
|
|
*/
|
|
apiReloadConfig(): Chainable<AdminConfig>;
|
|
|
|
/**
|
|
* Get configuration.
|
|
* See https://api.mattermost.com/#tag/system/paths/~1config/get
|
|
* @param {Boolean} old - false (default) or true to return old format of client config
|
|
* @returns {AdminConfig} `out.config` as `AdminConfig`
|
|
*
|
|
* @example
|
|
* cy.apiGetConfig().then(({config}) => {
|
|
* // do something with config
|
|
* });
|
|
*/
|
|
apiGetConfig(): Chainable<{config: AdminConfig}>;
|
|
|
|
/**
|
|
* Get analytics.
|
|
* See https://api.mattermost.com/#tag/system/paths/~1analytics~1old/get
|
|
* @returns {AnalyticsRow[]} `out.analytics` as `AnalyticsRow[]`
|
|
*
|
|
* @example
|
|
* cy.apiGetAnalytics().then(({analytics}) => {
|
|
* // do something with analytics
|
|
* });
|
|
*/
|
|
apiGetAnalytics(): Chainable<AnalyticsRow[]>;
|
|
|
|
/**
|
|
* Invalidate all the caches.
|
|
* See https://api.mattermost.com/#tag/system/paths/~1caches~1invalidate/post
|
|
* @returns {Object} `out.data` as response status
|
|
*
|
|
* @example
|
|
* cy.apiInvalidateCache();
|
|
*/
|
|
apiInvalidateCache(): Chainable<Record<string, any>>;
|
|
|
|
/**
|
|
* Allow test if matches elastic search disabled.
|
|
* Otherwise, fail fast.
|
|
* @example
|
|
* cy.shouldHaveElasticsearchDisabled();
|
|
*/
|
|
shouldHaveElasticsearchDisabled(): Chainable;
|
|
|
|
/**
|
|
* Allow test for server other than Cloud edition or with Cloud license.
|
|
* Otherwise, fail fast.
|
|
* @example
|
|
* cy.shouldNotRunOnCloudEdition();
|
|
*/
|
|
shouldNotRunOnCloudEdition(): Chainable;
|
|
|
|
/**
|
|
* Allow test for server on Team edition or without license.
|
|
* Otherwise, fail fast.
|
|
* @example
|
|
* cy.shouldRunOnTeamEdition();
|
|
*/
|
|
shouldRunOnTeamEdition(): Chainable;
|
|
|
|
/**
|
|
* Allow test for server with Plugin upload enabled.
|
|
* Otherwise, fail fast.
|
|
* @example
|
|
* cy.shouldHavePluginUploadEnabled();
|
|
*/
|
|
shouldHavePluginUploadEnabled(): Chainable;
|
|
|
|
/**
|
|
* Allow test for server running with subpath.
|
|
* Otherwise, fail fast.
|
|
* @example
|
|
* cy.shouldRunWithSubpath();
|
|
*/
|
|
shouldRunWithSubpath(): Chainable;
|
|
|
|
/**
|
|
* Allow test if matches feature flag setting
|
|
* Otherwise, fail fast.
|
|
*
|
|
* @param {string} feature - feature name
|
|
* @param {string} expectedValue - expected value
|
|
*
|
|
* @example
|
|
* cy.shouldHaveFeatureFlag('feature', 'expected-value');
|
|
*/
|
|
shouldHaveFeatureFlag(feature: string, expectedValue: any): Chainable;
|
|
|
|
/**
|
|
* Require email service to be reachable by the server
|
|
* thru "/api/v4/email/test" if sysadmin account has
|
|
* permission to do so. Otherwise, skip email test.
|
|
*
|
|
* @example
|
|
* cy.shouldHaveEmailEnabled();
|
|
*/
|
|
shouldHaveEmailEnabled(): Chainable;
|
|
}
|
|
}
|