def test_get_product_get_image(self, requests_mock): response_mock = Mock() response_mock.status_code = 200 response_mock.content = json.dumps({'id': 991, 'name': 'test prod'}) requests_mock.get.return_value = response_mock cli = APIClient('test_api_key', 'test user agent') p = ProductResource(cli, '46') res = p.get(991) self.assertEqual(991, res.id) requests_mock.get.assert_called_with( url='https://api.tiendanube.com/v1/46/products/991', headers={'Authentication': 'bearer test_api_key', 'User-Agent': 'test user agent'}, params=None ) response_mock.content = json.dumps({'id': 1, 'name': 'test prod image'}) res = res.images.get(1) self.assertEqual(bunchify({'id': 1, 'name': 'test prod image'}), res) requests_mock.get.assert_called_with( url='https://api.tiendanube.com/v1/46/products/991/images/1', headers={'Authentication': 'bearer test_api_key', 'User-Agent': 'test user agent'}, params=None )
def get(self, id): return bunchify( json.loads( self._make_request(self.resource_name, resource_id=str(self.resource_id), subresource=self.subresource, subresource_id=str(id)).content))
def delete(self, resource_delete_dict): res_id = str(resource_delete_dict['id']) return bunchify( json.loads( self._make_request(self.resource_name, resource_id=res_id, verb='delete').text))
def update(self, resource_update_dict): res_id = str(resource_update_dict['id']) return bunchify( json.loads( self._make_request(self.resource_name, resource_id=res_id, data=resource_update_dict, verb='put').text))
def add(self, subresource_dict): return bunchify( json.loads( self._make_request(self.resource_name, resource_id=str(self.resource_id), subresource=self.subresource, data=subresource_dict, verb='post').text))
def list(self, filters={}, fields={}): """ Get the list of customers for a store. """ extra = {k: _get_value(v) for k, v in filters.items()} if fields: extra['fields'] = fields return bunchify( json.loads( self._make_request(self.resource_name, extra=extra).content.decode('utf-8')))
def update(self, subresource_update_dict): return bunchify( json.loads( self._make_request( self.resource_name, resource_id=str(self.resource_id), subresource=self.subresource, subresource_id=subresource_update_dict['id'], data=subresource_update_dict, verb='put').text))
def test_get_store_info(self, requests_mock): response_mock = Mock() response_mock.status_code = 200 response_mock.content = json.dumps({'id': 46, 'name': 'test store'}) requests_mock.get.return_value = response_mock cli = APIClient('test_api_key', 'test user agent') s = StoreResource(cli, '46') res = s.get() self.assertEqual(bunchify({'id': 46, 'name': 'test store'}), res) requests_mock.get.assert_called_with( url='https://api.tiendanube.com/v1/46/store', headers={'Authentication': 'bearer test_api_key', 'User-Agent': 'test user agent'}, params=None )
def test_add_order(self, requests_mock): response_mock = Mock() response_mock.status_code = 201 response_mock.text = json.dumps( {'id': 46, 'name': 'test order'}, ) requests_mock.post.return_value = response_mock cli = APIClient('test_api_key', 'test user agent') o = OrderResource(cli, '46') res = o.add({'id': 46, 'name': 'test order'}) self.assertEqual(bunchify( {'id': 46, 'name': 'test order'} ), res) requests_mock.post.assert_called_with( url='https://api.tiendanube.com/v1/46/orders', headers={'Authentication': 'bearer test_api_key', 'User-Agent': 'test user agent', 'Content-Type': 'application/json; charset=utf-8'}, data=json.dumps({'id': 46, 'name': 'test order'}) )
def test_list_products_filter(self, requests_mock): response_mock = Mock() response_mock.status_code = 200 response_mock.content = json.dumps([ {'id': 47}, ]) requests_mock.get.return_value = response_mock cli = APIClient('test_api_key', 'test user agent') p = ProductResource(cli, '46') res = p.list(filters={'since_id': 47}, fields='id') self.assertEqual(bunchify([ {'id': 47}, ]), res) requests_mock.get.assert_called_with( url='https://api.tiendanube.com/v1/46/products', headers={'Authentication': 'bearer test_api_key', 'User-Agent': 'test user agent'}, params={'fields': 'id', 'since_id': 47} )
def test_list_categories_filter_date(self, requests_mock): response_mock = Mock() response_mock.status_code = 200 response_mock.content = json.dumps([ {'id': 47}, ]) requests_mock.get.return_value = response_mock cli = APIClient('test_api_key', 'test user agent') c = CategoryResource(cli, '46') created_at_min = datetime.datetime(2013, 1, 1, 0, 0, 0).replace(tzinfo=utc) res = c.list(filters={'since_id': 47, 'created_at_min': created_at_min}, fields='id') self.assertEqual(bunchify([ {'id': 47}, ]), res) requests_mock.get.assert_called_with( url='https://api.tiendanube.com/v1/46/categories', headers={'Authentication': 'bearer test_api_key', 'User-Agent': 'test user agent'}, params={'since_id': 47, 'created_at_min': '2013-01-01T00:00:00+00:00', 'fields': 'id'} )
def test_list_categories_base(self, requests_mock): response_mock = Mock() response_mock.status_code = 200 response_mock.content = json.dumps([ {'id': 46, 'name': 'test cat'}, {'id': 47, 'name': 'test cat 2'}, ]) requests_mock.get.return_value = response_mock cli = APIClient('test_api_key', 'test user agent') c = CategoryResource(cli, '46') res = c.list() self.assertEqual(bunchify([ {'id': 46, 'name': 'test cat'}, {'id': 47, 'name': 'test cat 2'}, ]), res) requests_mock.get.assert_called_with( url='https://api.tiendanube.com/v1/46/categories', headers={'Authentication': 'bearer test_api_key', 'User-Agent': 'test user agent'}, params=None )
def get(self): """ Get a single store. """ return bunchify(json.loads(self._make_request('store').content))
def add(self, resource_dict): return bunchify( json.loads( self._make_request(self.resource_name, data=resource_dict, verb='post').text))
def get(self, id): return bunchify( json.loads( self._make_request( self.resource_name, resource_id=str(id)).content.decode('utf-8')))