publik-dump: add test for invalidate tenants

This commit is contained in:
Nicolas Roche 2021-10-28 15:52:08 +02:00
parent 5aaf174412
commit d1a9f730a0
1 changed files with 26 additions and 3 deletions

View File

@ -303,19 +303,19 @@ def test_dump_tenant_databases(mocked_tenant_info, mocked_run, publik_dump):
# hobo
assert mocked_run.mock_calls[0][1][0].replace(publik_dump.host_folder, 'HF') == \
"ssh db2.test.saas.entrouvert.org"\
"ssh db1.test.saas.entrouvert.org"\
" 'sudo -u postgres pg_dump -n hobo_eurelien_test_entrouvert_org -Fc hobo'"\
" > HF/hobo-eurelien.test.entrouvert.org/hobo_eurelien_test_entrouvert_org.sql.gz"
# authentic
assert mocked_run.mock_calls[1][1][0].replace(publik_dump.host_folder, 'HF') == \
"ssh db2.test.saas.entrouvert.org"\
"ssh db1.test.saas.entrouvert.org"\
" 'sudo -u postgres pg_dump -n connexion_eurelien_test_entrouvert_org -Fc authentic2_multitenant'"\
" > HF/connexion-eurelien.test.entrouvert.org/connexion_eurelien_test_entrouvert_org.sql.gz"
# wcs
assert mocked_run.mock_calls[2][1][0].replace(publik_dump.host_folder, 'HF') == \
"ssh db2.test.saas.entrouvert.org"\
"ssh db1.test.saas.entrouvert.org"\
" 'sudo -u postgres pg_dump -Fc wcs_demarches_eurelien_test_entrouvert_org'"\
" > HF/demarches-eurelien.test.entrouvert.org/wcs_demarches_eurelien_test_entrouvert_org.sql.gz"
@ -350,3 +350,26 @@ def test_restore_tenant_database(mocked_tenant_info, mocked_run, publik_dump):
"cat HF/demarches-eurelien.test.entrouvert.org/wcs_demarches_eurelien_test_entrouvert_org.sql.gz"\
" | ssh sql3.test-hds.saas.entrouvert"\
" 'sudo -u postgres pg_restore -d wcs_demarches_eurelien_test_entrouvert_org'"
@mock.patch('publik_dump.publik_dump.subprocess.run')
@mock.patch('publik_dump.publik_dump.PublikDump.get_tenant_info', return_value=TENANT_INFO)
def test_invalidate_tenant(mocked_tenant_info, mocked_run, publik_dump):
publik_dump.invalidate_tenant()
assert len(mocked_run.mock_calls) == 9
# hobo
assert mocked_run.mock_calls[0][1][0] == \
'ssh hobo.node2.test.saas.entrouvert.org'\
' sudo mv /var/lib/hobo/tenants/hobo-eurelien.test.entrouvert.org'\
' /var/lib/hobo/tenants/hobo-eurelien.test.entrouvert.org.invalid'
# authentic
assert mocked_run.mock_calls[1][1][0] == \
'ssh authentic.node2.test.saas.entrouvert.org'\
' sudo mv /var/lib/authentic2-multitenant/tenants/connexion-eurelien.test.entrouvert.org'\
' /var/lib/authentic2-multitenant/tenants/connexion-eurelien.test.entrouvert.org.invalid'
# wcs
assert mocked_run.mock_calls[2][1][0] == \
'ssh wcs.node2.test.saas.entrouvert.org'\
' sudo mv /var/lib/wcs/demarches-eurelien.test.entrouvert.org'\
' /var/lib/wcs/demarches-eurelien.test.entrouvert.org.invalid'