Merge "[TF] Fix verification of operating status" into mcp/ussuri
diff --git a/octavia_tempest_plugin/tests/api/v2/test_pool.py b/octavia_tempest_plugin/tests/api/v2/test_pool.py
index 50a94eb..593ac6d 100644
--- a/octavia_tempest_plugin/tests/api/v2/test_pool.py
+++ b/octavia_tempest_plugin/tests/api/v2/test_pool.py
@@ -549,13 +549,18 @@
         parser.parse(pool[const.CREATED_AT])
         parser.parse(pool[const.UPDATED_AT])
         UUID(pool[const.ID])
-        # Operating status for pools will always be offline without members
-        self.assertEqual(const.OFFLINE, pool[const.OPERATING_STATUS])
+        if provider == 'tungstenfabric':
+            # Operating status for a pool without members will be ONLINE if
+            # it is attached to a listener
+            self.assertNotEmpty(pool[const.LISTENERS])
+            self.assertEqual(const.ONLINE, pool[const.OPERATING_STATUS])
+        else:
+            # Operating status for pools will always be offline without members
+            self.assertEmpty(pool[const.LISTENERS])
+            self.assertEqual(const.OFFLINE, pool[const.OPERATING_STATUS])
         self.assertEqual(self.protocol, pool[const.PROTOCOL])
         self.assertEqual(1, len(pool[const.LOADBALANCERS]))
         self.assertEqual(self.lb_id, pool[const.LOADBALANCERS][0][const.ID])
-        if provider != 'tungstenfabric':
-            self.assertEmpty(pool[const.LISTENERS])
         self.assertEqual(self.lb_algorithm,
                          pool[const.LB_ALGORITHM])
         if self.lb_feature_enabled.session_persistence_enabled:
@@ -666,15 +671,15 @@
         if CONF.load_balancer.provider == 'tungstenfabric':
             # Operating status for a pool without members will be ONLINE if
             # it is attached to a listener
+            self.assertNotEmpty(pool[const.LISTENERS])
             self.assertEqual(const.ONLINE, pool[const.OPERATING_STATUS])
         else:
             # Operating status for pools will always be offline without members
+            self.assertEmpty(pool[const.LISTENERS])
             self.assertEqual(const.OFFLINE, pool[const.OPERATING_STATUS])
         self.assertEqual(self.protocol, pool[const.PROTOCOL])
         self.assertEqual(1, len(pool[const.LOADBALANCERS]))
         self.assertEqual(self.lb_id, pool[const.LOADBALANCERS][0][const.ID])
-        if CONF.load_balancer.provider != 'tungstenfabric':
-            self.assertEmpty(pool[const.LISTENERS])
         self.assertEqual(self.lb_algorithm,
                          pool[const.LB_ALGORITHM])
         if self.lb_feature_enabled.session_persistence_enabled:
diff --git a/octavia_tempest_plugin/tests/scenario/v2/test_pool.py b/octavia_tempest_plugin/tests/scenario/v2/test_pool.py
index 91c2a07..2311dd0 100644
--- a/octavia_tempest_plugin/tests/scenario/v2/test_pool.py
+++ b/octavia_tempest_plugin/tests/scenario/v2/test_pool.py
@@ -140,7 +140,13 @@
         parser.parse(pool[const.CREATED_AT])
         parser.parse(pool[const.UPDATED_AT])
         UUID(pool[const.ID])
-        self.assertEqual(const.OFFLINE, pool[const.OPERATING_STATUS])
+        if CONF.load_balancer.provider == 'tungstenfabric':
+            # Operating status for a pool without members will be ONLINE if
+            # it is attached to a listener
+            self.assertNotEmpty(pool[const.LISTENERS])
+            self.assertEqual(const.ONLINE, pool[const.OPERATING_STATUS])
+        else:
+            self.assertEqual(const.OFFLINE, pool[const.OPERATING_STATUS])
         self.assertEqual(self.protocol, pool[const.PROTOCOL])
         self.assertEqual(1, len(pool[const.LOADBALANCERS]))
         self.assertEqual(self.lb_id, pool[const.LOADBALANCERS][0][const.ID])