reworked SSH Key handling
This commit is contained in:
parent
8b46b747de
commit
02fad76482
6 changed files with 99 additions and 8 deletions
54
community_backup/tests/test_models.py
Normal file
54
community_backup/tests/test_models.py
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
from django.test import TestCase
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.exceptions import ValidationError
|
||||
from webui.models import BorgRepository
|
||||
|
||||
|
||||
class BorgRepositoryTestCase(TestCase):
|
||||
def test_ssh_key_regex(self):
|
||||
user = User.objects.create(username="foo")
|
||||
|
||||
# good repo
|
||||
repo = BorgRepository.objects.create(
|
||||
name="test1",
|
||||
key="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOYOkeGl40Bss9LMmreCtzq+uXw4IQ/E5SKsBRcKAfF3 jo@hubris",
|
||||
user=user,
|
||||
)
|
||||
|
||||
repo.full_clean()
|
||||
|
||||
# good repo, key without comment
|
||||
repo = BorgRepository.objects.create(
|
||||
name="test2",
|
||||
key="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOYOkeGl40Bss9LMmreCtzq+uXw4IQ/E5SKsBRcKAfF3",
|
||||
user=user,
|
||||
)
|
||||
repo.full_clean()
|
||||
|
||||
# bad repo (wrong key)
|
||||
repo = BorgRepository.objects.create(name="test3", key="Foo", user=user)
|
||||
self.assertRaises(ValidationError, repo.full_clean)
|
||||
|
||||
# bad repo (multiple valid keys )
|
||||
repo = BorgRepository.objects.create(
|
||||
name="test4",
|
||||
key="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOYOkeGl40Bss9LMmreCtzq+uXw4IQ/E5SKsBRcKAfF3 jo@hubris\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOYOkeGl40Bss9LMmreCtzq+uXw4IQ/E5SKsBRcKAfF3 jo@hubris",
|
||||
user=user,
|
||||
)
|
||||
self.assertRaises(ValidationError, repo.full_clean)
|
||||
|
||||
# bad repo, leading whitespace
|
||||
repo = BorgRepository.objects.create(
|
||||
name="test5",
|
||||
key=" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOYOkeGl40Bss9LMmreCtzq+uXw4IQ/E5SKsBRcKAfF3 jo@hubris",
|
||||
user=user,
|
||||
)
|
||||
self.assertRaises(ValidationError, repo.full_clean)
|
||||
|
||||
# good repo, with whitespace in commment
|
||||
repo = BorgRepository.objects.create(
|
||||
name="test6",
|
||||
key="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOYOkeGl40Bss9LMmreCtzq+uXw4IQ/E5SKsBRcKAfF3 jo@hubris whitespace in comment",
|
||||
user=user,
|
||||
)
|
||||
repo.full_clean()
|
||||
Loading…
Add table
Add a link
Reference in a new issue