~ubuntu-cloud-archive/ubuntu/precise/nova/trunk

« back to all changes in this revision

Viewing changes to nova/tests/api/openstack/compute/contrib/test_security_groups.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short, Chuck Short, Soren Hansen
  • Date: 2012-09-07 17:49:53 UTC
  • mfrom: (1.1.61)
  • Revision ID: package-import@ubuntu.com-20120907174953-oapuvix1jxm830he
Tags: 2012.2~rc1~20120907.15996-0ubuntu1
[ Chuck Short ]
* New upstream release.
* debian/nova-common.postinst: Drop nova_sudoers permission changing
  since we do it in the debian/rules. (LP: #995285)

[ Soren Hansen ]
* Update debian/watch to account for symbolically named tarballs and
  use newer URL.
* Fix Launchpad URLs in debian/watch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
from nova import exception
30
30
from nova import flags
31
31
from nova.openstack.common import jsonutils
 
32
from nova import quota
32
33
from nova import test
33
34
from nova.tests.api.openstack import fakes
34
35
 
121
122
            security_groups.ServerSecurityGroupController())
122
123
        self.manager = security_groups.SecurityGroupActionController()
123
124
 
 
125
    def _assert_no_security_groups_reserved(self, context):
 
126
        """Check that no reservations are leaked during tests."""
 
127
        result = quota.QUOTAS.get_project_quotas(context, context.project_id)
 
128
        self.assertEqual(result['security_groups']['reserved'], 0)
 
129
 
124
130
    def test_create_security_group(self):
125
131
        sg = security_group_template()
126
132
 
138
144
        self.assertRaises(webob.exc.HTTPUnprocessableEntity,
139
145
                          self.controller.create, req, sg)
140
146
 
 
147
        self._assert_no_security_groups_reserved(req.environ['nova.context'])
 
148
 
141
149
    def test_create_security_group_with_no_description(self):
142
150
        sg = security_group_template()
143
151
        del sg['description']
146
154
        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,
147
155
                          req, {'security_group': sg})
148
156
 
 
157
        self._assert_no_security_groups_reserved(req.environ['nova.context'])
 
158
 
149
159
    def test_create_security_group_with_blank_name(self):
150
160
        sg = security_group_template(name='')
151
161
 
153
163
        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,
154
164
                          req, {'security_group': sg})
155
165
 
 
166
        self._assert_no_security_groups_reserved(req.environ['nova.context'])
 
167
 
156
168
    def test_create_security_group_with_whitespace_name(self):
157
169
        sg = security_group_template(name=' ')
158
170
 
160
172
        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,
161
173
                          req, {'security_group': sg})
162
174
 
 
175
        self._assert_no_security_groups_reserved(req.environ['nova.context'])
 
176
 
163
177
    def test_create_security_group_with_blank_description(self):
164
178
        sg = security_group_template(description='')
165
179
 
167
181
        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,
168
182
                          req, {'security_group': sg})
169
183
 
 
184
        self._assert_no_security_groups_reserved(req.environ['nova.context'])
 
185
 
170
186
    def test_create_security_group_with_whitespace_description(self):
171
187
        sg = security_group_template(description=' ')
172
188
 
174
190
        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,
175
191
                          req, {'security_group': sg})
176
192
 
 
193
        self._assert_no_security_groups_reserved(req.environ['nova.context'])
 
194
 
177
195
    def test_create_security_group_with_duplicate_name(self):
178
196
        sg = security_group_template()
179
197
 
185
203
        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,
186
204
                          req, {'security_group': sg})
187
205
 
 
206
        self._assert_no_security_groups_reserved(req.environ['nova.context'])
 
207
 
188
208
    def test_create_security_group_with_no_body(self):
189
209
        req = fakes.HTTPRequest.blank('/v2/fake/os-security-groups')
190
210
        self.assertRaises(webob.exc.HTTPUnprocessableEntity,
191
211
                          self.controller.create, req, None)
192
212
 
 
213
        self._assert_no_security_groups_reserved(req.environ['nova.context'])
 
214
 
193
215
    def test_create_security_group_with_no_security_group(self):
194
216
        body = {'no-securityGroup': None}
195
217
 
197
219
        self.assertRaises(webob.exc.HTTPUnprocessableEntity,
198
220
                          self.controller.create, req, body)
199
221
 
 
222
        self._assert_no_security_groups_reserved(req.environ['nova.context'])
 
223
 
200
224
    def test_create_security_group_above_255_characters_name(self):
201
225
        sg = security_group_template(name='1234567890' * 26)
202
226
 
204
228
        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,
205
229
                          req, {'security_group': sg})
206
230
 
 
231
        self._assert_no_security_groups_reserved(req.environ['nova.context'])
 
232
 
207
233
    def test_create_security_group_above_255_characters_description(self):
208
234
        sg = security_group_template(description='1234567890' * 26)
209
235
 
211
237
        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,
212
238
                          req, {'security_group': sg})
213
239
 
 
240
        self._assert_no_security_groups_reserved(req.environ['nova.context'])
 
241
 
214
242
    def test_create_security_group_non_string_name(self):
215
243
        sg = security_group_template(name=12)
216
244
 
218
246
        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,
219
247
                          req, {'security_group': sg})
220
248
 
 
249
        self._assert_no_security_groups_reserved(req.environ['nova.context'])
 
250
 
221
251
    def test_create_security_group_non_string_description(self):
222
252
        sg = security_group_template(description=12)
223
253
 
225
255
        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create,
226
256
                          req, {'security_group': sg})
227
257
 
 
258
        self._assert_no_security_groups_reserved(req.environ['nova.context'])
 
259
 
228
260
    def test_create_security_group_quota_limit(self):
229
261
        req = fakes.HTTPRequest.blank('/v2/fake/os-security-groups')
230
262
        for num in range(1, FLAGS.quota_security_groups + 1):