Skip to content

This monorepo contains multiple tools for testing and monitoring

License

Notifications You must be signed in to change notification settings

xmtp/xmtp-qa-testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TS_Performance TS_Delivery TS_Gm TS_Geolocation

XMTP QA Testing Suite

This monorepo contains a comprehensive collection of tools for testing and monitoring the XMTP protocol and its implementations.

πŸ§ͺ Test Suites

Run tests for specific modules using these commands:

TS_Performance:

Measures operations in milliseconds and aggregates results in a Datadog dashboard

yarn test ts_performance

View test source

TS_Geolocation:

Measures geolocation of the library in the dev network

railway run -s xmtp-qa-testing:us-west yarn test ts_performance | tee logs/us-west-performance.log

View test source

TS_Delivery:

Tests multiple concurrent streams to detect any message losses

yarn test ts_delivery

View test source

TS_Gm:

End-to-end testing for the Gm bot across browser and Node.js environments

yarn test ts_gm

View test source

πŸ‘₯ Workers

Predefined personas (Bob, Joe, Sam, etc.) are initialized with the getWorkers function:

let personas: Record<string, Persona>;

beforeAll(async () => {
  personas = await getWorkers(["alice", "bob", "randomguy"], testName);
});

const bob = personas.get("bob");

See more in the workers section

πŸ€– Test Bot

A versatile bot for manual interaction testing:

yarn bot

Learn more in the test bot section

πŸ“Š Datadog Dashboards

Explore more in the dashboards section

πŸ”„ GitHub Workflows

See our CI/CD pipeline configuration in the workflows section

🧰 Tools & Utilities

🧩 Development Tools

Vitest UI

We use Vitest for running tests with an interactive UI for better visualization.

Check out our live deployment on Railway

Run the Vitest UI locally:

yarn start

Playwright

We use Playwright for web automation testing:

See our example xmtp.chat script

yarn test xmtpchat
LG.HDR.4K.mp4

πŸ› Bug Tracking

We document bugs in the bugs folder for easy reproduction and tracking.

πŸ“š Related Repositories

πŸš‚ Railway Deployment

πŸ“‹ Issue Tracking

Follow our progress on the QA Board

About

This monorepo contains multiple tools for testing and monitoring

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published