Files
upstream-mattermost/e2e-tests/cypress/cypress.config.ts
upstream-mirror 240db4e2a7
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
snapshot of https://github.com/mattermost/mattermost.git (master, 2026-09-16; blobs > 131072B omitted)
2026-09-16 00:29:55 +05:00

128 lines
5.0 KiB
TypeScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import * as path from 'path';
import {defineConfig} from 'cypress';
export default defineConfig({
chromeWebSecurity: false,
defaultCommandTimeout: 30000,
downloadsFolder: 'tests/downloads',
fixturesFolder: 'tests/fixtures',
numTestsKeptInMemory: 0,
retries: {
// retries for cypress:run
runMode: 1,
// No retries for cypress:open
openMode: 0,
},
screenshotsFolder: 'tests/screenshots',
taskTimeout: 60000,
video: true,
videoCompression: true,
videosFolder: 'tests/videos',
viewportWidth: 1300,
allowCypressEnv: false,
expose: {
adminEmail: process.env.CYPRESS_adminEmail || 'sysadmin@sample.mattermost.com',
adminUsername: process.env.CYPRESS_adminUsername || 'sysadmin',
adminPassword: process.env.CYPRESS_adminPassword || 'Sys@dmin-sample1',
allowedUntrustedInternalConnections: 'localhost',
cwsURL: 'http://localhost:8076',
cwsAPIURL: 'http://localhost:8076',
dbClient: 'postgres',
dbConnection: process.env.CYPRESS_dbConnection || 'postgres://mmuser:mostest_password@localhost/mattermost_test?sslmode=disable&connect_timeout=10',
elasticsearchConnectionURL: 'http://localhost:9200',
firstTest: false,
keycloakAppName: 'mattermost',
keycloakBaseUrl: 'http://localhost:8484',
keycloakUsername: 'mmuser',
keycloakPassword: 'mostest_password',
ldapServer: 'localhost',
ldapPort: 389,
minioAccessKey: 'minioaccesskey',
minioSecretKey: 'miniosecretkey',
minioS3Bucket: 'mattermost-test',
minioS3Endpoint: 'localhost:9000',
minioS3SSL: false,
numberOfTrialUsers: 100,
pushNotificationServer: 'https://push-test.mattermost.com',
resetBeforeTest: false,
runLDAPSync: true,
secondServerURL: 'http://localhost/s/p',
serverEdition: 'Team',
serverClusterEnabled: false,
serverClusterName: 'mm_dev_cluster',
serverClusterHostCount: 3,
smtpUrl: process.env.CYPRESS_smtpUrl || 'http://localhost:9001',
webhookBaseUrl: 'http://localhost:3000',
},
e2e: {
setupNodeEvents(on, config) {
// Custom webpack preprocessor for TypeScript 6 + @/ path aliases.
// @cypress/webpack-preprocessor@7.1.0 already handles TS6's
// downlevelIteration deprecation (cypress-io/cypress#33575).
// We add: ts-loader for .ts files, resolve extensions, and @/ alias.
// When Cypress >= 15.14 ships, the only custom piece needed is the @/ alias.
const webpackPreprocessor = require('@cypress/webpack-preprocessor');
const webpackOptions = {
resolve: {
extensions: ['.ts', '.js', '.json'],
alias: {
'@': path.resolve(__dirname, 'tests'),
},
},
module: {
rules: [
{
test: /\.tsx?$/,
exclude: /node_modules/,
use: [
{
loader: 'ts-loader',
options: {
transpileOnly: true,
},
},
],
},
{
test: /\.jsx?$/,
exclude: /node_modules/,
use: [
{
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
},
},
],
},
],
},
// Restore Node.js polyfills (crypto, process, path, etc.)
// that webpack 5 no longer provides by default.
plugins: [
new (require('node-polyfill-webpack-plugin'))(),
new (require('webpack').ProvidePlugin)({
process: 'process/browser',
Buffer: ['buffer', 'Buffer'],
}),
],
};
on('file:preprocessor', webpackPreprocessor({webpackOptions}));
return require('./tests/plugins/index.js')(on, config);
},
baseUrl: process.env.MM_SERVICESETTINGS_SITEURL || 'http://localhost:8065',
excludeSpecPattern: '**/node_modules/**/*',
specPattern: 'tests/integration/**/*_spec.{js,ts}',
supportFile: 'tests/support/index.js',
testIsolation: false,
},
});