Esempio n. 1
0
def list_pets():
    """Returns all of the Pets"""
    app.logger.info("Request for pet list")

    pets = []

    category = request.args.get("category")
    name = request.args.get("name")
    available = request.args.get("available")
    gender = request.args.get("gender")

    if category:
        app.logger.info("Filtering by category: %s", category)
        pets = Pet.find_by_category(category)
    elif name:
        app.logger.info("Filtering by name:%s", name)
        pets = Pet.find_by_name(name)
    elif available:
        app.logger.info("Filtering by available: %s", available)
        is_available = available.lower() in ["yes", "y", "true", "t", "1"]
        pets = Pet.find_by_availability(is_available)
    elif gender:
        app.logger.info("Filtering by gender: %s", gender)
        pets = Pet.find_by_gender(gender)
    else:
        pets = Pet.all()

    results = [pet.serialize() for pet in pets]
    app.logger.info("Returning %d pets", len(results))
    return make_response(jsonify(results), status.HTTP_200_OK)
Esempio n. 2
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')
    available = request.args.get('available')
    if available:  # convert to boolean
        available = available.lower() in ['true', 'yes', '1']
    if category:
        app.logger.info('Find by category: %s', category)
        pets = Pet.find_by_category(category)
    elif name:
        app.logger.info('Find by name: %s', name)
        pets = Pet.find_by_name(name)
    elif available:
        app.logger.info('Find by available: %s', available)
        pets = Pet.find_by_availability(available)
    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)
Esempio n. 3
0
 def test_find_by_name(self):
     """ Find a Pet by Name """
     Pet("fido", "dog").save()
     Pet("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")
Esempio n. 4
0
 def test_find_by_name(self):
     """ Find a Pet by Name """
     Pet(name="fido", category="dog", available=True).create()
     Pet(name="kitty", category="cat", available=False).create()
     pets = Pet.find_by_name("kitty")
     self.assertEqual(pets[0].category, "cat")
     self.assertEqual(pets[0].name, "kitty")
     self.assertEqual(pets[0].available, False)
Esempio n. 5
0
 def test_vcap_services(self):
     """ Test if VCAP_SERVICES works """
     Pet.init_db()
     self.assertIsNotNone(Pet.client)
     Pet("fido", "dog", True).save()
     pets = Pet.find_by_name("fido")
     self.assertNotEqual(len(pets), 0)
     self.assertEqual(pets[0].name, "fido")
Esempio n. 6
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")
Esempio n. 7
0
 def test_find_by_name(self):
     """It should Find a Pet by Name"""
     pets = PetFactory.create_batch(5)
     for pet in pets:
         pet.create()
     name = pets[0].name
     found = Pet.find_by_name(name)
     self.assertEqual(found.count(), 1)
     self.assertEqual(found[0].category, pets[0].category)
     self.assertEqual(found[0].name, pets[0].name)
     self.assertEqual(found[0].available, pets[0].available)
     self.assertEqual(found[0].gender, pets[0].gender)
     self.assertEqual(found[0].birthday, pets[0].birthday)
Esempio n. 8
0
 def test_find_by_name(self):
     """Find a Pet by Name"""
     self._create_pets(5)
     saved_pet = PetFactory()
     saved_pet.name = "Rumpelstiltskin"
     saved_pet.create()
     # search by name
     pets = Pet.find_by_name("Rumpelstiltskin")
     self.assertNotEqual(len(pets), 0)
     pet = pets[0]
     self.assertEqual(pet.name, "Rumpelstiltskin")
     self.assertEqual(pet.category, saved_pet.category)
     self.assertEqual(pet.available, saved_pet.available)
     self.assertEqual(pet.gender, saved_pet.gender)
Esempio n. 9
0
def list_pets():
    """ Returns all of the Pets """
    app.logger.info("Request for pet list")
    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)
Esempio n. 10
0
def list_pets():
    """ Returns all of the Pets """
    app.logger.info('Request for List Pets')
    pets = []
    category = request.args.get('category')
    name = request.args.get('name')
    available = request.args.get('available')
    if category:
        pets = Pet.find_by_category(category)
    elif name:
        pets = Pet.find_by_name(name)
    elif available:
        pets = Pet.find_by_availability(available)
    else:
        pets = Pet.all()

    results = [pet.serialize() for pet in pets]
    return make_response(jsonify(results), status.HTTP_200_OK)
Esempio n. 11
0
    def get(self):
        """ Returns all of the Pets """
        app.logger.info('Request to list Pets...')
        pets = []
        category = request.args.get('category')
        name = request.args.get('name')
        available = request.args.get('available')
        if category:
            pets = Pet.find_by_category(category)
        elif name:
            pets = Pet.find_by_name(name)
        elif available:
            pets = Pet.find_by_availability(available)
        else:
            pets = Pet.all()

        app.logger.info('[%s] Pets returned', len(pets))
        results = [pet.serialize() for pet in pets]
        return results, status.HTTP_200_OK
Esempio n. 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)
Esempio n. 13
0
    def get(self):
        """ Returns all of the Pets """
        app.logger.info('Request to list Pets...')
        pets = []
        args = pet_args.parse_args()
        if args['category']:
            app.logger.info('Filtering by category: %s', args['category'])
            pets = Pet.find_by_category(args['category'])
        elif args['name']:
            app.logger.info('Filtering by name: %s', args['name'])
            pets = Pet.find_by_name(args['name'])
        elif args['available'] is not None:
            app.logger.info('Filtering by availability: %s', args['available'])
            pets = Pet.find_by_availability(args['available'])
        else:
            pets = Pet.all()

        app.logger.info('[%s] Pets returned', len(pets))
        results = [pet.serialize() for pet in pets]
        return results, status.HTTP_200_OK
Esempio n. 14
0
    def get(self):
        """ Returns all of the Pets """
        app.logger.info('Request to list Pets...')
        pets = []
        category = request.args.get('category')
        name = request.args.get('name')
        available = request.args.get('available')
        if category:
            app.logger.info('Filtering by category: %s', category)
            pets = Pet.find_by_category(category)
        elif name:
            app.logger.info('Filtering by name:%s', name)
            pets = Pet.find_by_name(name)
        elif available:
            app.logger.info('Filtering by available: %s', available)
            is_available = available.lower() in ['yes', 'y', 'true', 't', '1']
            pets = Pet.find_by_availability(is_available)
        else:
            pets = Pet.all()

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