Skip to content

Commit

Permalink
Merge "[DM] Fixing the vnc load init data test cases" into R5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Zuul v3 CI authored and opencontrail-ci-admin committed Jul 6, 2018
2 parents fd6745e + 1582d20 commit 77c6319
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 55 deletions.
100 changes: 49 additions & 51 deletions src/config/api-server/vnc_cfg_api_server/tests/test_vnc_load_data.py
Expand Up @@ -9,6 +9,7 @@
import os
import logging
import json
import time

sys.path.append('../common/tests')
import test_case
Expand All @@ -18,54 +19,6 @@
logger.setLevel(logging.DEBUG)


# Positive test case - using the actual json & schema files
# Tags and Job templates should be created
class TestInitData1(test_case.ApiServerTestCase):
@classmethod
def setUpClass(cls, *args, **kwargs):
cls.console_handler = logging.StreamHandler()
cls.console_handler.setLevel(logging.DEBUG)
logger.addHandler(cls.console_handler)
super(TestInitData1, cls).setUpClass(
extra_config_knobs=[('DEFAULTS', 'fabric_ansible_dir',
"../fabric-ansible/ansible-playbooks/")])

# end setUpClass

@classmethod
def tearDownClass(cls, *args, **kwargs):
logger.removeHandler(cls.console_handler)
super(TestInitData1, cls).tearDownClass(*args, **kwargs)

# end tearDownClass

def test_load_init_data1(self):
expected_jb_count = 0
expected_tag_count = 0
exepected_object_type_count = 0

# read the conf file to get the actual count
with open("../fabric-ansible/ansible-playbooks/conf/predef_payloads.json", "r") as f:
json_data = json.load(f)

if json_data:
data = json_data.get("data")
exepected_object_type_count = len(data)
for d in data:
if d.get("object_type") == 'job_template':
expected_jb_count = len(d.get("objects"))
if d.get("object_type") == 'tag':
expected_tag_count = len(d.get("objects"))

self.assertEqual(exepected_object_type_count, 3)
jb_list = self._vnc_lib.job_templates_list()
self.assertTrue(jb_list)
self.assertEqual(len(jb_list.get('job-templates')), expected_jb_count)
tags = self._vnc_lib.tags_list()
self.assertTrue(tags)
self.assertEqual(len(tags.get('tags')), expected_tag_count)


# Testing when schema file is empty for the job template, tags and
# job templates should still be created
class TestInitData2(test_case.ApiServerTestCase):
Expand Down Expand Up @@ -119,6 +72,14 @@ def tearDownClass(cls, *args, **kwargs):
# end tearDownClass

def test_load_init_data_2(self):
ipam_fq_name = ['default-domain', 'default-project',
'default-network-ipam']
ipam_obj = self._vnc_lib.network_ipam_read(fq_name=ipam_fq_name)
while (True):
if (ipam_obj.get_perms2().global_access != 5):
time.sleep(10)
else:
break
jb_list = self._vnc_lib.job_templates_list()
self.assertTrue(len(jb_list.get('job-templates')) > 0)
tags = self._vnc_lib.tags_list()
Expand Down Expand Up @@ -175,6 +136,14 @@ def tearDownClass(cls, *args, **kwargs):
# end tearDownClass

def test_load_init_data_01(self):
ipam_fq_name = ['default-domain', 'default-project',
'default-network-ipam']
ipam_obj = self._vnc_lib.network_ipam_read(fq_name=ipam_fq_name)
while (True):
if (ipam_obj.get_perms2().global_access != 5):
time.sleep(10)
else:
break
jb_list = self._vnc_lib.job_templates_list()
self.assertEquals(len(jb_list.get('job-templates')), 0)
tags = self._vnc_lib.tags_list()
Expand Down Expand Up @@ -229,6 +198,14 @@ def tearDownClass(cls, *args, **kwargs):
# end tearDownClass

def test_load_init_data_02(self):
ipam_fq_name = ['default-domain', 'default-project',
'default-network-ipam']
ipam_obj = self._vnc_lib.network_ipam_read(fq_name=ipam_fq_name)
while (True):
if (ipam_obj.get_perms2().global_access != 5):
time.sleep(10)
else:
break
jb_list = self._vnc_lib.job_templates_list()
self.assertEquals(len(jb_list.get('job-templates')), 0)
tags = self._vnc_lib.tags_list()
Expand Down Expand Up @@ -280,12 +257,19 @@ def tearDownClass(cls, *args, **kwargs):
# end tearDownClass

def test_load_init_data_03(self):
ipam_fq_name = ['default-domain', 'default-project',
'default-network-ipam']
ipam_obj = self._vnc_lib.network_ipam_read(fq_name=ipam_fq_name)
while (True):
if (ipam_obj.get_perms2().global_access != 5):
time.sleep(10)
else:
break
jb_list = self._vnc_lib.job_templates_list()
self.assertEquals(len(jb_list.get('job-templates')), 0)
tags = self._vnc_lib.tags_list()
self.assertEquals(len(tags.get('tags')), 0)


# Testing when json is invalid
class TestInitDataError4(test_case.ApiServerTestCase):
@classmethod
Expand Down Expand Up @@ -314,12 +298,19 @@ def tearDownClass(cls, *args, **kwargs):
# end tearDownClass

def test_load_init_data_04(self):
ipam_fq_name = ['default-domain', 'default-project',
'default-network-ipam']
ipam_obj = self._vnc_lib.network_ipam_read(fq_name=ipam_fq_name)
while (True):
if (ipam_obj.get_perms2().global_access != 5):
time.sleep(10)
else:
break
jb_list = self._vnc_lib.job_templates_list()
self.assertEquals(len(jb_list.get('job-templates')), 0)
tags = self._vnc_lib.tags_list()
self.assertEquals(len(tags.get('tags')), 0)


# Testing when tag type is unknown
class TestInitDataError5(test_case.ApiServerTestCase):
@classmethod
Expand Down Expand Up @@ -367,8 +358,15 @@ def tearDownClass(cls, *args, **kwargs):
# end tearDownClass

def test_load_init_data_05(self):
ipam_fq_name = ['default-domain', 'default-project',
'default-network-ipam']
ipam_obj = self._vnc_lib.network_ipam_read(fq_name=ipam_fq_name)
while(True):
if (ipam_obj.get_perms2().global_access != 5):
time.sleep(10)
else:
break
jb_list = self._vnc_lib.job_templates_list()
self.assertEquals(len(jb_list.get('job-templates')), 0)
tags = self._vnc_lib.tags_list()
self.assertEquals(len(tags.get('tags')), 0)

Expand Up @@ -3300,6 +3300,10 @@ def _db_init_entries(self):
if int(self._args.worker_id) == 0:
self._db_conn.db_resync()

# Load init data for job playbooks like JobTemplates, Tags, etc
if self._args.enable_fabric_ansible:
self._load_init_data()

# make default ipam available across tenants for backward compatability
obj_type = 'network_ipam'
fq_name = ['default-domain', 'default-project', 'default-network-ipam']
Expand All @@ -3309,9 +3313,6 @@ def _db_init_entries(self):
obj_dict['perms2']['global_access'] = PERMS_RX
self._db_conn.dbe_update(obj_type, obj_uuid, obj_dict)

# Load init data for job playbooks like JobTemplates, Tags, etc
if self._args.enable_fabric_ansible:
self._load_init_data()
# end _db_init_entries

# Load init data for job playbooks like JobTemplates, Tags, etc
Expand Down Expand Up @@ -4728,4 +4729,3 @@ def server_main(args_str=None):

if __name__ == "__main__":
server_main()

0 comments on commit 77c6319

Please sign in to comment.