def test_key_error_on_update(self, bad_mock): """ Test KeyError on update """ bad_mock.side_effect = KeyError() wishlist = Wishlist("joan's wishlist", "joan") wishlist.save() wishlist.name = "joan's wishlist" wishlist.update()
def test_key_error_on_update(self, bad_mock): """ Test KeyError on update """ bad_mock.side_effect = KeyError() wishlist = Wishlist("fido", "1") wishlist.save() wishlist.name = 'Fifi' wishlist.update()
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_delete_a_wishlist(self): """ Delete a Wishlist """ wishlist = Wishlist("fido", "1") wishlist.save() self.assertEqual(len(Wishlist.all()), 1) # delete the wishlist and make sure it isn't in the database wishlist.delete() self.assertEqual(len(Wishlist.all()), 0)
def test_find_wishlist(self): """ Find a Wishlist by id """ Wishlist("fido", "2").save() saved_wishlist = Wishlist("Bags", "1") saved_wishlist.save() wishlist = Wishlist.find(saved_wishlist.id) self.assertIsNot(wishlist, None) self.assertEqual(wishlist.id, saved_wishlist.id) self.assertEqual(wishlist.name, "Bags")
def test_find_wishlist(self): """ Find a wishlist by ID """ Wishlist("mike's wishlist", "mike").save() saved_wishlist = Wishlist("joan's wishlist", "joan") saved_wishlist.save() wishlist = Wishlist.find(saved_wishlist.id) self.assertIsNot(wishlist, None) self.assertEqual(wishlist.id, saved_wishlist.id) self.assertEqual(wishlist.name, "joan's wishlist")
def test_update_a_wishlist(self): """ Update a Wishlist """ wishlist = Wishlist("mike's wishlist", "mike") wishlist.save() self.assertNotEqual(wishlist.id, None) # Change it an save it wishlist.name = "mike's hard wishlist" wishlist.save() # Fetch it back and make sure the id hasn't changed # but the data did change wishlists = Wishlist.all() self.assertEqual(len(wishlists), 1) self.assertEqual(wishlists[0].name, "mike's hard wishlist")
def test_update_a_wishlist(self): """ Update a Wishlist """ wishlist = Wishlist("fido", "1") wishlist.save() self.assertNotEqual(wishlist.id, None) # Change it an save it wishlist.customer_id = "k9" wishlist.save() # Fetch it back and make sure the id hasn't changed # but the data did change wishlists = Wishlist.all() self.assertEqual(len(wishlists), 1) self.assertEqual(wishlists[0].customer_id, "k9") self.assertEqual(wishlists[0].name, "fido")
def test_add_a_wishlist(self): """ Create a wishlist and add it to the database """ wishlists = Wishlist.all() self.assertEqual(wishlists, []) wishlist = Wishlist("fido", "1") self.assertNotEqual(wishlist, None) self.assertEqual(wishlist.id, None) wishlist.save() # Asert that it was assigned an id and shows up in the database self.assertNotEqual(wishlist.id, None) wishlists = Wishlist.all() self.assertEqual(len(wishlists), 1) self.assertEqual(wishlists[0].name, "fido") self.assertEqual(wishlists[0].customer_id, "1")
def test_delete_error(self): """ Test failure of the delete try-catch""" wishlist = Wishlist("mike's wishlist", "mike") wishlist.save() self.assertEqual(len(Wishlist.all()), 1) og_id = wishlist.id # modify id to trigger try-catch wishlist.id = "asdf123" # delete the wishlist and make sure it failed and is still int the database wishlist.delete_wishlist() self.assertEqual(len(Wishlist.all()), 1) # Fetch it back and make sure the id and data hasn't changed wishlists = Wishlist.all() self.assertEqual(len(wishlists), 1) self.assertEqual(wishlists[0].name, "mike's wishlist") self.assertEqual(wishlists[0].id, og_id)
def test_update_error(self): """ TEST failure of the update try-catch """ wishlist = Wishlist("mike's wishlist", "mike") wishlist.save() self.assertNotEqual(wishlist.id, None) og_id = wishlist.id #change its ID before updating it to trigger try-catch block wishlist.id = "asdf123" wishlist.name = "mike's hard wishlist" wishlist.save() # Fetch it back and make sure the id and data hasn't changed wishlists = Wishlist.all() self.assertEqual(len(wishlists), 1) self.assertEqual(wishlists[0].name, "mike's wishlist") self.assertEqual(wishlists[0].id, og_id)
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_create_error(self, create_mock): """Test create wishlist that returns error """ create_mock.side_effect = HTTPError wishlist = Wishlist("mike's wishlist", "mike") wishlist.save() self.assertEqual(len(Wishlist.all()), 0)
def data_load(payload): """ Loads a Wishlist into the database """ wishlist = Wishlist(payload['name'], payload['customer_id']) wishlist.save()