11from datetime import datetime , timedelta
22from django .core .management import call_command , CommandError
33from django .core .urlresolvers import reverse
4- from django .test import TestCase , LiveServerTestCase
4+ from django .test import TestCase
55from django .test .utils import override_settings
6- from django_dbq .apps .core .management .commands .worker import process_job
7- from django_dbq .apps .core .models import Job
8- from django_dbq .apps .core .utils .requests_storage import SessionStorage
9- from requests import Session
10- from rest_framework import status
11- from rest_framework .test import APITestCase
6+ from django_dbq .management .commands .worker import process_job
7+ from django_dbq .models import Job
128from StringIO import StringIO
139
1410
@@ -33,32 +29,6 @@ def creation_hook(job):
3329 job .workspace ['output' ] = 'creation hook ran'
3430
3531
36- @override_settings (JOBS = {'testjob' : {'tasks' : ['a' ]}})
37- class JobAPITestCase (APITestCase ):
38-
39- def test_create_job (self ):
40- url = reverse ('create_job' )
41- response = self .client .post (url , {'name' : 'testjob' })
42- self .assertEqual (response .status_code , status .HTTP_201_CREATED )
43- self .assertTrue ('url' in response .data )
44- self .assertEqual (Job .objects .count (), 1 )
45- job = Job .objects .get ()
46- self .assertEqual (job .name , 'testjob' )
47- self .assertEqual (job .state , job .STATES .READY )
48-
49- def test_create_job_with_invalid_name (self ):
50- url = reverse ('create_job' )
51- response = self .client .post (url , {'name' : 'some-other-job-name' })
52- self .assertEqual (response .status_code , status .HTTP_400_BAD_REQUEST )
53-
54- def test_job_detail (self ):
55- job = Job .objects .create (name = 'testjob' )
56- url = reverse ('job_detail' , kwargs = {'pk' : job .pk })
57- response = self .client .get (url )
58- self .assertEqual (response .status_code , 200 )
59- self .assertEqual (response .data ['name' ], 'testjob' )
60-
61-
6232@override_settings (JOBS = {'testjob' : {'tasks' : ['a' ]}})
6333class JobManagementCommandTestCase (TestCase ):
6434
@@ -112,7 +82,7 @@ def test_task_sequence(self):
11282 self .assertEqual (job .next_task , '' )
11383
11484
115- @override_settings (JOBS = {'testjob' : {'tasks' : ['importer.apps.core .tests.test_task' ]}})
85+ @override_settings (JOBS = {'testjob' : {'tasks' : ['django_dbq .tests.test_task' ]}})
11686class ProcessJobTestCase (TestCase ):
11787
11888 def test_process_job (self ):
@@ -122,7 +92,7 @@ def test_process_job(self):
12292 self .assertEqual (job .state , Job .STATES .COMPLETE )
12393
12494
125- @override_settings (JOBS = {'testjob' : {'tasks' : ['importer.apps.core. tests.test_task' ], 'creation_hook' : 'importer.apps.core .tests.creation_hook' }})
95+ @override_settings (JOBS = {'testjob' : {'tasks' : ['django_dbq. tests.test_task' ], 'creation_hook' : 'django_dbq .tests.creation_hook' }})
12696class JobCreationHookTestCase (TestCase ):
12797
12898 def test_creation_hook (self ):
@@ -139,7 +109,7 @@ def test_creation_hook_only_runs_on_create(self):
139109 self .assertEqual (job .workspace ['output' ], 'creation hook output removed' )
140110
141111
142- @override_settings (JOBS = {'testjob' : {'tasks' : ['importer.apps.core. tests.failing_task' ], 'failure_hook' : 'importer.apps.core .tests.failure_hook' }})
112+ @override_settings (JOBS = {'testjob' : {'tasks' : ['django_dbq. tests.failing_task' ], 'failure_hook' : 'django_dbq .tests.failure_hook' }})
143113class JobFailureHookTestCase (TestCase ):
144114
145115 def test_failure_hook (self ):
@@ -148,41 +118,3 @@ def test_failure_hook(self):
148118 job = Job .objects .get ()
149119 self .assertEqual (job .state , Job .STATES .FAILED )
150120 self .assertEqual (job .workspace ['output' ], 'failure hook ran' )
151-
152-
153- @override_settings (JOBS = {'testjob' : {'tasks' : ['importer.apps.core.tests.workspace_test_task' ]}})
154- class WorkspaceTestCase (APITestCase ):
155-
156- def test_basic_args (self ):
157- url = reverse ('create_job' )
158- self .client .post (url , {'name' : 'testjob' , 'workspace' : '{"input": "input"}' })
159- process_job ()
160- job = Job .objects .get ()
161- self .assertEqual (job .workspace ['output' ], 'input-output' )
162-
163- def test_json_post (self ):
164- """Ensures that we can also create a workspace by sending JSON"""
165- url = reverse ('create_job' )
166- self .client .post (url , {'name' : 'testjob' , 'workspace' : {'input' : 'input' }}, format = 'json' )
167- process_job ()
168- job = Job .objects .get ()
169- self .assertEqual (job .workspace ['output' ], 'input-output' )
170-
171-
172- class RequestsStorageTestCase (LiveServerTestCase ):
173-
174- def test_requests_storage (self ):
175- session = Session ()
176- storage = SessionStorage (session )
177- url = "%s/" % self .live_server_url
178- session .get (url )
179- request_list = storage .get_requests ()
180- self .assertEqual (len (request_list ), 1 )
181- self .assertEqual (request_list [0 ]['request' ]['url' ], url )
182- self .assertEqual (request_list [0 ]['response' ]['status_code' ], 200 )
183-
184- for _ in range (5 ):
185- session .get (url )
186-
187- request_list = storage .get_requests ()
188- self .assertEqual (len (request_list ), 6 )
0 commit comments