From f51d8bb5a3d423eeb76e6b3c59476d0a72d1ff90 Mon Sep 17 00:00:00 2001 From: Sachin Bansal Date: Thu, 28 May 2015 17:37:14 -0700 Subject: [PATCH] Validate fq_name only if it is present in obj_dict Also added basic CRUD test case for VDNS and VDNS record Change-Id: I9a3af13add582096890172ea6122ab02192d4813 Closes-Bug: #1459829 (cherry picked from commit a7f447237ba4a8513bc70aa50e6622e30ba9947b) --- .../api-server/tests/test_crud_basic.py | 21 ++++++++----------- src/config/api-server/vnc_cfg_types.py | 13 ++++++------ 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/config/api-server/tests/test_crud_basic.py b/src/config/api-server/tests/test_crud_basic.py index a883d66479d..0f333f573de 100644 --- a/src/config/api-server/tests/test_crud_basic.py +++ b/src/config/api-server/tests/test_crud_basic.py @@ -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): @@ -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 diff --git a/src/config/api-server/vnc_cfg_types.py b/src/config/api-server/vnc_cfg_types.py index 4dd4374c748..c75a0d905b3 100644 --- a/src/config/api-server/vnc_cfg_types.py +++ b/src/config/api-server/vnc_cfg_types.py @@ -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']):