Skip to content
/ plax Public
forked from Comcast/plax

A test automation engine for messaging systems

License

Notifications You must be signed in to change notification settings

jsmorph/plax

 
 

Repository files navigation

Plax: an engine for testing messaging systems

And with reference to the narrative of events, far from permitting myself to derive it from the first source that came to hand, I did not even trust my own impressions, but it rests partly on what I saw myself, partly on what others saw for me, the accuracy of the report being always tried by the most severe and detailed tests possible.

-- Thucydides, The History of the Peloponnesian War

License Contributor Covenant

Summary

Plax is a test automation engine for messaging systems. This engine is designed to test MQTT messaging, Kinesis streams, SNS traffic, SQS trafic, Kafka I/O, HTTP APIs, and more.

An author of a test specifies a sequence of input and expected outputs over a set of channels that are connected to external services. Execution of the test verifies that the expected output occurred.

Command-line tools in this repo

  1. plax: The test engine (and probably the reason you are here). Documentation is here.
  2. plaxrun: Tool to run lots of Plax tests with various configurations. Documentation is here.
  3. yamlincl: YAML include processor utility. Documenation is here.

Usage

Clone this repo and install Go. Then:

(cd cmd/plax && go install)
# Run one simple test.
plax -test demos/mock.yaml -log debug
# Run several tests.
plax -dir demos -labels selftest

That last command runs all the example test specs that are labeled as selftest. basic.yaml is a good, small example of a test specification.

The langauge

See the main documentation and the examples.

References

  1. Plax manual and the plaxrun manual
  2. Sheens pattern matching and some examples
  3. Sheens, which could be used to implement more complex tests and simulations
  4. TCL "expect"

About

A test automation engine for messaging systems

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.7%
  • Other 0.3%