donald-ngo | 20b6bca | 2011-12-15 13:35:12 -0800 | [diff] [blame] | 1 | from tempest.common import rest_client |
| 2 | import json |
| 3 | |
| 4 | |
| 5 | class ExtensionsClient(object): |
| 6 | |
Daryl Walleck | 587385b | 2012-03-03 13:00:26 -0600 | [diff] [blame] | 7 | def __init__(self, config, username, password, auth_url, tenant_name=None): |
donald-ngo | 20b6bca | 2011-12-15 13:35:12 -0800 | [diff] [blame] | 8 | self.config = config |
Daryl Walleck | 587385b | 2012-03-03 13:00:26 -0600 | [diff] [blame] | 9 | catalog_type = self.config.compute.catalog_type |
| 10 | self.client = rest_client.RestClient(config, username, password, |
Daryl Walleck | b90a1a6 | 2012-02-27 11:23:10 -0600 | [diff] [blame] | 11 | auth_url, catalog_type, |
Daryl Walleck | 4aa82a9 | 2012-02-14 15:45:46 -0600 | [diff] [blame] | 12 | tenant_name) |
donald-ngo | 20b6bca | 2011-12-15 13:35:12 -0800 | [diff] [blame] | 13 | |
| 14 | def list_extensions(self): |
| 15 | url = 'extensions' |
| 16 | resp, body = self.client.get(url) |
| 17 | body = json.loads(body) |
| 18 | return resp, body |
Daryl Walleck | e36d500 | 2012-03-28 09:56:10 -0500 | [diff] [blame] | 19 | |
| 20 | def is_enabled(self, extension): |
| 21 | _, extensions = self.list_extensions() |
| 22 | exts = extensions['extensions'] |
| 23 | return any([e for e in exts if e['name'] == extension]) |