Пример #1
0
	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()
Пример #2
0
 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()
Пример #3
0
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})
Пример #4
0
 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)
Пример #5
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")
Пример #6
0
	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")
Пример #7
0
	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")
Пример #8
0
 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")
Пример #9
0
 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")
Пример #10
0
	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)
Пример #11
0
	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)
Пример #12
0
 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
     }
Пример #13
0
	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)
Пример #14
0
def data_load(payload):
    """ Loads a Wishlist into the database """
    wishlist = Wishlist(payload['name'], payload['customer_id'])
    wishlist.save()