From 2b670afa33a8d8677f534e37412882110ea60ee3 Mon Sep 17 00:00:00 2001
From: SaiKiran <saikiranveeravarapu@gmail.com>
Date: Thu, 7 Jan 2016 16:59:48 +0530
Subject: [PATCH] Refactor abstract columns and datalist out in compute test
 cases

columns and datalist has been set in each test case in compute,
which is not necessary. This patch abstract it out and remove
all redundant code.

Change-Id: I5e8423722416ea31fdced4c932ed141de90028ab
Closes-Bug: #1531816
---
 .../tests/compute/v2/test_security_group.py   |  45 ++----
 .../compute/v2/test_security_group_rule.py    |  59 ++-----
 .../tests/compute/v2/test_server.py           | 146 +++++++-----------
 3 files changed, 83 insertions(+), 167 deletions(-)

diff --git a/openstackclient/tests/compute/v2/test_security_group.py b/openstackclient/tests/compute/v2/test_security_group.py
index fdb659a86f..87cc4870d8 100644
--- a/openstackclient/tests/compute/v2/test_security_group.py
+++ b/openstackclient/tests/compute/v2/test_security_group.py
@@ -56,6 +56,19 @@ class TestSecurityGroup(compute_fakes.TestComputev2):
 
 class TestSecurityGroupCreate(TestSecurityGroup):
 
+    columns = (
+        'description',
+        'id',
+        'name',
+        'tenant_id',
+    )
+    data = (
+        security_group_description,
+        security_group_id,
+        security_group_name,
+        identity_fakes.project_id,
+    )
+
     def setUp(self):
         super(TestSecurityGroupCreate, self).setUp()
 
@@ -86,20 +99,8 @@ class TestSecurityGroupCreate(TestSecurityGroup):
             security_group_name,
         )
 
-        collist = (
-            'description',
-            'id',
-            'name',
-            'tenant_id',
-        )
-        self.assertEqual(collist, columns)
-        datalist = (
-            security_group_description,
-            security_group_id,
-            security_group_name,
-            identity_fakes.project_id,
-        )
-        self.assertEqual(datalist, data)
+        self.assertEqual(self.columns, columns)
+        self.assertEqual(self.data, data)
 
     def test_security_group_create_description(self):
         arglist = [
@@ -121,20 +122,8 @@ class TestSecurityGroupCreate(TestSecurityGroup):
             security_group_description,
         )
 
-        collist = (
-            'description',
-            'id',
-            'name',
-            'tenant_id',
-        )
-        self.assertEqual(collist, columns)
-        datalist = (
-            security_group_description,
-            security_group_id,
-            security_group_name,
-            identity_fakes.project_id,
-        )
-        self.assertEqual(datalist, data)
+        self.assertEqual(self.columns, columns)
+        self.assertEqual(self.data, data)
 
 
 class TestSecurityGroupList(TestSecurityGroup):
diff --git a/openstackclient/tests/compute/v2/test_security_group_rule.py b/openstackclient/tests/compute/v2/test_security_group_rule.py
index 0e7ee05d87..a2f9b10825 100644
--- a/openstackclient/tests/compute/v2/test_security_group_rule.py
+++ b/openstackclient/tests/compute/v2/test_security_group_rule.py
@@ -116,6 +116,15 @@ class TestSecurityGroupRule(compute_fakes.TestComputev2):
 
 class TestSecurityGroupRuleCreate(TestSecurityGroupRule):
 
+    columns = (
+        'id',
+        'ip_protocol',
+        'ip_range',
+        'parent_group_id',
+        'port_range',
+        'remote_security_group',
+    )
+
     def setUp(self):
         super(TestSecurityGroupRuleCreate, self).setUp()
 
@@ -156,15 +165,7 @@ class TestSecurityGroupRuleCreate(TestSecurityGroupRule):
             None,
         )
 
-        collist = (
-            'id',
-            'ip_protocol',
-            'ip_range',
-            'parent_group_id',
-            'port_range',
-            'remote_security_group',
-        )
-        self.assertEqual(collist, columns)
+        self.assertEqual(self.columns, columns)
         datalist = (
             security_group_rule_id,
             'tcp',
@@ -208,15 +209,7 @@ class TestSecurityGroupRuleCreate(TestSecurityGroupRule):
             None,
         )
 
-        collist = (
-            'id',
-            'ip_protocol',
-            'ip_range',
-            'parent_group_id',
-            'port_range',
-            'remote_security_group',
-        )
-        self.assertEqual(collist, columns)
+        self.assertEqual(self.columns, columns)
         datalist = (
             security_group_rule_id,
             'tcp',
@@ -264,15 +257,7 @@ class TestSecurityGroupRuleCreate(TestSecurityGroupRule):
             security_group_id,
         )
 
-        collist = (
-            'id',
-            'ip_protocol',
-            'ip_range',
-            'parent_group_id',
-            'port_range',
-            'remote_security_group',
-        )
-        self.assertEqual(collist, columns)
+        self.assertEqual(self.columns, columns)
         datalist = (
             security_group_rule_id,
             'tcp',
@@ -315,15 +300,7 @@ class TestSecurityGroupRuleCreate(TestSecurityGroupRule):
             None,
         )
 
-        collist = (
-            'id',
-            'ip_protocol',
-            'ip_range',
-            'parent_group_id',
-            'port_range',
-            'remote_security_group',
-        )
-        self.assertEqual(collist, columns)
+        self.assertEqual(self.columns, columns)
         datalist = (
             security_group_rule_id,
             'udp',
@@ -369,15 +346,7 @@ class TestSecurityGroupRuleCreate(TestSecurityGroupRule):
             None,
         )
 
-        collist = (
-            'id',
-            'ip_protocol',
-            'ip_range',
-            'parent_group_id',
-            'port_range',
-            'remote_security_group',
-        )
-        self.assertEqual(collist, columns)
+        self.assertEqual(self.columns, columns)
         datalist = (
             security_group_rule_id,
             'icmp',
diff --git a/openstackclient/tests/compute/v2/test_server.py b/openstackclient/tests/compute/v2/test_server.py
index 72fdbafc85..f6b622916b 100644
--- a/openstackclient/tests/compute/v2/test_server.py
+++ b/openstackclient/tests/compute/v2/test_server.py
@@ -89,6 +89,26 @@ class TestServer(compute_fakes.TestComputev2):
 
 class TestServerCreate(TestServer):
 
+    columns = (
+        'addresses',
+        'flavor',
+        'id',
+        'name',
+        'networks',
+        'properties',
+    )
+
+    def datalist(self):
+        datalist = (
+            '',
+            self.flavor.name + ' ()',
+            self.new_server.id,
+            self.new_server.name,
+            self.new_server.networks,
+            '',
+        )
+        return datalist
+
     def setUp(self):
         super(TestServerCreate, self).setUp()
 
@@ -171,24 +191,8 @@ class TestServerCreate(TestServer):
             **kwargs
         )
 
-        collist = (
-            'addresses',
-            'flavor',
-            'id',
-            'name',
-            'networks',
-            'properties',
-        )
-        self.assertEqual(collist, columns)
-        datalist = (
-            '',
-            self.flavor.name + ' ()',
-            self.new_server.id,
-            self.new_server.name,
-            self.new_server.networks,
-            '',
-        )
-        self.assertEqual(datalist, data)
+        self.assertEqual(self.columns, columns)
+        self.assertEqual(self.datalist(), data)
 
     def test_server_create_with_network(self):
         arglist = [
@@ -272,24 +276,8 @@ class TestServerCreate(TestServer):
             **kwargs
         )
 
-        collist = (
-            'addresses',
-            'flavor',
-            'id',
-            'name',
-            'networks',
-            'properties',
-        )
-        self.assertEqual(collist, columns)
-        datalist = (
-            '',
-            self.flavor.name + ' ()',
-            self.new_server.id,
-            self.new_server.name,
-            self.new_server.networks,
-            '',
-        )
-        self.assertEqual(datalist, data)
+        self.assertEqual(self.columns, columns)
+        self.assertEqual(self.datalist(), data)
 
     @mock.patch('openstackclient.compute.v2.server.io.open')
     def test_server_create_userdata(self, mock_open):
@@ -345,24 +333,8 @@ class TestServerCreate(TestServer):
             **kwargs
         )
 
-        collist = (
-            'addresses',
-            'flavor',
-            'id',
-            'name',
-            'networks',
-            'properties',
-        )
-        self.assertEqual(collist, columns)
-        datalist = (
-            '',
-            self.flavor.name + ' ()',
-            self.new_server.id,
-            self.new_server.name,
-            self.new_server.networks,
-            '',
-        )
-        self.assertEqual(datalist, data)
+        self.assertEqual(self.columns, columns)
+        self.assertEqual(self.datalist(), data)
 
     def test_server_create_with_block_device_mapping(self):
         arglist = [
@@ -414,24 +386,8 @@ class TestServerCreate(TestServer):
             **kwargs
         )
 
-        collist = (
-            'addresses',
-            'flavor',
-            'id',
-            'name',
-            'networks',
-            'properties',
-        )
-        self.assertEqual(collist, columns)
-        datalist = (
-            '',
-            self.flavor.name + ' ()',
-            self.new_server.id,
-            self.new_server.name,
-            self.new_server.networks,
-            '',
-        )
-        self.assertEqual(datalist, data)
+        self.assertEqual(self.columns, columns)
+        self.assertEqual(self.datalist(), data)
 
 
 class TestServerDelete(TestServer):
@@ -536,6 +492,26 @@ class TestServerDelete(TestServer):
 
 class TestServerImageCreate(TestServer):
 
+    columns = (
+        'id',
+        'name',
+        'owner',
+        'protected',
+        'tags',
+        'visibility',
+    )
+
+    def datalist(self):
+        datalist = (
+            self.image.id,
+            self.image.name,
+            self.image.owner,
+            self.image.protected,
+            self.image.tags,
+            self.image.visibility,
+        )
+        return datalist
+
     def setUp(self):
         super(TestServerImageCreate, self).setUp()
 
@@ -569,17 +545,8 @@ class TestServerImageCreate(TestServer):
             self.server.name,
         )
 
-        collist = ('id', 'name', 'owner', 'protected', 'tags', 'visibility')
-        self.assertEqual(collist, columns)
-        datalist = (
-            self.image.id,
-            self.image.name,
-            self.image.owner,
-            self.image.protected,
-            self.image.tags,
-            self.image.visibility,
-        )
-        self.assertEqual(datalist, data)
+        self.assertEqual(self.columns, columns)
+        self.assertEqual(self.datalist(), data)
 
     def test_server_image_create_name(self):
         arglist = [
@@ -601,17 +568,8 @@ class TestServerImageCreate(TestServer):
             'img-nam',
         )
 
-        collist = ('id', 'name', 'owner', 'protected', 'tags', 'visibility')
-        self.assertEqual(collist, columns)
-        datalist = (
-            self.image.id,
-            self.image.name,
-            self.image.owner,
-            self.image.protected,
-            self.image.tags,
-            self.image.visibility,
-        )
-        self.assertEqual(datalist, data)
+        self.assertEqual(self.columns, columns)
+        self.assertEqual(self.datalist(), data)
 
 
 class TestServerList(TestServer):