def test_update_pet_with_no_data(self):
     """ Update a Pet with no data passed """
     pet = Pet.find_by_name('kitty')[0]
     resp = self.app.put('/pets/{}'.format(pet.id),
                         data=None,
                         content_type='application/json')
     self.assertEqual(resp.status_code, status.HTTP_400_BAD_REQUEST)
 def test_update_pet_with_text_data(self):
     """ Update a Pet with text data """
     pet = Pet.find_by_name('kitty')[0]
     resp = self.app.put('/pets/{}'.format(pet.id),
                         data="hello",
                         content_type='text/plain')
     self.assertEqual(resp.status_code, status.HTTP_400_BAD_REQUEST)
Beispiel #3
0
 def test_find_by_name(self):
     """ Find a Pet by Name """
     Pet(0, "fido", "dog").save()
     Pet(0, "kitty", "cat").save()
     pets = Pet.find_by_name("fido")
     self.assertNotEqual(len(pets), 0)
     self.assertEqual(pets[0].category, "dog")
     self.assertEqual(pets[0].name, "fido")
 def test_update_pet_with_no_name(self):
     """ Update a Pet without a name """
     pet = Pet.find_by_name('kitty')[0]
     new_pet = {'category_id': self.dog_id}
     resp = self.app.put('/pets/{}'.format(pet.id),
                         json=new_pet,
                         content_type='application/json')
     self.assertEqual(resp.status_code, status.HTTP_400_BAD_REQUEST)
Beispiel #5
0
 def test_find_by_name(self):
     """ Find a Pet by Name """
     Pet(name="fido", category="dog", available=True).save()
     Pet(name="kitty", category="cat", available=False).save()
     pets = Pet.find_by_name("kitty")
     self.assertEqual(pets[0].category, "cat")
     self.assertEqual(pets[0].name, "kitty")
     self.assertEqual(pets[0].available, False)
Beispiel #6
0
 def test_find_by_name(self):
     """ Find a Pet by Name """
     Pet(name="fido", category_id=TestPets.dog.id, available=True).save()
     Pet(name="kitty", category_id=TestPets.cat.id, available=False).save()
     pets = Pet.find_by_name("kitty")
     self.assertEqual(pets[0].category_id, TestPets.cat.id)
     self.assertEqual(pets[0].name, "kitty")
     self.assertEqual(pets[0].available, False)
 def test_get_pet(self):
     """ Get a single Pet """
     # get the id of a pet
     pet = Pet.find_by_name('fido')[0]
     resp = self.app.get('/pets/{}'.format(pet.id),
                         content_type='application/json')
     self.assertEqual(resp.status_code, status.HTTP_200_OK)
     data = resp.get_json()
     self.assertEqual(data['name'], pet.name)
Beispiel #8
0
 def test_for_case_insensitive(self):
     """ Test for Case Insensitive Search """
     Pet(0, "Fido", "DOG").save()
     Pet(0, "Kitty", "CAT").save()
     pets = Pet.find_by_name("fido")
     self.assertNotEqual(len(pets), 0)
     self.assertEqual(pets[0].name, "Fido")
     pets = Pet.find_by_category("cat")
     self.assertNotEqual(len(pets), 0)
     self.assertEqual(pets[0].category, "CAT")
 def test_delete_pet(self):
     """ Delete a Pet """
     pet = Pet.find_by_name('fido')[0]
     # save the current number of pets for later comparrison
     pet_count = self.get_pet_count()
     resp = self.app.delete('/pets/{}'.format(pet.id),
                            content_type='application/json')
     self.assertEqual(resp.status_code, status.HTTP_204_NO_CONTENT)
     self.assertEqual(len(resp.data), 0)
     new_count = self.get_pet_count()
     self.assertEqual(new_count, pet_count - 1)
Beispiel #10
0
 def test_update_pet(self):
     """ Update an existing Pet """
     pet = Pet.find_by_name('kitty')[0]
     new_kitty = dict(name='kitty', category='tabby', available=True)
     data = json.dumps(new_kitty)
     resp = self.app.put('/pets/{}'.format(pet.id),
                         data=data,
                         content_type='application/json')
     self.assertEqual(resp.status_code, status.HTTP_200_OK)
     new_json = json.loads(resp.data)
     self.assertEqual(new_json['category'], 'tabby')
Beispiel #11
0
def list_pets():
    """ Returns all of the Pets """
    pets = []
    category = request.args.get('category')
    name = request.args.get('name')
    if category:
        pets = Pet.find_by_category(category)
    elif name:
        pets = Pet.find_by_name(name)
    else:
        pets = Pet.all()

    results = [pet.serialize() for pet in pets]
    return make_response(jsonify(results), status.HTTP_200_OK)
Beispiel #12
0
def list_pets():
    """ Returns all of the Pets """
    app.logger.info('Request to list Pets...')
    pets = []
    category = request.args.get('category')
    name = request.args.get('name')
    if category:
        app.logger.info('Find by category')
        pets = Pet.find_by_category(category)
    elif name:
        app.logger.info('Find by name')
        pets = Pet.find_by_name(name)
    else:
        app.logger.info('Find all')
        pets = Pet.all()

    app.logger.info('[%s] Pets returned', len(pets))
    results = [pet.serialize() for pet in pets]
    return make_response(jsonify(results), status.HTTP_200_OK)