Files
@ 502fdc081d35
Branch filter:
Location: majic-ansible-roles/roles/database/tests/test_default.py - annotation
502fdc081d35
1.4 KiB
text/x-python
MAR-32: Added initial scaffolding for testing web_server role:
- Added Molecule configuration for for bringing up a couple of instances.
- Added test playbook that sets-up test instances.
- Fixed issues with file mode in tasks (added leading 0).
- Added test data (TLS private keys and certificates).
- Added dummy test file.
- Added Molecule configuration for for bringing up a couple of instances.
- Added test playbook that sets-up test instances.
- Fixed issues with file mode in tasks (added leading 0).
- Added test data (TLS private keys and certificates).
- Added dummy test file.
c6e7675e63f9 c6e7675e63f9 c6e7675e63f9 c6e7675e63f9 c6e7675e63f9 c6e7675e63f9 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b c6e7675e63f9 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b 862402d2c45b | import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
'.molecule/ansible_inventory').get_hosts('all')
def test_database_created(Command, Sudo):
"""
Tests if database has been created.
"""
with Sudo():
show_databases = Command("mysql -BNe \"show databases like 'testdb'\"")
assert show_databases.rc == 0
assert show_databases.stdout == "testdb"
def test_database_user_login(Command):
"""
Tests database user login.
"""
login = Command("mysql -utestdb -ptestdbpassword -BNe 'show databases'")
assert login.rc == 0
def test_database_user_permissions(Command, Sudo):
"""
Tests if database user has been granted correct permissions on the database.
"""
visible_databases = Command("mysql -utestdb -ptestdbpassword -BNe 'show databases'")
assert visible_databases.rc == 0
assert visible_databases.stdout == "information_schema\ntestdb"
with Sudo():
permissions = Command("mysql -BNe 'show grants for testdb@localhost'")
assert len(permissions.stdout.split("\n")) == 2
assert "GRANT USAGE ON *.* TO 'testdb'@'localhost' IDENTIFIED BY PASSWORD '*676852B7FAE972722AD20D6E74781D6B1A100544'" in permissions.stdout.split("\n")
assert "GRANT ALL PRIVILEGES ON `testdb`.* TO 'testdb'@'localhost'" in permissions.stdout.split("\n")
|