~jcsackett/charmworld/bac-tag-constraints

« back to all changes in this revision

Viewing changes to charmworld/views/tests/test_api.py

  • Committer: Tarmac
  • Author(s): Brad Crittenden
  • Date: 2013-08-23 22:01:47 UTC
  • mfrom: (358.1.14 official-bundle-json)
  • Revision ID: tarmac-20130823220147-z0pg084iaro0afyh
[r=sinzui][bug=1215473][author=bac] Support official/promulgated bundles.  Change bundle to store basket_name and basket_revision separately rather than as on combined basket_id with name/rev.  Always use 'bundles' in the path for web and api requests.

Show diffs side-by-side

added added

removed removed

Lines of Context:
719
719
            _id=bundle.id,
720
720
            name=bundle.name,
721
721
            owner=bundle.owner,
722
 
            basket=bundle.basket,
 
722
            basket_name=bundle.basket_name,
 
723
            basket_revision=bundle.basket_revision,
723
724
            title='',
724
725
            data=dict(services=dict(),
725
726
                      relations=dict(),
744
745
    def test_invalid_path(self):
745
746
        self.makeBundle(name='bat')
746
747
        with self.assertRaises(HTTPNotFound):
747
 
            self.get_response('bundle', 'foo')
 
748
            self.get_response('bundles', 'foo')
748
749
 
749
750
    def test_not_found(self):
750
751
        self.makeBundle(name='bat')
751
 
        response = self.get_response('bundle', 'foo/4/bar')
 
752
        response = self.get_response('bundles', 'foo/4/bar')
752
753
        self.assertEqual(404, response.status_code)
753
754
 
754
755
    def test_no_path(self):
755
756
        with self.assertRaises(HTTPNotFound):
756
 
            self.get_response('bundle', remainder=None)
 
757
            self.get_response('bundles', remainder=None)
757
758
 
758
759
    def test_valid_lookup_unpromulgated(self):
759
 
        self.makeBundle(name='bat', owner='bac', basket='byobu/4')
760
 
        response = self.get_response('bundle', '~bac/byobu/4/bat')
 
760
        self.makeBundle(name='bat', owner='bac', basket_with_rev='byobu/4')
 
761
        response = self.get_response('bundles', '~bac/byobu/4/bat')
761
762
        self.assertEqual(200, response.status_code)
762
 
        response = self.get_response('bundle', 'byobu/4/bat')
 
763
        response = self.get_response('bundles', 'byobu/4/bat')
763
764
        self.assertEqual(404, response.status_code)
764
765
 
765
766
    def test_valid_lookup_promulgated(self):
766
767
        self.makeBundle(
767
 
            name='bat', owner='bac', basket='byobu/4',
 
768
            name='bat', owner='bac', basket_with_rev='byobu/4',
768
769
            promulgated=True)
769
770
        # Can look up via owner-based id and short id.
770
 
        response = self.get_response('bundle', '~bac/byobu/4/bat')
771
 
        self.assertEqual(200, response.status_code)
772
 
        response = self.get_response('bundle', 'byobu/4/bat')
 
771
        response = self.get_response('bundles', '~bac/byobu/4/bat')
 
772
        self.assertEqual(200, response.status_code)
 
773
        response = self.get_response('bundles', '~bac/byobu/bat')
 
774
        self.assertEqual(200, response.status_code)
 
775
        response = self.get_response('bundles', 'byobu/bat')
773
776
        self.assertEqual(200, response.status_code)
774
777
 
775
778
    def test_results_match(self):
776
 
        self.makeBundle(name='bat', owner='bac', basket='byobu/4')
777
 
        response = self.get_response('bundle', '~bac/byobu/4/bat')
 
779
        self.makeBundle(name='bat', owner='bac', basket_with_rev='byobu/4')
 
780
        response = self.get_response('bundles', '~bac/byobu/4/bat')
778
781
        self.assertEqual(200, response.status_code)
779
782
        self.assertEqual(
780
783
            response.json,
781
784
            {
782
 
                u'basket': u'byobu/4',
 
785
                u'basket_name': u'byobu',
 
786
                u'basket_revision': 4,
783
787
                u'branch_deleted': False,
784
788
                u'data': {
785
789
                    u'series': u'precise',