def create_wishlists(): """ Creates a Wishlist This endpoint will create a Wishlist based the data in the body that is posted """ app.logger.info('Request to Create a Wishlist...') data = {} # Check for form submission data if request.headers.get('Content-Type') == 'application/x-www-form-urlencoded': app.logger.info('Getting data from form submit') data = { 'name': request.form['name'], 'customer_id': request.form['customer_id'] } else: check_content_type('application/json') app.logger.info('Getting json data from API call') data = request.get_json() app.logger.info(data) wishlist = Wishlist() wishlist.deserialize(data) wishlist.save() app.logger.info('Wishlist with new id [%s] saved!', wishlist.id) message = wishlist.serialize() location_url = url_for('get_wishlists', wishlist_id=wishlist.id, _external=True) return make_response(jsonify(message), status.HTTP_201_CREATED, {'Location': location_url})
def test_deserialize_a_wishlist(self): """ Deserialize a Wishlist """ data = {"name": "Bags", "customer_id": "1"} wishlist = Wishlist() wishlist.deserialize(data) self.assertNotEqual(wishlist, None) self.assertEqual(wishlist.id, None) self.assertEqual(wishlist.name, "Bags") self.assertEqual(wishlist.customer_id, "1")
def post(self): """ Creates a Wishlist This endpoint will create a Wishlist based the data in the body that is posted """ app.logger.info('Request to Create a wishlist') check_content_type('application/json') wishlist = Wishlist() app.logger.info('Payload = %s', api.payload) wishlist.deserialize(api.payload) wishlist.save() app.logger.info('Wishlist with new id [%s] saved', wishlist.id) location_url = api.url_for(WishlistResource, wishlist_id=wishlist.id, _external=True) return wishlist.serialize(), status.HTTP_201_CREATED, { 'Location': location_url }
def test_deserialize_wishlist(self): """ Test deserialization of a Wishlist """ data = {"name": "mikes wishlist", "user": "******", "entries": [ {"id": 0, "name": "bike"}, {"id": 1, "name": "car"}]} wishlist = Wishlist() wishlist.deserialize(data) self.assertNotEqual(wishlist, None) self.assertEqual(wishlist.id, None) self.assertEqual(wishlist.name, "mikes wishlist") self.assertEqual(wishlist.user, "mike") self.assertEqual(wishlist.entries[0].id, 0) self.assertEqual(wishlist.entries[1].id, 1) self.assertEqual(wishlist.entries[0].name, "bike") self.assertEqual(wishlist.entries[1].name, "car") wishlist = Wishlist(1) wishlist.deserialize(data) self.assertNotEqual(wishlist, None) self.assertEqual(wishlist.id, None) self.assertEqual(wishlist.name, "mikes wishlist") self.assertEqual(wishlist.user, "mike")