Changeset a2b0582
- Timestamp:
- Jan 11, 2012, 10:22:47 PM (12 years ago)
- Branches:
- no-cups
- Children:
- d518298
- Parents:
- 345c476
- git-author:
- Isaac Evans <ine@…> (01/11/12 22:22:47)
- git-committer:
- Isaac Evans <ine@…> (01/11/12 22:22:47)
- Location:
- server
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
server/lib/gutenbach/server/job.py
r345c476 ra2b0582 153 153 @property 154 154 def state(self): 155 """ 156 State transitions are as follows: 157 HELD ---> PENDING ---> PROCESSING <--> STOPPED (aka paused) 158 ^ |---> CANCELLED 159 | |---> ABORTED 160 | |---> COMPLETE ---| 161 |--------------------------------| 162 """ 155 163 if self.is_ready: 156 164 state = States.PENDING -
server/test/server/printer.py
r09790fe ra2b0582 1 from gutenbach.server import GutenbachJob 2 from gutenbach.server import GutenbachPrinter 3 from gutenbach.server import errors 4 5 from gutenbach.ipp import JobStates as States 6 import unittest 7 import tempfile 8 9 class TestGutenbachPrinter(unittest.TestCase): 10 11 testJobName = "unique_test_job" 12 testJobRequestingUserName = "unique_test_username" 13 14 def setUp(self): 15 self.printer = GutenbachPrinter("test") 16 self.printer.start() 17 18 def tearDown(self): 19 self.printer.running = False 20 self.printer.join() 21 22 # nb: this test assumes that pause_printer will block until it has paused. 23 def testPausePrinter(self): 24 self.printer.pause_printer() 25 self.assertEqual(self.printer.paused, True) 26 27 # check that no jobs are playing 28 for job_id, job in self.printer.jobs.items(): 29 self.assertEqual(job.is_playing(), False) 30 31 def createTestJob(self): 32 return self.printer.create_job(self.testJobRequestingUserName, self.testJobName) 33 34 def testCreateJob(self): 35 countBeforeAdded = len(self.printer.jobs) 36 job_id = self.createTestJob() 37 self.assertEqual(len(self.printer.jobs) - 1, countBeforeAdded) 38 39 queued_job = self.printer.get_job(job_id) 40 b = queued_job is not None 41 self.assertTrue(b) 42 self.assertEqual(queued_job.name, self.testJobName) 43 self.assertEqual(queued_job.creator, self.testJobRequestingUserName) 44 self.assertEqual(queued_job.state, States.HELD) 45 46 def testResumePrinter(self): 47 self.printer.resume_printer() 48 self.assertEqual(self.printer.paused, False) 49 50 def testJobPlays(self): 51 job_id = self.createTestJob() 52 self.assertTrue(job_id in self.printer.pending_jobs) 53 self.assertFalse(job_id in self.printer.finished_jobs) 54 self.printer.complete_job() 55 while (self.printer.get_job(job_id).state == States.PENDING): 56 time.sleep(0.1) 57 58 non_pending_job = self.printer.get_job(job_id) 59 self.assertTrue(non_pending_job.state == States.COMPLETE) 60 61 self.assertFalse(job_id in self.printer.pending_jobs) 62 self.assertTrue(job_id in self.printer.finished_jobs) 63 64 if __name__ == "__main__": 65 unittest.main()
Note: See TracChangeset
for help on using the changeset viewer.