Merge "[PATCH] Allow [:print:] chars for security group names"

This commit is contained in:
Jenkins
2012-06-01 17:02:50 +00:00
committed by Gerrit Code Review

View File

@@ -34,10 +34,14 @@ from nova.api.ec2 import ec2utils
from nova import block_device from nova import block_device
from nova import context from nova import context
from nova import exception from nova import exception
from nova import flags
from nova import test from nova import test
from nova import utils from nova import utils
FLAGS = flags.FLAGS
class FakeHttplibSocket(object): class FakeHttplibSocket(object):
"""a fake socket implementation for httplib.HTTPResponse, trivial""" """a fake socket implementation for httplib.HTTPResponse, trivial"""
def __init__(self, response_string): def __init__(self, response_string):
@@ -344,19 +348,37 @@ class ApiEc2TestCase(test.TestCase):
def test_group_name_valid_chars_security_group(self): def test_group_name_valid_chars_security_group(self):
""" Test that we sanely handle invalid security group names. """ Test that we sanely handle invalid security group names.
API Spec states we should only accept alphanumeric characters, EC2 API Spec states we should only accept alphanumeric characters,
spaces, dashes, and underscores. """ spaces, dashes, and underscores. Amazon implementation
self.expect_http() accepts more characters - so, [:print:] is ok. """
self.mox.ReplayAll()
# Test block group_name of non alphanumeric characters, spaces, bad_strict_ec2 = "aa \t\x01\x02\x7f"
# dashes, and underscores. bad_amazon_ec2 = "aa #^% -=99"
security_group_name = "aa #^% -=99" test_raise = [
(True, bad_amazon_ec2, "test desc"),
self.assertRaises(boto_exc.EC2ResponseError, (True, "test name", bad_amazon_ec2),
self.ec2.create_security_group, (False, bad_strict_ec2, "test desc"),
security_group_name, ]
'test group') for test in test_raise:
self.expect_http()
self.mox.ReplayAll()
FLAGS.ec2_strict_validation = test[0]
self.assertRaises(boto_exc.EC2ResponseError,
self.ec2.create_security_group,
test[1],
test[2])
test_accept = [
(False, bad_amazon_ec2, "test desc"),
(False, "test name", bad_amazon_ec2),
]
for test in test_accept:
self.expect_http()
self.mox.ReplayAll()
FLAGS.ec2_strict_validation = test[0]
self.ec2.create_security_group(test[1], test[2])
self.expect_http()
self.mox.ReplayAll()
self.ec2.delete_security_group(test[1])
def test_group_name_valid_length_security_group(self): def test_group_name_valid_length_security_group(self):
"""Test that we sanely handle invalid security group names. """Test that we sanely handle invalid security group names.