Prepare WebSSH for self-hosted deployment
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import os
|
||||
import shutil
|
||||
import tempfile
|
||||
import unittest
|
||||
|
||||
from webssh.auth import AuthManager, make_password_hash, verify_password
|
||||
|
||||
|
||||
class TestAuth(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.tmpdir = tempfile.mkdtemp()
|
||||
|
||||
def tearDown(self):
|
||||
shutil.rmtree(self.tmpdir)
|
||||
|
||||
def test_password_hash(self):
|
||||
encoded = make_password_hash('secret')
|
||||
self.assertTrue(verify_password('secret', encoded))
|
||||
self.assertFalse(verify_password('wrong', encoded))
|
||||
self.assertFalse(verify_password('', encoded))
|
||||
|
||||
def test_auth_manager_setup_and_verify(self):
|
||||
auth_file = os.path.join(self.tmpdir, 'auth.json')
|
||||
manager = AuthManager(auth_file=auth_file)
|
||||
self.assertFalse(manager.is_configured())
|
||||
|
||||
manager.setup('admin', 'secret')
|
||||
self.assertTrue(manager.is_configured())
|
||||
self.assertTrue(manager.verify('admin', 'secret'))
|
||||
self.assertFalse(manager.verify('admin', 'wrong'))
|
||||
self.assertFalse(manager.verify('other', 'secret'))
|
||||
|
||||
loaded = AuthManager(auth_file=auth_file)
|
||||
self.assertTrue(loaded.verify('admin', 'secret'))
|
||||
|
||||
Reference in New Issue
Block a user