Skip to content

Commit

Permalink
Validate fq_name only if it is present in obj_dict
Browse files Browse the repository at this point in the history
Also added basic CRUD test case for VDNS and VDNS record

Change-Id: I9a3af13add582096890172ea6122ab02192d4813
Closes-Bug: #1459829
(cherry picked from commit a7f4472)
  • Loading branch information
Sachin Bansal committed May 29, 2015
1 parent 15e99d2 commit f51d8bb
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 18 deletions.
21 changes: 9 additions & 12 deletions src/config/api-server/tests/test_crud_basic.py
Expand Up @@ -71,11 +71,18 @@ def tearDown(self):
# end tearDown

def test_virtual_DNS_crud(self):
pass
vdns_fixt = self.useFixture(VirtualDnsTestFixtureGen(self._vnc_lib))
vdns = vdns_fixt._obj
d = vdns.get_virtual_DNS_data()
d.set_domain_name('test-domain')
vdns.set_virtual_DNS_data(d)
self._vnc_lib.virtual_DNS_update(vdns)
# end test_virtual_DNS_crud

def test_virtual_DNS_record_crud(self):
pass
vdns_fixt = self.useFixture(VirtualDnsTestFixtureGen(self._vnc_lib))
self.useFixture(VirtualDnsRecordTestFixtureGen(self._vnc_lib,
parent_fixt=vdns_fixt))
# end test_virtual_DNS_record_crud

def test_access_control_list_crud(self):
Expand Down Expand Up @@ -106,16 +113,6 @@ def test_id_perms(self):
# update id, verify fails
pass
# end test_id_perms

def test_access_control_list_crud(self):
sg_fixt = self.useFixture(SecurityGroupTestFixtureGen(self._vnc_lib))
self.useFixture(AccessControlListTestFixtureGen(
self._vnc_lib, parent_fixt=sg_fixt))

vn_fixt = self.useFixture(VirtualNetworkTestFixtureGen(self._vnc_lib))
self.useFixture(AccessControlListTestFixtureGen(
self._vnc_lib, parent_fixt=vn_fixt))
# end test_access_control_list_crud
# end class TestCrudBasic


Expand Down
13 changes: 7 additions & 6 deletions src/config/api-server/vnc_cfg_types.py
Expand Up @@ -754,12 +754,13 @@ def is_valid_ipv4_address(cls, address):

@classmethod
def validate_dns_server(cls, obj_dict, db_conn):
virtual_dns = obj_dict['fq_name'][1]
disallowed = re.compile("[^A-Z\d-]", re.IGNORECASE)
if disallowed.search(virtual_dns) or virtual_dns.startswith("-"):
return (False, (403,
"Special characters are not allowed in " +
"Virtual DNS server name"))
if 'fq_name' in obj_dict:
virtual_dns = obj_dict['fq_name'][1]
disallowed = re.compile("[^A-Z\d-]", re.IGNORECASE)
if disallowed.search(virtual_dns) or virtual_dns.startswith("-"):
return (False, (403,
"Special characters are not allowed in " +
"Virtual DNS server name"))

vdns_data = obj_dict['virtual_DNS_data']
if not cls.is_valid_dns_name(vdns_data['domain_name']):
Expand Down

0 comments on commit f51d8bb

Please sign in to comment.