~jcsackett/charmworld/bac-tag-constraints

« back to all changes in this revision

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

  • Committer: Aaron Bentley
  • Date: 2013-02-12 18:57:02 UTC
  • mfrom: (149 charmworld)
  • mto: This revision was merged to the branch mainline in revision 150.
  • Revision ID: aaron@canonical.com-20130212185702-9gnf40ao17a7uw7v
Merged trunk into mongo-urls.

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
from mock import Mock
5
5
from mock import patch
6
6
 
7
 
from charmworld.jobs.store import run
 
7
from charmworld.jobs.worker import check_charms_store
8
8
from charmworld.testing import get_bad_mock
9
9
from charmworld.testing import JobTestBase
10
10
 
11
11
 
12
12
class TestStoreJob(JobTestBase):
13
13
 
14
 
    @patch('charmworld.jobs.store.check_store', get_bad_mock())
 
14
    # Patch has to happen along `worker` path rather than the `ingest` module
 
15
    # b/c of Mock/import interactions.
 
16
    @patch('charmworld.jobs.worker.check_store', get_bad_mock())
15
17
    def test_store_charms_error(self):
16
18
        handler = self.get_handler("charm.store")
17
19
        charm_data = {'branch_dir': 'foo', 'branch_spec': 'bar'}
18
20
        (in_queue, out_queue) = self.get_mongo_queues(data=charm_data)
19
 
        run(in_queue, out_queue)
 
21
        check_charms_store(in_queue, out_queue)
20
22
        log_messages = [record.getMessage() for record in handler.buffer]
21
23
        err_msg = ("store error on {u'branch_spec': u'bar', u'branch_dir': "
22
24
                   "u'foo'}: Exception forced by mock.")
23
25
        self.assertIn(err_msg, log_messages)
24
26
 
25
 
    @patch('charmworld.jobs.store.check_store', Mock())
 
27
    # Patch has to happen along `worker` path rather than the `ingest` module
 
28
    # b/c of Mock/import interactions.
 
29
    @patch('charmworld.jobs.worker.check_store', Mock())
26
30
    def test_store_charms_queue(self):
27
31
        charm_data = {'branch_dir': 'foo', 'branch_spec': 'bar'}
28
32
        (in_queue, out_queue) = self.get_mongo_queues(data=charm_data)
29
 
        run(in_queue, out_queue)
 
33
        check_charms_store(in_queue, out_queue)
30
34
        item = out_queue.next()
31
35
        self.assertEqual(
32
36
            {'branch_dir': 'foo', 'branch_spec': 'bar'}, item.payload)