Ignore:
Timestamp:
Jan 12, 2012, 12:58:40 AM (12 years ago)
Author:
Jessica B. Hamrick <jhamrick@…>
Branches:
no-cups
Children:
609a9b0
Parents:
190bfb4
git-author:
Jessica B. Hamrick <jhamrick@…> (01/12/12 00:58:40)
git-committer:
Jessica B. Hamrick <jhamrick@…> (01/12/12 00:58:40)
Message:

Test cases for playing/pausing/stopping jobs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • server/test/server/job.py

    r951ab1b r2620618  
    55import tempfile
    66import sys
     7import time
    78
    89def make_tempfile():
     
    113114            priority=1)
    114115        self.assertRaises(errors.InvalidDocument, job.spool, "hello")
     116        self.assertRaises(errors.InvalidDocument, job.spool, [])
     117        self.assertRaises(errors.InvalidDocument, job.spool, 12345)
     118
     119        fh = make_tempfile()
     120        job = GutenbachJob(
     121            job_id=1,
     122            creator="foo",
     123            name="test",
     124            priority=1,
     125            document=fh)
     126        self.assertRaises(errors.InvalidJobStateException, job.spool, "hello")
     127        self.assertRaises(errors.InvalidJobStateException, job.spool, [])
     128        self.assertRaises(errors.InvalidJobStateException, job.spool, 12345)
     129
     130class TestOperations(unittest.TestCase):
     131
     132    def setUp(self):
     133        fh = make_tempfile()
     134        self.job = GutenbachJob(
     135            job_id=1,
     136            creator="foo",
     137            name="test",
     138            priority=1,
     139            document=fh)
     140        self.job.player._dryrun = True
     141
     142    def testPlay(self):
     143        self.job.play()
     144        time.sleep(0.01)
     145        self.assertTrue(self.job.is_playing)
     146
     147        while self.job.is_playing:
     148            time.sleep(0.1)
     149
     150        self.assertTrue(self.job.is_done)
     151        self.assertTrue(self.job.is_completed)
     152        self.assertFalse(self.job.is_aborted)
     153        self.assertFalse(self.job.is_cancelled)
     154
     155    def testPause(self):
     156        self.job.play()
     157        time.sleep(0.01)
     158        self.assertTrue(self.job.is_playing)
     159        self.assertFalse(self.job.is_paused)
     160
     161        self.job.pause()
     162        self.assertTrue(self.job.is_playing)
     163        self.assertTrue(self.job.is_paused)
     164
     165        time.sleep(0.6)
     166        self.assertTrue(self.job.is_playing)
     167        self.assertTrue(self.job.is_paused)
     168
     169        self.job.pause()
     170        self.assertTrue(self.job.is_playing)
     171        self.assertFalse(self.job.is_paused)
    115172       
    116 class TestGoodGutenbachJob(unittest.TestCase):
    117 
    118     def setUp(self):
    119         self.job = GutenbachJob(job_id=1, creator="foo", name="test")
    120 
    121     def testSpool(self):
    122         fh = make_tempfile()
    123         self.assertTrue(self.job.is_valid)
    124         self.assertFalse(self.job.is_ready)
    125         self.job.spool(fh)
    126         self.assertTrue(self.job.is_ready)
    127        
    128         # Verify various properties
    129         self.assertEqual(self.job.document, fh.name)
    130         self.assertNotEqual(self.job.player, None)
    131         self.assertEqual(self.job.state, States.PENDING)
     173        while self.job.is_playing:
     174            time.sleep(0.1)
     175           
     176        self.assertTrue(self.job.is_done)
     177        self.assertTrue(self.job.is_completed)
     178        self.assertFalse(self.job.is_aborted)
     179        self.assertFalse(self.job.is_cancelled)
     180
     181    def testCancel(self):
     182        self.job.play()
     183        time.sleep(0.01)
     184        self.assertTrue(self.job.is_playing)
     185        self.assertFalse(self.job.is_cancelled)
     186
     187        self.job.cancel()
     188        time.sleep(0.01)
     189        self.assertFalse(self.job.is_playing)
     190        self.assertTrue(self.job.is_done)
     191        self.assertTrue(self.job.is_cancelled)
     192        self.assertFalse(self.job.is_aborted)
     193
     194    def testAbort(self):
     195        self.job.play()
     196        time.sleep(0.01)
     197        self.assertTrue(self.job.is_playing)
     198        self.assertFalse(self.job.is_aborted)
    132199
    133200        self.job.abort()
    134 
     201        time.sleep(0.01)
     202        self.assertFalse(self.job.is_playing)
     203        self.assertTrue(self.job.is_done)
     204        self.assertFalse(self.job.is_cancelled)
     205        self.assertTrue(self.job.is_aborted)
    135206
    136207if __name__ == "__main__":
Note: See TracChangeset for help on using the changeset viewer.