document create-test-user command

This commit is contained in:
stvnrlly
2022-11-01 12:14:26 -04:00
parent f2f70f42a6
commit 57adbf3f6b
4 changed files with 18 additions and 33 deletions

View File

@@ -30,7 +30,7 @@ Our other repositories are:
### Common dev work
- [Local setup](#local-setup)
- [Testing](./docs/testing.md)
- [Testing](./docs/testing.md), both automated and manual
- [Deploying](./docs/deploying.md)
- [Running one-off tasks](./docs/one-off-tasks.md)

View File

@@ -340,33 +340,6 @@ def update_jobs_archived_flag(start_date, end_date):
current_app.logger.info('Total archived jobs = {}'.format(total_updated))
# @notify_command(name='update-emails-to-remove-gsi')
# @click.option('-s', '--service_id', required=True, help="service id. Update all user.email_address to remove .gsi")
# @statsd(namespace="tasks")
# def update_emails_to_remove_gsi(service_id):
# users_to_update = """SELECT u.id user_id, u.name, email_address, s.id, s.name
# FROM users u
# JOIN user_to_service us on (u.id = us.user_id)
# JOIN services s on (s.id = us.service_id)
# WHERE s.id = :service_id
# AND u.email_address ilike ('%.gsi.gov.uk%')
# """
# results = db.session.execute(users_to_update, {'service_id': service_id})
# print("Updating {} users.".format(results.rowcount))
# for user in results:
# print('User with id {} updated'.format(user.user_id))
# update_stmt = """
# UPDATE users
# SET email_address = replace(replace(email_address, '.gsi.gov.uk', '.gov.uk'), '.GSI.GOV.UK', '.GOV.UK'),
# updated_at = now()
# WHERE id = :user_id
# """
# db.session.execute(update_stmt, {'user_id': str(user.user_id)})
# db.session.commit()
@notify_command(name='replay-daily-sorted-count-files')
@click.option('-f', '--file_extension', required=False, help="File extension to search for, defaults to rs.txt")
@statsd(namespace="tasks")

View File

@@ -2,14 +2,18 @@
For these, we're using Flask commands, which live in [`/app/commands.py`](../app/commands.py).
This includes things that might be one-time operations! Using a command allows the operation to be tested,
both with `pytest` and with trial runs.
This includes things that might be one-time operations! If we're running it on production, it should be a Flask
command Using a command allows the operation to be tested, both with `pytest` and with trial runs in staging.
To see information about available commands, you can get a list with:
`pipenv run flask command`
Appending `--help` to any command will give you more information about parameters.
To run a command on cloud.gov, use this format:
```
cf run-task CLOUD-GOV-APP --commmand "YOUR COMMAND HERE" --name YOUR-COMMAND
```
`cf run-task CLOUD-GOV-APP --commmand "YOUR COMMAND HERE" --name YOUR-COMMAND`
[Here's more documentation](https://docs.cloudfoundry.org/devguide/using-tasks.html) about Cloud Foundry tasks.

View File

@@ -23,6 +23,14 @@ We're using GitHub Actions. See [/.github](../.github/) for the configuration.
In addition to commit-triggered scans, the `daily_checks.yml` workflow runs the relevant dependency audits, static scan, and/or dynamic scans at 10am UTC each day. Developers will be notified of failures in daily scans by GitHub notifications.
## Manual testing
If you're checking out the system locally, you may want to create a user quickly.
`pipenv run flask command create-test-user`
This will run an interactive prompt to create a user, and then mark that user as active. *Use a real mobile number* if you want to log in, as the SMS auth code will be sent here.
## To run a local OWASP scan
1. Run `make run-flask` from within the dev container.