def test_should_return_resource_from_response_with_no_json_data( self, from_header): self._response.json = Mock(side_effect=ValueError()) returned_resource = resource.from_response(self._response, self._auth) self.assertEqual(returned_resource.url, 'http://example.com') self.assertEqual(returned_resource.auth, self._auth) self.assertEqual(returned_resource.data, {})
def _delete(self, **kwargs): # TODO: Refactor to resolve circular dependency. from pluct import resource self.href = expand(self.href, self.resource.data) response = requests.delete(url=self.href, headers=self.get_headers()) return resource.from_response(response)
def test_should_return_resource_from_response(self, from_header): self._response.json = Mock(return_value={}) self._response.status_code = 200 returned_resource = resource.from_response(self._response, self._auth) self.assertEqual(returned_resource.url, 'http://example.com') self.assertEqual(returned_resource.auth, self._auth) self.assertEqual(returned_resource.data, {}) self.assertEqual(returned_resource.response.status_code, 200)
def _put(self, **kwargs): # TODO: Refactor to resolve circular dependency. from pluct import resource self.href = expand(self.href, self.resource.data) data = kwargs.pop('data') response = requests.put(url=self.href, data=json.dumps(data), headers=self.get_headers()) return resource.from_response(response)
def _delete(self, **kwargs): # TODO: Refactor to resolve circular dependency. from pluct import resource self.href = expand(self.href, self.resource.data) response = requests.delete(url=self.href, headers=self.get_headers(), timeout=self.resource.timeout) return resource.from_response(response)
def _put(self, **kwargs): # TODO: Refactor to resolve circular dependency. from pluct import resource self.href = expand(self.href, self.resource.data) data = kwargs.pop('data') response = requests.put(url=self.href, data=ujson.dumps(data), headers=self.get_headers(), timeout=self.resource.timeout) return resource.from_response(response)
def _get(self, **kwargs): # TODO: Refactor to resolve circular dependency. from pluct import resource data = self.resource.data data.update(kwargs) url = expand(self.href, data) for var in kwargs.keys(): if "{{{}}}".format(var) in self.href: kwargs.pop(var) querystring = urllib.urlencode(kwargs) if querystring: url += "?{0}".format(querystring) response = requests.get(url=url, headers=self.get_headers()) return resource.from_response(response)
def _get(self, **kwargs): # TODO: Refactor to resolve circular dependency. from pluct import resource data = self.resource.data data.update(kwargs) url = expand(self.href, data) for var in kwargs.keys(): if "{{{}}}".format(var) in self.href: kwargs.pop(var) querystring = urllib.urlencode(kwargs) if querystring: url += "?{0}".format(querystring) response = requests.get(url=url, headers=self.get_headers(), timeout=self.resource.timeout) return resource.from_response(response)
def test_should_obtain_schema_from_header(self, from_header): self._response.json = Mock(side_effect=ValueError()) resource.from_response(self._response, self._auth) from_header.assert_called_with(self._response.headers, self._auth)