python-zulip-api/zulip_bots
neiljp (Neil Pilgrim) 6cdb83ce72 bot tests: Adjust TestCase inheritance to avoid need to skip/filter.
Previously the test-bots script filtered out base-class tests from
BotTestCase. With this change, BotTestCase continues to inherit from
unittest.TestCase, but the default test_* methods previously in this
class are now in a new DefaultTests class, which does not. Instead, each
bot needs to inherit from BotTestCase and DefaultTests *explicitly*.

This avoids the need to filter out the base-class tests, which
simplifies the test-bots script, and may ease any migration to eg.
pytest.

The DefaultTests class does require some non-implemented methods which
BotTestCase provides.
2018-06-09 12:49:49 -04:00
..
zulip_bots bot tests: Adjust TestCase inheritance to avoid need to skip/filter. 2018-06-09 12:49:49 -04:00
architecture.md zulip_bots: Update README.md. 2017-11-14 09:51:09 -08:00
README.md zulip_bots: Consolidate game-playing bots. 2018-01-22 11:30:31 -05:00
setup.py pypi: Release 0.5.0. 2018-06-07 12:05:18 -02:30

Zulip bots

This directory contains the source code for the zulip_bots PyPI package.

The Zulip documentation has guides on using Zulip's bot system and writing your own bots.

Directory structure

zulip_bots  # This directory
├───zulip_bots  # `zulip_bots` package.
│   ├───bots/  # Actively maintained and tested bots.
│   ├───bots_unmaintained/  # Unmaintained, potentially broken bots.
│   ├───game_handler.py  # Handles game-related bots.
│   ├───lib.py  # Backbone of run.py
│   ├───provision.py  # Creates a development environment.
│   ├───run.py  # Used to run bots.
│   ├───simple_lib.py  # Used for terminal testing.
│   ├───test_lib.py  # Backbone for bot unit tests.
│   ├───test_run.py  # Unit tests for run.py
│   └───terminal.py  # Used to test bots in the command line.
└───setup.py  # Script for packaging.