return parser
+ def show(self, request, response):
+ print ' '.join([request,
+ 'success' if response.status_code < 300
+ else 'failed: {}'.format(response.text)])
+
class Lister(command.Command):
return query_url() if parsed_args.name else url
+ def show(self, response):
+ print response.json() if response.status_code < 300 else response.text
+
class ShowOne(command.Command):
- pass
+ def show(self, response):
+ print response.json() if response.status_code < 300 else response.text
HTTPClient.__instance = self
def get(self, url):
- r = requests.get(url)
- if r.status_code == 200:
- return r.json()
- else:
- return r.text
-
- def _session_request(self, method, *args, **kwargs):
- return getattr(user.User.session, method)(*args, **kwargs)
+ return requests.get(url)
def post(self, url, data):
- return self._session_request('post', url,
- data=json.dumps(data),
- headers=HTTPClient.headers)
+ return self._request('post', url,
+ data=json.dumps(data),
+ headers=self.headers)
def put(self, url, data):
- return self._session_request('put', url,
- data=json.dumps(data),
- headers=HTTPClient.headers).text
+ return self._request('put', url,
+ data=json.dumps(data),
+ headers=self.headers)
def delete(self, url, *args):
- if(args.__len__() > 0):
- r = self._session_request('delete', url,
- data=json.dumps(args[0]),
- headers=HTTPClient.headers)
- else:
- r = self._session_request('delete', url)
- return r.text
+ data = json.dumps(args[0]) if len(args) > 0 else None
+ return self._request('delete', url,
+ data=data,
+ headers=self.headers)
+
+ def _request(self, method, *args, **kwargs):
+ return getattr(user.User.session, method)(*args, **kwargs)
-def http_request(method, *args, **kwargs):
+def _request(method, *args, **kwargs):
client = HTTPClient.get_Instance()
return getattr(client, method)(*args, **kwargs)
def get(url):
- return http_request('get', url)
+ return _request('get', url)
def post(url, data):
- return http_request('post', url, data)
+ return _request('post', url, data)
def put(url, data):
- return http_request('put', url, data)
+ return _request('put', url, data)
def delete(url, data=None):
- return http_request('delete', url, data)
+ return _request('delete', url, data)
import json
from testapiclient import command
-from testapiclient import http_client
+from testapiclient import http_client as client
from testapiclient import identity
from testapiclient import url_parse
return parser
def take_action(self, parsed_args):
- pods = http_client.get(self.filter_by_name(pods_url(),
- parsed_args))
- print pods
+ self.show(client.get(self.filter_by_name(pods_url(), parsed_args)))
class PodGetOne(command.ShowOne):
return parser
def take_action(self, parsed_args):
- pods = http_client.get(pod_url(parsed_args))
- print pods
+ self.show(client.get(pod_url(parsed_args)))
class PodCreate(command.Command):
@identity.authenticate
def take_action(self, parsed_args):
- response = http_client.post(pods_url(), parsed_args.pod)
- if response.status_code == 200:
- print "Pod has been successfully created!"
- else:
- print response.text
+ self.show('Create',
+ client.post(pods_url(), parsed_args.pod))
class PodDelete(command.Command):
@identity.authenticate
def take_action(self, parsed_args):
- print http_client.delete(pod_url(parsed_args))
+ self.show('Delete',
+ client.delete(pod_url(parsed_args)))
import json
from testapiclient import command
-from testapiclient import http_client
+from testapiclient import http_client as client
from testapiclient import identity
from testapiclient import url_parse
return parser
def take_action(self, parsed_args):
- projects = http_client.get(self.filter_name(projects_url(),
- parsed_args))
- print projects
+ self.show(client.get(self.filter_name(projects_url(), parsed_args)))
class ProjectGetOne(command.ShowOne):
return parser
def take_action(self, parsed_args):
- project = http_client.get(project_url(parsed_args))
- print project
+ self.show(client.get(project_url(parsed_args)))
class ProjectCreate(command.Command):
@identity.authenticate
def take_action(self, parsed_args):
- response = http_client.post(projects_url(), parsed_args.project)
- if response.status_code == 200:
- print "Project has been successfully created!"
- else:
- print response.text
+ self.show('Create',
+ client.post(projects_url(), parsed_args.project))
class ProjectDelete(command.Command):
@identity.authenticate
def take_action(self, parsed_args):
- projects = http_client.delete(project_url(parsed_args))
- print projects
+ self.show('Delete',
+ client.delete(project_url(parsed_args)))
class ProjectPut(command.Command):
@identity.authenticate
def take_action(self, parsed_args):
- projects = http_client.put(project_url(parsed_args),
- parsed_args.project)
- print projects
+ self.show('Update',
+ client.put(project_url(parsed_args), parsed_args.project))