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:
parent
a4d28f2953
commit
d3c59acb3f
4 changed files with 20 additions and 34 deletions
|
@ -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
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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'),
|
||||||
])),
|
])),
|
||||||
]
|
]
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in a new issue