~jcsackett/charmworld/bac-tag-constraints

« back to all changes in this revision

Viewing changes to charmworld/jobs/tests/test_worker.py

  • Committer: Benji York
  • Date: 2013-07-19 15:48:27 UTC
  • mto: This revision was merged to the branch mainline in revision 320.
  • Revision ID: benji.york@canonical.com-20130719154827-ljfqd11uv1h754ti
make the worker able to handle multiple queues with custom workers

Show diffs side-by-side

added added

removed removed

Lines of Context:
80
80
            SuccessfulRun(),
81
81
            GatheringRun(),
82
82
        )
83
 
        worker = QueueWorker(ingest_jobs, self.queue)
 
83
        queue_jobs = {
 
84
            self.queue: ingest_jobs
 
85
        }
 
86
        worker = QueueWorker(queue_jobs)
84
87
        worker.run(quit_on_empty=True)
85
88
 
86
89
        self.assertEqual(0, self.queue.size())
93
96
 
94
97
    def test_failure_while_running(self):
95
98
        ingest_jobs = (FailureRun(), GatheringRun())
96
 
        worker = QueueWorker(ingest_jobs, self.queue)
 
99
        queue_jobs = {
 
100
            self.queue: ingest_jobs
 
101
        }
 
102
        worker = QueueWorker(queue_jobs)
97
103
        worker.run(quit_on_empty=True)
98
104
 
99
105
        self.assertEqual(0, self.queue.size())
122
128
            SuccessfulRun(),
123
129
            GatheringRun(),
124
130
        )
125
 
        worker = QueueWorker(ingest_jobs, LockedJobQueue)
 
131
        worker = QueueWorker({LockedJobQueue: ingest_jobs})
126
132
        worker.run(quit_on_empty=True)
127
133
 
128
134
    def test_ingest_job_contract(self):
129
135
        # All ingest jobs accept the right inputs.
130
136
        ingest_jobs = [create_autospec(job)() for job in DEFAULT_JOBS]
131
 
        worker = QueueWorker(ingest_jobs, self.queue)
 
137
        worker = QueueWorker({self.queue: ingest_jobs})
132
138
        worker.run(quit_on_empty=True)
133
139
        self.assertEqual(0, self.queue.size())
134
140
 
135
141
    def test_interval_is_int(self):
136
 
        worker = QueueWorker([], self.queue)
 
142
        worker = QueueWorker({self.queue: []})
137
143
        self.assertIs(int, type(worker.interval),
138
144
                      'QueueWorker.interval is a %s, not an int.' %
139
145
                      type(worker.interval))