Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Commit

Permalink
Merge pull request #18 from YoLoveLife/devel
Browse files Browse the repository at this point in the history
some models testcase
  • Loading branch information
YoLoveLife authored Sep 20, 2017
2 parents d2a6176 + 98cf113 commit d9f70ef
Show file tree
Hide file tree
Showing 10 changed files with 204 additions and 40 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,6 @@ $ python apps/manage.py migrate

#启动服务
$ python apps/manage.py runserver &
#默认启动在9999端口 你可能需要一个nginx做Web服务器
#默认启动在8000端口 你可能需要一个nginx做Web服务器
```
## <a name="whatcando"> 自运维功能实现 </a>
32 changes: 31 additions & 1 deletion apps/application/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,35 @@
from __future__ import unicode_literals

from django.test import TestCase

from application.models import DB
from softlib.models import Softlib
from manager.models import Host
# Create your tests here.

class DBTestCase(TestCase):
def setUp(self):
softlib = Softlib.objects.create(soft_type=2,soft_version='1.10.3')
host = Host.objects.create(systemtype=1,
manage_ip='192.168.1.1',service_ip='192.168.1.2',
outer_ip='192.168.1.3',server_position='VmWare',
hostname='localhost.localdomain',normal_user='TestProd',
sshpasswd='testpasswd',sshport='52000',coreness='36',
memory='1024MB',root_disk='1024G',info='testinfo')

db = DB.objects.create(host=host,prefix='/usr/local/mysql',root_passwd='000000',
normal_user='testlink',normal_passwd='testlink',
softlib=softlib)

def test_dbcreate(self):
db = DB.objects.get(prefix='/usr/local/mysql')
self.assertEqual(db.normal_user,'testlink')

def test_dbupdate(self):
DB.objects.filter(prefix='/usr/local/mysql').update(normal_passwd='testlink2')
db = DB.objects.get(prefix='/usr/local/mysql')
self.assertEqual(db.normal_passwd,'testlink2')

def test_dbdelete(self):
DB.objects.filter(prefix='/usr/local/mysql').delete()
self.assertEqual(DB.objects.filter(prefix='/usr/local/mysql').count(),0)

16 changes: 8 additions & 8 deletions apps/deveops/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,15 @@
# Application definition

INSTALLED_APPS = [
# 'manager.apps.ManagerConfig',
'validate.apps.ValidateConfig',
# 'softlib.apps.SoftlibConfig',
# 'application.apps.MagicConfig',
# 'operation.apps.OperationConfig',
# 'timeline.apps.TimelineConfig',
# 'authority.apps.AuthorityConfig',
# 'execute.apps.ExecuteConfig',
# 'concert.apps.ConcertConfig',
'softlib.apps.SoftlibConfig',
'manager.apps.ManagerConfig',
'operation.apps.OperationConfig',
'application.apps.MagicConfig',
'authority.apps.AuthorityConfig',
'execute.apps.ExecuteConfig',
'concert.apps.ConcertConfig',
'timeline.apps.TimelineConfig',
'rest_framework',
'bootstrap3',
'django.contrib.auth',
Expand Down
43 changes: 21 additions & 22 deletions apps/deveops/tests.py
Original file line number Diff line number Diff line change
@@ -1,28 +1,27 @@
# -*- coding:utf-8 -*-
from django.test import TestCase,Client,LiveServerTestCase
# from validate.models import ExtendUser
from validate.models import ExtendUser
# Create your tests here.


#view test
# class IndexPageTestCase(LiveServerTestCase):
# port = 8000
# def setUp(self):
# self.user=ExtendUser.objects.create(username='yz2',first_name='Yu',last_name='Zhou')
# self.user.set_password('testuser')
# self.user.save()
# self.c = Client(HTTP_USER_AGENT='Mozilla/5.0')
# self.c.login(username='yz2',password='testuser')
# self.c.force_login(self.user)
#
# def test_indexpage(self):
# response = self.c.get('/')
# self.assertEqual(response.status_code,200)
#
# def test_404page(self):
# response = self.c.get('/404')
# self.assertEqual(response.status_code,301)
#
# def test_permissionpage(self):
# response = self.c.get('/permission')
# self.assertEqual(response.status_code,301)
class IndexPageTestCase(LiveServerTestCase):
port = 8000
def setUp(self):
self.user=ExtendUser.objects.create(username='yz2',first_name='Yu',last_name='Zhou')
self.user.set_password('testuser')
self.user.save()
self.c = Client(HTTP_USER_AGENT='Mozilla/5.0')

def test_indexpage(self):
response = self.c.get('/')
self.assertEqual(response.status_code,302)

def test_404page(self):
self.c.force_login(self.user)
response = self.c.get('/404')
self.assertEqual(response.status_code,301)

def test_permissionpage(self):
response = self.c.get('/permission')
self.assertEqual(response.status_code,301)
6 changes: 3 additions & 3 deletions apps/deveops/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
import views
urlpatterns = [
# VIEW
# url(r'^$', views.IndexView.as_view(), name='index'),
# url(r'^404/',views.ErrorView.as_view(),name='404'),
# url(r'^permission/',views.PermissionView.as_view(),name='permission'),
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^404/',views.ErrorView.as_view(),name='404'),
url(r'^permission/',views.PermissionView.as_view(),name='permission'),
url(r'^validate/', include('validate.urls.views_urls', namespace='validate')),
# url(r'^manager/', include('manager.urls.views_urls', namespace='manager')),
# url(r'^operation/',include('operation.urls.views_urls',namespace='operation')),
Expand Down
2 changes: 0 additions & 2 deletions apps/deveops/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
class IndexView(LoginRequiredMixin,TemplateView):
template_name = '404.html'
def get(self,request,*args,**kwargs):
# if not request.user.is_superuser:
# return redirect('assets:user-asset-list')
return super(IndexView, self).get(request, *args, **kwargs)

class ErrorView(LoginRequiredMixin,TemplateView):
Expand Down
18 changes: 17 additions & 1 deletion apps/execute/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,21 @@
from __future__ import unicode_literals

from django.test import TestCase

from execute.models import Callback
# Create your tests here.
class CallbackTestCase(TestCase):
def setUp(self):
Callback.objects.create(info='ddddddddr')

def test_callbackcreate(self):
callback = Callback.objects.get(id=1)
self.assertEqual(callback.info,'ddddddddr')

def test_callbackupdate(self):
Callback.objects.filter(info='ddddddddr').update(info='testtest')
callback = Callback.objects.get(info='testtest')
self.assertEqual(callback.info,'testtest')

def test_callbackdelete(self):
Callback.objects.filter(id=1).delete()
self.assertEqual(Callback.objects.filter(id=1).count(), 0)
74 changes: 74 additions & 0 deletions apps/manager/tests.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,77 @@
# -*- coding:utf-8 -*-
from __future__ import unicode_literals
from django.test import TestCase
from manager.models import Group,Host,Storage
#model test
class GroupTestCase(TestCase):
def setUp(self):
Group.objects.create(name='Testname',info='Testinfo')

def test_groupcreate(self):
group = Group.objects.get(name='Testname')
self.assertEqual(group.info,'Testinfo')

def test_groupupdate(self):
group = Group.objects.get(name='Testname')
group.info='Testinfo2'
group.save()
self.assertEqual(group.info,'Testinfo2')

def test_groupdelete(self):
Group.objects.filter(name='Testname').delete()
self.assertEqual(Group.objects.filter(name='Testname').count(),0)

class StorageTestCase(TestCase):
def setUp(self):
Storage.objects.create(disk_size='1024GB',disk_path='//192.168.0.1/testdisk',info='testdisk')

def test_storagecreate(self):
storage=Storage.objects.get(disk_size='1024GB')
self.assertEqual(storage.disk_path,'//192.168.0.1/testdisk')

def test_storageupdate(self):
Storage.objects.filter(disk_size='1024GB').update(disk_path='//192.168.0.1/ddr')
storage = Storage.objects.get(disk_size='1024GB')
self.assertEqual(storage.disk_path,'//192.168.0.1/ddr')

def test_storagedelete(self):
Storage.objects.filter(disk_size='1024GB').delete()
self.assertEqual(Storage.objects.filter(disk_size='1024GB').count(),0)

class HostTestCase(TestCase):
def setUp(self):
Group.objects.create(name='Testgroup',info='Testgroupinfo')
Storage.objects.create(disk_size='1024GB', disk_path='//192.168.0.1/testdisk', info='testdisk')
groups = Group.objects.filter(name='Testgroup')
storages = Storage.objects.filter(disk_size='1024GB')
host = Host.objects.create(systemtype=1,
manage_ip='192.168.1.1',service_ip='192.168.1.2',
outer_ip='192.168.1.3',server_position='VmWare',
hostname='localhost.localdomain',normal_user='TestProd',
sshpasswd='testpasswd',sshport='52000',coreness='36',
memory='1024MB',root_disk='1024G',info='testinfo')
host.storages = storages
host.groups = groups
host.save()

def test_hostcreate(self):
host = Host.objects.get(service_ip='192.168.1.2')
self.assertEqual(host.hostname,'localhost.localdomain')

def test_hostmany2many(self):
host = Host.objects.get(service_ip='192.168.1.2')
self.assertEqual(host.groups.all()[0].name,'Testgroup')
self.assertEqual(host.storages.all()[0].disk_path,'//192.168.0.1/testdisk')

def test_storage_getallgroupname(self):
storage = Storage.objects.get(disk_size='1024GB')
self.assertEqual(storage.get_all_group_name(),'Testgroup')

def test_hostupdate(self):
Host.objects.filter(service_ip='192.168.1.2').update(server_position='Position-1')
host = Host.objects.get(service_ip='192.168.1.2')
self.assertEqual(host.server_position,'Position-1')

def test_hostdelete(self):
Host.objects.filter(service_ip='192.168.1.2').delete()
self.assertEqual(Host.objects.filter(service_ip='192.168.1.2').count(),0)
49 changes: 48 additions & 1 deletion apps/operation/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,52 @@
from __future__ import unicode_literals

from django.test import TestCase

from operation.models import Script,ScriptArgs
from validate.models import ExtendUser
# Create your tests here.
class ScriptTestCase(TestCase):
def setUp(self):
user = ExtendUser.objects.create(username='yz2', first_name='Yu', last_name='Zhou')
script = Script.objects.create(name='noName',info='noUse',
script='<p>hostname</p><p>cat /etc/hosts</p>',
author=user,status=0)

def test_scriptcreate(self):
script = Script.objects.get(name='noName')
self.assertEqual(script.info,'noUse')

def test_scriptupdate(self):
script = Script.objects.get(name='noName')
script.status=1
script.save()
self.assertEqual(script.status,1)

def test_scriptremove(self):
Script.objects.filter(name='noName').delete()
self.assertEqual(Script.objects.filter(name='noName').count(),0)

class ScriptArgsTestCase(TestCase):
def setUp(self):
user = ExtendUser.objects.create(username='yz2', first_name='Yu', last_name='Zhou')
script = Script.objects.create(name='noName',info='noUse',
script='<p>hostname</p><p>cat /etc/hosts</p>',
author=user,status=0)
ScriptArgs.objects.create(args_name='prefix',args_value='/usr/local',script=script)

def test_scriptargscreate(self):
scriptargs = ScriptArgs.objects.get(args_name='prefix')
self.assertEqual(scriptargs.args_value,'/usr/local')

def test_scriptargsupdate(self):
ScriptArgs.objects.filter(args_name='prefix').update(args_value='/etc')
scriptargs = ScriptArgs.objects.get(args_name='prefix')
self.assertEqual(scriptargs.args_value,'/etc')

def test_scriptargsdelete(self):
ScriptArgs.objects.filter(args_name='prefix').delete()
self.assertEqual(ScriptArgs.objects.filter(args_name='prefix').count(), 0)


def test_scriptformat(self):
Script.objects.get(name='noName').formatScript()
self.assertEqual(1,1)
2 changes: 1 addition & 1 deletion apps/operation/utils/constant.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
'}\n'

SIMPLE_CASE_ITEM='\t\t\t\t--%s)\n' \
'\t\t\t\t%s="1"\n' \
'\t\t\t\t%s=$1\n' \
'\t\t\t\tshift\n' \
'\t\t\t\t;;\n'

Expand Down

0 comments on commit d9f70ef

Please sign in to comment.