def test_delete(self): """should delete a model through the RestfulHttpAdapter""" http_server.set_response() model = TestModel({'id': 1}, False) self.assertEqual(model.delete(), True) self.assertEqual(model.frozen(), True) self.assertEqual(http_server.last_request()['method'], 'DELETE')
def test_request(self): """should make an HTTP GET request""" self.adapter.read(relation=pyperry.Base.scoped()) last_request = http_server.last_request() self.assertEqual(last_request["method"], "GET") self.assertEqual(last_request["headers"]["accept"], "application/json") self.assertEqual(last_request["path"], "/foo.json")
def test_request(self): """should make an HTTP GET request""" self.adapter.read(relation=pyperry.Base.scoped()) last_request = http_server.last_request() self.assertEqual(last_request['method'], 'GET') self.assertEqual(last_request['headers']['accept'], 'application/json') self.assertEqual(last_request['path'], '/foo.json')
def test_delete(self): """should delete a model through the RestfulHttpAdapter""" http_server.set_response() model = TestModel({'id':1}, False) self.assertEqual(model.delete(), True) self.assertEqual(model.frozen(), True) self.assertEqual(http_server.last_request()['method'], 'DELETE')
def test_modifiers_in_query(self): """should include query modifiers in the query string""" r = pyperry.Base.scoped().modifiers({ 'query': {'foo': 'bar'} }) self.adapter.read(relation=r) last_request = http_server.last_request() self.assertEqual(last_request['path'], '/foo.json?foo=bar')
def test_request(self): """should include the appropriate method and headers in the HTTP request""" if type(self) is PersistenceTestCase: return self.respond_with_success() response = self.adapter_method(model=self.model) last_request = http_server.last_request() self.assertEqual(last_request["method"], self.http_method) self.assertEqual(last_request["headers"]["accept"], "application/xml") self.assertEqual(last_request["headers"]["content-type"], "application/x-www-form-urlencoded")
def test_request(self): """should include the appropriate method and headers in the HTTP request""" if type(self) is PersistenceTestCase: return self.respond_with_success() response = self.adapter_method(model=self.model) last_request = http_server.last_request() self.assertEqual(last_request['method'], self.http_method) self.assertEqual(last_request['headers']['accept'], 'application/xml') self.assertEqual(last_request['headers']['content-type'], 'application/x-www-form-urlencoded')
def test_relation_in_query(self): """should encode the relation dict in the query string""" B = pyperry.Base relation = B.select('id', 'foo', 'bar').where({'id': 6}).limit(1) expected = "where[][id]=6&select[]=id&select[]=foo&select[]=bar&limit=1" expected = expected.replace('[', '%5B').replace(']', '%5D') expected = expected.split('&') expected.sort() self.adapter.read(relation=relation) last_request = http_server.last_request() query = last_request['path'].split('?')[1] query = query.split('&') query.sort() self.assertEqual(query, expected)
def test_relation_in_query(self): """should encode the relation dict in the query string""" B = pyperry.Base relation = B.select("id", "foo", "bar").where({"id": 6}).limit(1) expected = "where[][id]=6&select[]=id&select[]=foo&select[]=bar&limit=1" expected = expected.replace("[", "%5B").replace("]", "%5D") expected = expected.split("&") expected.sort() self.adapter.read(relation=relation) last_request = http_server.last_request() query = last_request["path"].split("?")[1] query = query.split("&") query.sort() self.assertEqual(query, expected)
def test_relation_in_query(self): """should encode the relation dict in the query string""" B = pyperry.Base relation = B.select('id', 'foo', 'bar').where({'id':6}).limit(1) expected = "where[][id]=6&select[]=id&select[]=foo&select[]=bar&limit=1" expected = expected.replace('[', '%5B').replace(']', '%5D') expected = expected.split('&') expected.sort() self.adapter.read(relation=relation) last_request = http_server.last_request() query = last_request['path'].split('?')[1] query = query.split('&') query.sort() self.assertEqual(query, expected)
def test_modifiers_and_relation(self): """ should include the relation and query modifiers in the query string """ r = pyperry.Base.scoped().where({"id": 3}).limit(1).modifiers({"query": {"foo": {"bar": "baz"}}}) self.adapter.read(relation=r) expected = "where[][id]=3&limit=1&foo[bar]=baz" expected = expected.replace("[", "%5B").replace("]", "%5D") expected = expected.split("&") expected.sort() last_request = http_server.last_request() query = last_request["path"].split("?")[1] query = query.split("&") query.sort() self.assertEqual(query, expected)
def test_default_params_in_query(self): """should include the default_params in the query string""" r = pyperry.Base.scoped().where({'id': 3}).limit(1) self.config['default_params'] = {'foo': 'bar'} adapter = RestfulHttpAdapter(self.config) adapter.read(relation=r) expected = 'where[][id]=3&limit=1&foo=bar' expected = expected.replace('[', '%5B').replace(']', '%5D') expected = expected.split('&') expected.sort() last_request = http_server.last_request() query = last_request['path'].split('?')[1] query = query.split('&') query.sort() self.assertEqual(query, expected)
def test_default_params_in_query(self): """should include the default_params in the query string""" if type(self) is PersistenceTestCase: return self.respond_with_success() self.config['default_params'] = {'foo': 'bar'} self.adapter = RestfulHttpAdapter(self.config) response = self.adapter_method(model=self.model) expected = 'foo=bar' expected = expected.split('&') expected.sort() last_request = http_server.last_request() query = last_request['path'].split('?')[1] query = query.split('&') query.sort() self.assertEqual(query, expected)
def test_modifiers_and_relation(self): """ should include the relation and query modifiers in the query string """ r = pyperry.Base.scoped().where({'id': 3}).limit(1).modifiers({ 'query': {'foo': {'bar': 'baz'}} }) self.adapter.read(relation=r) expected = 'where[][id]=3&limit=1&foo[bar]=baz' expected = expected.replace('[', '%5B').replace(']', '%5D') expected = expected.split('&') expected.sort() last_request = http_server.last_request() query = last_request['path'].split('?')[1] query = query.split('&') query.sort() self.assertEqual(query, expected)
def test_modifiers_and_relation(self): """ should include the relation and query modifiers in the query string """ r = pyperry.Base.scoped().where({ 'id': 3 }).limit(1).modifiers({'query': { 'foo': { 'bar': 'baz' } }}) self.adapter.read(relation=r) expected = 'where[][id]=3&limit=1&foo[bar]=baz' expected = expected.replace('[', '%5B').replace(']', '%5D') expected = expected.split('&') expected.sort() last_request = http_server.last_request() query = last_request['path'].split('?')[1] query = query.split('&') query.sort() self.assertEqual(query, expected)
def test_modifiers_in_query(self): """should include query modifiers in the query string""" r = pyperry.Base.scoped().modifiers({"query": {"foo": "bar"}}) self.adapter.read(relation=r) last_request = http_server.last_request() self.assertEqual(last_request["path"], "/foo.json?foo=bar")
def test_modifiers_in_query(self): """should include query modifiers in the query string""" r = pyperry.Base.scoped().modifiers({'query': {'foo': 'bar'}}) self.adapter.read(relation=r) last_request = http_server.last_request() self.assertEqual(last_request['path'], '/foo.json?foo=bar')