These are chat archives for atomix/atomix
One of the things I’m working on to finish Atomix 2.1 is a better test framework. We have a couple of these frameworks we use in ONOS. Basically, we need a way to more easily write reproducers, do fault injection testing, etc. So the framework I’m developing uses Docker containers/networks to set up local clusters and uses Python APIs to kill/partition/etc nodes and interact with the cluster using the REST API.
atomix test setup my-cluster
atomix test run my-test -c my-cluster
The Python API can then be used to test different scenarios:
@test(‘my-test’) def my_test(cluster, log): node(1).client.map(‘foo’).put(‘bar’, ‘baz’) node(1).isolate() assert node(1).client.map(‘foo’).get(‘foo’).value == ‘bar’ node(1).unisolate()
The test clusters can also be used to play with the CLI, and I imagine the Python client being used in tests could turn into a useful client as well, which can be used in the Python Shell.