mirror of
				https://github.com/retspen/webvirtcloud
				synced 2025-07-31 12:41:08 +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:
 | 
			
		||||
        model = Compute
 | 
			
		||||
        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'}))
 | 
			
		||||
        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('create/', create_instance_select_type, name='create_instance_select_type'),
 | 
			
		||||
            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/<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'),
 | 
			
		||||
            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('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 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 instances.models import Instance
 | 
			
		||||
from vrtManager.connection import (CONN_SOCKET, CONN_SSH, CONN_TCP, CONN_TLS, connection_manager, wvmConnect)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue