More cleanup for scale test.
Re-use the code from vsg test and add interfaces in vsg test case to be usable from scale tests.
Change-Id: I7213151d5186ee2f5f96733fe1a0231d63c4391c
diff --git a/src/test/vsg/vsgTest.py b/src/test/vsg/vsgTest.py
index 6fa22f1..ee192ba 100644
--- a/src/test/vsg/vsgTest.py
+++ b/src/test/vsg/vsgTest.py
@@ -62,13 +62,17 @@
NUM_SUBSCRIBERS = 5
@classmethod
- def setUpCordApi(cls):
- num_subscribers = max(cls.NUM_SUBSCRIBERS, 5)
+ def setUpCordApi(cls, **subscriber_config):
+ num_subscribers = subscriber_config.get('num_subscribers', cls.NUM_SUBSCRIBERS)
+ account_num = subscriber_config.get('account_num', cls.SUBSCRIBER_ACCOUNT_NUM)
+ s_tag = subscriber_config.get('s_tag', cls.SUBSCRIBER_S_TAG)
+ c_tag = subscriber_config.get('c_tag', cls.SUBSCRIBER_C_TAG)
+ subscribers_per_s_tag = subscriber_config.get('subscribers_per_s_tag', cls.SUBSCRIBERS_PER_S_TAG)
cls.cord_subscriber = CordSubscriberUtils(num_subscribers,
- account_num = cls.SUBSCRIBER_ACCOUNT_NUM,
- s_tag = cls.SUBSCRIBER_S_TAG,
- c_tag = cls.SUBSCRIBER_C_TAG,
- subscribers_per_s_tag = cls.SUBSCRIBERS_PER_S_TAG)
+ account_num = account_num,
+ s_tag = s_tag,
+ c_tag = c_tag,
+ subscribers_per_s_tag = subscribers_per_s_tag)
cls.restApiXos = XosUtils.getRestApi()
@classmethod
@@ -110,7 +114,7 @@
OnosCtrl.config(cfg, controller = cls.HEAD_NODE)
@classmethod
- def setUpClass(cls):
+ def vsgSetup(cls, **subscriber_config):
cls.controllers = get_controllers()
cls.controller = cls.controllers[0]
cls.cli = None
@@ -150,16 +154,25 @@
cls.vcpe_container = vcpe_container_reserved or vcpe_container
cls.vcpe_dhcp = vcpe_dhcp_reserved or vcpe_dhcp
VSGAccess.setUp()
- cls.setUpCordApi()
+ cls.setUpCordApi(**subscriber_config)
if cls.on_pod is True:
cls.openVCPEAccess(cls.cord_subscriber.volt_subscriber_info)
@classmethod
- def tearDownClass(cls):
+ def setUpClass(cls):
+ num_subscribers = max(cls.NUM_SUBSCRIBERS, 5)
+ cls.vsgSetup(num_subscribers = num_subscribers)
+
+ @classmethod
+ def vsgTeardown(cls):
VSGAccess.tearDown()
if cls.on_pod is True:
cls.closeVCPEAccess(cls.cord_subscriber.volt_subscriber_info)
+ @classmethod
+ def tearDownClass(cls):
+ cls.vsgTeardown()
+
def onos_shutdown(self, controller = None):
status = True
cli = Onos.cliEnter(onos_ip = controller)
@@ -2314,10 +2327,11 @@
volt_subscriber_info = volt_subscriber_info)
log.info('Created reserved subscriber %s' %(subId))
- def test_vsg_xos_subscriber_create_all(self):
+ def vsg_create(self, num_subscribers):
if self.on_pod is False:
return
- for index in xrange(len(self.cord_subscriber.subscriber_info)):
+ num_subscribers = min(num_subscribers, len(self.cord_subscriber.subscriber_info))
+ for index in xrange(num_subscribers):
#check if the index exists
subId = self.vsg_xos_subscriber_id(index)
if subId and subId != '0':
@@ -2325,14 +2339,21 @@
subId = self.vsg_xos_subscriber_create(index)
log.info('Created Subscriber %s' %(subId))
- def test_vsg_xos_subscriber_delete_all(self):
+ def test_vsg_xos_subscriber_create_all(self):
+ self.vsg_create(len(self.cord_subscriber.subscriber_info))
+
+ def vsg_delete(self, num_subscribers):
if self.on_pod is False:
return
- for index in xrange(len(self.cord_subscriber.subscriber_info)):
+ num_subscribers = min(num_subscribers, len(self.cord_subscriber.subscriber_info))
+ for index in xrange(num_subscribers):
subId = self.vsg_xos_subscriber_id(index)
if subId and subId != '0':
self.vsg_xos_subscriber_delete(index, subId = subId)
+ def test_vsg_xos_subscriber_delete_all(self):
+ self.vsg_delete(len(self.cord_subscriber.subscriber_info))
+
def test_vsg_xos_subscriber_create_and_delete(self):
subId = self.vsg_xos_subscriber_create(0)
if subId and subId != '0':
@@ -3074,3 +3095,4 @@
9.Extract all dns stats
10.Verify dns stats for queries sent, queries received for dns host resolve success and failed scenarios
"""
+ pass