chris fattarsi | 5098fa2 | 2012-04-17 13:27:00 -0700 | [diff] [blame] | 1 | from tempest.common.rest_client import RestClient |
donald-ngo | 20b6bca | 2011-12-15 13:35:12 -0800 | [diff] [blame] | 2 | import json |
| 3 | |
| 4 | |
Tiago Mello | 89126c3 | 2012-08-27 11:14:03 -0300 | [diff] [blame] | 5 | class ExtensionsClientJSON(RestClient): |
donald-ngo | 20b6bca | 2011-12-15 13:35:12 -0800 | [diff] [blame] | 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): |
Tiago Mello | 89126c3 | 2012-08-27 11:14:03 -0300 | [diff] [blame] | 8 | super(ExtensionsClientJSON, self).__init__(config, username, password, |
Zhongyue Luo | 79d8d36 | 2012-09-25 13:49:27 +0800 | [diff] [blame] | 9 | auth_url, tenant_name) |
chris fattarsi | 5098fa2 | 2012-04-17 13:27:00 -0700 | [diff] [blame] | 10 | self.service = self.config.compute.catalog_type |
donald-ngo | 20b6bca | 2011-12-15 13:35:12 -0800 | [diff] [blame] | 11 | |
| 12 | def list_extensions(self): |
| 13 | url = 'extensions' |
chris fattarsi | 5098fa2 | 2012-04-17 13:27:00 -0700 | [diff] [blame] | 14 | resp, body = self.get(url) |
donald-ngo | 20b6bca | 2011-12-15 13:35:12 -0800 | [diff] [blame] | 15 | body = json.loads(body) |
| 16 | return resp, body |
Daryl Walleck | e36d500 | 2012-03-28 09:56:10 -0500 | [diff] [blame] | 17 | |
| 18 | def is_enabled(self, extension): |
| 19 | _, extensions = self.list_extensions() |
| 20 | exts = extensions['extensions'] |
| 21 | return any([e for e in exts if e['name'] == extension]) |