~ubuntu-branches/ubuntu/raring/cinder/raring-updates

« back to all changes in this revision

Viewing changes to cinder/tests/api/v2/test_limits.py

Tags: upstream-2013.1~g2
ImportĀ upstreamĀ versionĀ 2013.1~g2

Show diffs side-by-side

added added

removed removed

Lines of Context:
159
159
                    },
160
160
 
161
161
                ],
162
 
                "absolute": {
163
 
                    "maxTotalVolumeGigabytes": 512,
164
 
                    "maxTotalVolumes": 5,
165
 
                    },
 
162
                "absolute": {"maxTotalVolumeGigabytes": 512,
 
163
                             "maxTotalVolumes": 5, },
166
164
            },
167
165
        }
168
166
        body = jsonutils.loads(response.body)
590
588
 
591
589
    def test_invalid_methods(self):
592
590
        """Only POSTs should work."""
593
 
        requests = []
594
591
        for method in ["GET", "PUT", "DELETE", "HEAD", "OPTIONS"]:
595
592
            request = webob.Request.blank("/", method=method)
596
593
            response = request.get_response(self.app)
776
773
                                "injected_file_content_bytes": 5}
777
774
 
778
775
    def test_build_limits(self):
 
776
        tdate = "2011-07-21T18:17:06Z"
779
777
        expected_limits = {
780
 
            "limits": {
781
 
                "rate": [
782
 
                    {
783
 
                        "uri": "*",
784
 
                        "regex": ".*",
785
 
                        "limit": [
786
 
                            {
787
 
                                "value": 10,
788
 
                                 "verb": "POST",
789
 
                                 "remaining": 2,
790
 
                                 "unit": "MINUTE",
791
 
                                 "next-available": "2011-07-21T18:17:06Z"
792
 
                            }
793
 
                        ]
794
 
                    },
795
 
                    {
796
 
                        "uri": "*/volumes",
797
 
                        "regex": "^/volumes",
798
 
                        "limit": [
799
 
                            {
800
 
                                "value": 50,
801
 
                                "verb": "POST",
802
 
                                "remaining": 10,
803
 
                                "unit": "DAY",
804
 
                                "next-available": "2011-07-21T18:17:06Z"
805
 
                            }
806
 
                        ]
807
 
                    }
808
 
                ],
809
 
                "absolute": {
810
 
                    "maxServerMeta": 1,
811
 
                    "maxImageMeta": 1,
812
 
                    "maxPersonality": 5,
813
 
                    "maxPersonalitySize": 5
814
 
                }
815
 
            }
816
 
        }
 
778
            "limits": {"rate": [{"uri": "*",
 
779
                                 "regex": ".*",
 
780
                                 "limit": [{"value": 10,
 
781
                                            "verb": "POST",
 
782
                                            "remaining": 2,
 
783
                                            "unit": "MINUTE",
 
784
                                            "next-available": tdate}]},
 
785
                                {"uri": "*/volumes",
 
786
                                 "regex": "^/volumes",
 
787
                                 "limit": [{"value": 50,
 
788
                                            "verb": "POST",
 
789
                                            "remaining": 10,
 
790
                                            "unit": "DAY",
 
791
                                            "next-available": tdate}]}],
 
792
                       "absolute": {"maxServerMeta": 1,
 
793
                                    "maxImageMeta": 1,
 
794
                                    "maxPersonality": 5,
 
795
                                    "maxPersonalitySize": 5}}}
817
796
 
818
797
        output = self.view_builder.build(self.rate_limits,
819
798
                                         self.absolute_limits)
842
821
        self.assertTrue(has_dec)
843
822
 
844
823
    def test_index(self):
 
824
        tdate = "2011-12-15T22:42:45Z"
845
825
        serializer = limits.LimitsTemplate()
846
 
        fixture = {
847
 
            "limits": {
848
 
                   "rate": [{
849
 
                         "uri": "*",
850
 
                         "regex": ".*",
851
 
                         "limit": [{
852
 
                              "value": 10,
853
 
                              "verb": "POST",
854
 
                              "remaining": 2,
855
 
                              "unit": "MINUTE",
856
 
                              "next-available": "2011-12-15T22:42:45Z"}]},
857
 
                          {"uri": "*/servers",
858
 
                           "regex": "^/servers",
859
 
                           "limit": [{
860
 
                              "value": 50,
861
 
                              "verb": "POST",
862
 
                              "remaining": 10,
863
 
                              "unit": "DAY",
864
 
                              "next-available": "2011-12-15T22:42:45Z"}]}],
865
 
                    "absolute": {"maxServerMeta": 1,
866
 
                                 "maxImageMeta": 1,
867
 
                                 "maxPersonality": 5,
868
 
                                 "maxPersonalitySize": 10240}}}
 
826
        fixture = {"limits": {"rate": [{"uri": "*",
 
827
                                        "regex": ".*",
 
828
                                        "limit": [{"value": 10,
 
829
                                                   "verb": "POST",
 
830
                                                   "remaining": 2,
 
831
                                                   "unit": "MINUTE",
 
832
                                                   "next-available": tdate}]},
 
833
                                       {"uri": "*/servers",
 
834
                                        "regex": "^/servers",
 
835
                                        "limit": [{"value": 50,
 
836
                                                   "verb": "POST",
 
837
                                                   "remaining": 10,
 
838
                                                   "unit": "DAY",
 
839
                                                   "next-available": tdate}]}],
 
840
                              "absolute": {"maxServerMeta": 1,
 
841
                                           "maxImageMeta": 1,
 
842
                                           "maxPersonality": 5,
 
843
                                           "maxPersonalitySize": 10240}}}
869
844
 
870
845
        output = serializer.serialize(fixture)
871
846
        root = etree.XML(output)
891
866
            for j, limit in enumerate(rate_limits):
892
867
                for key in ['verb', 'value', 'remaining', 'unit',
893
868
                            'next-available']:
894
 
                    self.assertEqual(limit.get(key),
895
 
                         str(fixture['limits']['rate'][i]['limit'][j][key]))
 
869
                    self.assertEqual(
 
870
                        limit.get(key),
 
871
                        str(fixture['limits']['rate'][i]['limit'][j][key]))
896
872
 
897
873
    def test_index_no_limits(self):
898
874
        serializer = limits.LimitsTemplate()