# make-users.py

This script must be run via python **on your mastodon server** because it calls the [`tootctl`](https://docs.joinmastodon.org/admin/tootctl/) administration tool. There's lots of stuff you can do with the [Mastodon API](https://docs.joinmastodon.org/api/guidelines/), but creating users like this requires a CLI tool.

This is a _one-time step_ that you do when you begin to use tootapalooza. You can delete this script after you run it once.

# Usage

1. Decide on an email address to use for all your accounts. (See EMAIL ADDRESSES below)
2. Decide how many you want to run
3. Copy this `make-users.py` script to your mastodon server.
4. `cd` to a directory where you can write an output file. You could do it from `/tmp` if you wanted to.
5. Make sure the mastodon `tootctl` binary is in your path, or provide the path as a `--path` argument.
6. This tool will run with `RAILS_ENV=production`. If you don't want that, edit the script.
7. Run the tool providing a number of users to create, and a base email address. E.g.:
```
python3 make-users.py -n 10 -e person@example.com
```
8. A file named `users.toml` will be created. Copy that file to the place where tootapalooza is going to run. Note: **This file has plaintext user names and passwords! Handle it carefully!**
9. You're done. You can delete this script from your mastodon server. You should probably delete the text file full of userids and passwords too. :) 


# Email Addresses

There will be some emails generated (the tootapalooza system tries to minimise them), and email addresses are needed for logging in. So we generate one email address per test user. You give us a regular email address like this: `person@example.com`. We will generate userIDs that look like this: `tooter_pqda_568`. And we will assign the email address: `person+tooter_pqda_568@example.com` to the `tooter_pqda_568` Mastodon account. For most email services (GMail, Yahoo, Hotmail), this ["plus addressing"](https://learn.microsoft.com/en-us/exchange/recipients-in-exchange-online/plus-addressing-in-exchange-online) has been an Internet standard for decades.

