Merge "[PATCH] Allow [:print:] chars for security group names"
This commit is contained in:
@@ -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.
|
||||||
|
Reference in New Issue
Block a user