oncall-engine/engine/common/tests/test_database.py
Joey Orlando 16196822de
Add utility function to get readonly db key if defined (#1264)
# What this PR does

This is a minor refactor before implementing
https://github.com/grafana/oncall-private/issues/1558.

Additionally, it cleans up a few spots where we do this:
```
# Re-take in case we are in the readonly db context.
```
We currently don't read anything from a read-only database, so this
should be not necessary.

## Checklist

- [x] Tests updated
- [ ] Documentation added (N/A)
- [ ] `CHANGELOG.md` updated (N/A)
2023-02-01 12:07:32 +01:00

21 lines
941 B
Python

from django.test import override_settings
from common.database import get_random_readonly_database_key_if_present_otherwise_default
MOCK_READ_ONLY_DATABASES = {
"foo": "asdfkdjkdfjkdf",
"bar": "nmcvnmcvmnvc",
}
class TestGetRandomReadOnlyDatabaseKeyIfPresentOtherwiseDefault:
@override_settings(READONLY_DATABASES=MOCK_READ_ONLY_DATABASES)
def test_it_randomly_chooses_a_readonly_database(self) -> None:
assert get_random_readonly_database_key_if_present_otherwise_default() in MOCK_READ_ONLY_DATABASES
@override_settings(READONLY_DATABASES={})
def test_it_falls_back_to_default_if_readonly_databases_is_set_but_empty(self) -> None:
assert get_random_readonly_database_key_if_present_otherwise_default() == "default"
def test_it_falls_back_to_default_if_readonly_databases_is_not_set(self) -> None:
assert get_random_readonly_database_key_if_present_otherwise_default() == "default"