49 lines
762 B
Python
49 lines
762 B
Python
'''
|
|
Test fixtures
|
|
'''
|
|
import base64
|
|
|
|
import pytest
|
|
|
|
from jail2ban import create_app
|
|
|
|
|
|
@pytest.fixture()
|
|
def app():
|
|
app = create_app()
|
|
app.config.update({
|
|
"TESTING": True,
|
|
"SECRET_KEY": 'Testing',
|
|
"AUTHFILE": '../tests/users-test.txt'
|
|
})
|
|
|
|
# other setup can go here
|
|
|
|
yield app
|
|
|
|
# clean up / reset resources here
|
|
|
|
|
|
@pytest.fixture()
|
|
def client(app):
|
|
'''
|
|
Create a synthetic client
|
|
'''
|
|
return app.test_client()
|
|
|
|
|
|
@pytest.fixture()
|
|
def runner(app):
|
|
'''
|
|
Create a synthetic runner
|
|
'''
|
|
return app.test_cli_runner()
|
|
|
|
|
|
@pytest.fixture()
|
|
def valid_credentials():
|
|
'''
|
|
Mock authentication for the test
|
|
'''
|
|
return base64.b64encode(b"test.example.com:testpassword").decode("utf-8")
|