1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2024-11-01 03:54:15 +00:00

More tests for computes

This commit is contained in:
Real-Gecko 2020-06-16 11:04:09 +06:00
parent a4d28f2953
commit d3c59acb3f
4 changed files with 20 additions and 34 deletions

View file

@ -40,31 +40,3 @@ class SocketComputeForm(forms.ModelForm):
class Meta: class Meta:
model = Compute model = Compute
fields = ['name', 'details', 'hostname', 'type'] fields = ['name', 'details', 'hostname', 'type']
class ComputeEditHostForm(forms.Form):
host_id = forms.CharField()
name = forms.CharField(error_messages={'required': _('No hostname has been entered')}, max_length=64)
hostname = forms.CharField(error_messages={'required': _('No IP / Domain name has been entered')}, max_length=100)
login = forms.CharField(error_messages={'required': _('No login has been entered')}, max_length=100)
password = forms.CharField(max_length=100)
details = forms.CharField(max_length=50, required=False)
def clean_name(self):
name = self.cleaned_data['name']
have_symbol = re.match('[^a-zA-Z0-9._-]+', name)
if have_symbol:
raise forms.ValidationError(_('The name of the host must not contain any special characters'))
elif len(name) > 20:
raise forms.ValidationError(_('The name of the host must not exceed 20 characters'))
return name
def clean_hostname(self):
hostname = self.cleaned_data['hostname']
have_symbol = re.match('[^a-zA-Z0-9._-]+', hostname)
wrong_ip = re.match('^0.|^255.', hostname)
if have_symbol:
raise forms.ValidationError(_('Hostname must contain only numbers, or the domain name separated by "."'))
elif wrong_ip:
raise forms.ValidationError(_('Wrong IP address'))
return hostname

View file

@ -125,6 +125,16 @@ class ComputesTestCase(TestCase):
response = self.client.get(reverse('machines', kwargs={'compute_id': 1, 'arch': 'x86_64'})) response = self.client.get(reverse('machines', kwargs={'compute_id': 1, 'arch': 'x86_64'}))
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
# TODO: get_compute_disk_buses def test_compute_disk_buses(self):
response = self.client.get(
reverse('buses', kwargs={
'compute_id': 1,
'arch': 'x86_64',
'machine': 'pc',
'disk': 'disk',
}))
self.assertEqual(response.status_code, 200)
# TODO: domcaps def test_dom_capabilities(self):
response = self.client.get(reverse('domcaps', kwargs={'compute_id': 1, 'arch': 'x86_64', 'machine': 'pc'}))
self.assertEqual(response.status_code, 200)

View file

@ -36,8 +36,12 @@ urlpatterns = [
path('secrets/', secrets, name='secrets'), path('secrets/', secrets, name='secrets'),
path('create/', create_instance_select_type, name='create_instance_select_type'), path('create/', create_instance_select_type, name='create_instance_select_type'),
path('create/archs/<str:arch>/machines/<str:machine>/', create_instance, name='create_instance'), path('create/archs/<str:arch>/machines/<str:machine>/', create_instance, name='create_instance'),
path('archs/<str:arch>/machines', views.get_compute_machine_types, name='machines'), path('archs/<str:arch>/machines/', views.get_compute_machine_types, name='machines'),
path('archs/<str:arch>/machines/<str:machine>/disks/<str:disk>/buses', views.get_compute_disk_buses, name='buses'), path(
path('archs/<str:arch>/machines/<str:machine>/capabilities', views.get_dom_capabilities, name='domcaps'), 'archs/<str:arch>/machines/<str:machine>/disks/<str:disk>/buses/',
views.get_compute_disk_buses,
name='buses',
),
path('archs/<str:arch>/machines/<str:machine>/capabilities/', views.get_dom_capabilities, name='domcaps'),
])), ])),
] ]

View file

@ -9,7 +9,7 @@ from libvirt import libvirtError
from accounts.models import UserInstance from accounts.models import UserInstance
from admin.decorators import superuser_only from admin.decorators import superuser_only
from computes.forms import (ComputeEditHostForm, SocketComputeForm, SshComputeForm, TcpComputeForm, TlsComputeForm) from computes.forms import (SocketComputeForm, SshComputeForm, TcpComputeForm, TlsComputeForm)
from computes.models import Compute from computes.models import Compute
from instances.models import Instance from instances.models import Instance
from vrtManager.connection import (CONN_SOCKET, CONN_SSH, CONN_TCP, CONN_TLS, connection_manager, wvmConnect) from vrtManager.connection import (CONN_SOCKET, CONN_SSH, CONN_TCP, CONN_TLS, connection_manager, wvmConnect)