tests: Fix API extension check
The check for extensions was not using a machine readable format for output. This meant an API check could match on a substring, e.g. a check for 'qos' would match on 'qos-specs'. Address this issue by switching our command invocation to use JSON output and migrating the check function from the general base class to the networking base class. Change-Id: Idc6dc54503031ddf3e148f50ed53ad8898f7a7e3 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
		@@ -119,9 +119,13 @@ class TestCase(testtools.TestCase):
 | 
				
			|||||||
        return bool(ret)
 | 
					        return bool(ret)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @classmethod
 | 
					    @classmethod
 | 
				
			||||||
    def is_extension_enabled(cls, alias):
 | 
					    def is_extension_enabled(cls, alias, *, service='network'):
 | 
				
			||||||
        """Ask client cloud if extension is enabled"""
 | 
					        """Ask client cloud if extension is enabled"""
 | 
				
			||||||
        return alias in cls.openstack('extension list -f value -c Alias')
 | 
					        extensions = cls.openstack(
 | 
				
			||||||
 | 
					            f'extension list --{service}',
 | 
				
			||||||
 | 
					            parse_output=True,
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					        return alias in [x['Alias'] for x in extensions]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @classmethod
 | 
					    @classmethod
 | 
				
			||||||
    def get_openstack_configuration_value(cls, configuration):
 | 
					    def get_openstack_configuration_value(cls, configuration):
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user