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 Nightly Race / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
153 lines
5.4 KiB
TypeScript
153 lines
5.4 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`.
|
|
// ***************************************************************
|
|
|
|
interface PluginStatus {
|
|
isInstalled: boolean;
|
|
isActive: boolean;
|
|
}
|
|
|
|
interface PluginTestInfo {
|
|
id: string;
|
|
version: string;
|
|
url: string;
|
|
filename: string;
|
|
}
|
|
|
|
declare namespace Cypress {
|
|
interface Chainable {
|
|
|
|
/**
|
|
* Get plugins.
|
|
* See https://api.mattermost.com/#tag/plugins/paths/~1plugins/get
|
|
* @returns {PluginsResponse} `out.plugins` as `PluginsResponse`
|
|
*
|
|
* @example
|
|
* cy.apiGetAllPlugins().then(({plugins}) => {
|
|
* // do something with plugins
|
|
* });
|
|
*/
|
|
apiGetAllPlugins(): Chainable<PluginsResponse>;
|
|
|
|
/**
|
|
* Get plugins.
|
|
* @param {string} pluginId - plugin ID
|
|
* @param {string} version - plugin version
|
|
*
|
|
* @returns {PluginStatus} - plugin status if upload and active
|
|
*
|
|
* @example
|
|
* cy.apiGetPluginStatus(pluginId, version).then((status) => {
|
|
* // do something with status
|
|
* });
|
|
*/
|
|
apiGetPluginStatus(pluginId: string, version?: string): Chainable<PluginStatus>;
|
|
|
|
/**
|
|
* Upload plugin.
|
|
* See https://api.mattermost.com/#tag/plugins/paths/~1plugins/post
|
|
* @param {string} filename - name of the plugin to upload
|
|
* @returns {Response} response: Cypress-chainable response
|
|
*
|
|
* @example
|
|
* cy.apiUploadPlugin('filename');
|
|
*/
|
|
apiUploadPlugin(filename: string): Chainable<Response>;
|
|
|
|
/**
|
|
* Upload a plugin and enable.
|
|
* - If a plugin is already active, then it will immediately return.
|
|
* - If a plugin is inactive, then it will be enabled only.
|
|
* - If a plugin is not found in the server, then it will be uploaded
|
|
* and the enabled.
|
|
* - On plugin upload, if `pluginTestInfo` includes a `url` field, then
|
|
* the plugin will be installed via URL. Otherwise if `filename` field
|
|
* is present, then it will look at such filename under fixtures folder
|
|
* and then use the file to upload.
|
|
*
|
|
* @param {PluginTestInfo} pluginTestInfo - plugin test info
|
|
* @returns {Response} response: Cypress-chainable response
|
|
*
|
|
* @example
|
|
* cy.apiUploadAndEnablePlugin(pluginTestInfo);
|
|
*/
|
|
apiUploadAndEnablePlugin(pluginTestInfo: PluginTestInfo): Chainable<Response>;
|
|
|
|
/**
|
|
* Install plugin from url.
|
|
* See https://api.mattermost.com/#tag/plugins/paths/~1plugins~1install_from_url/post
|
|
* @param {string} pluginDownloadUrl - URL used to download the plugin
|
|
* @param {string} force - Set to 'true' to overwrite a previously installed plugin with the same ID, if any
|
|
* @returns {PluginManifest} `out.plugin` as `PluginManifest`
|
|
*
|
|
* @example
|
|
* cy.apiInstallPluginFromUrl('url', 'true').then(({plugin}) => {
|
|
* // do something with plugin
|
|
* });
|
|
*/
|
|
apiInstallPluginFromUrl(pluginDownloadUrl: string, force: string): Chainable<PluginManifest>;
|
|
|
|
/**
|
|
* Enable plugin.
|
|
* See https://api.mattermost.com/#tag/plugins/paths/~1plugins~1{plugin_id}~1enable/post
|
|
* @param {string} pluginId - Id of the plugin to enable
|
|
* @returns {string} `out.status`
|
|
*
|
|
* @example
|
|
* cy.apiEnablePluginById('pluginId');
|
|
*/
|
|
apiEnablePluginById(pluginId: string): Chainable<Record<string, any>>;
|
|
|
|
/**
|
|
* Disable plugin.
|
|
* See https://api.mattermost.com/#tag/plugins/paths/~1plugins~1{plugin_id}~disable/post
|
|
* @param {string} pluginId - Id of the plugin to disable
|
|
* @returns {string} `out.status`
|
|
*
|
|
* @example
|
|
* cy.apiDisablePluginById('pluginId');
|
|
*/
|
|
apiDisablePluginById(pluginId: string): Chainable<Record<string, any>>;
|
|
|
|
/**
|
|
* Disable all plugins installed that are not prepackaged.
|
|
*
|
|
* @example
|
|
* cy.apiDisableNonPrepackagedPlugins();
|
|
*/
|
|
apiDisableNonPrepackagedPlugins(): Chainable<Record<string, any>>;
|
|
|
|
/**
|
|
* Remove plugin.
|
|
* See https://api.mattermost.com/#tag/plugins/paths/~1plugins~1{plugin_id}/delete
|
|
* @param {string} pluginId - Id of the plugin to uninstall
|
|
* @returns {string} `out.status`
|
|
*
|
|
* @example
|
|
* cy.apiRemovePluginById('url');
|
|
*/
|
|
apiRemovePluginById(pluginId: string, force: string): Chainable<Record<string, any>>;
|
|
|
|
/**
|
|
* Removes all active and inactive plugins.
|
|
*
|
|
* @example
|
|
* cy.apiUninstallAllPlugins();
|
|
*/
|
|
apiUninstallAllPlugins(): Chainable;
|
|
}
|
|
}
|