コード例 #1
0
ファイル: server.py プロジェクト: nguyenkatie1/lab-flask-bdd
def create_pets():
    """
    Creates a Pet
    This endpoint will create a Pet based the data in the body that is posted
    """
    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'],
            'category': request.form['category'],
            'available': True
        }
    else:
        app.logger.info('Getting data from API call')
        data = request.get_json()
    app.logger.info(data)
    pet = Pet()
    pet.deserialize(data)
    pet.save()
    message = pet.serialize()
    location_url = url_for('get_pets', pet_id=pet.id, _external=True)
    return make_response(jsonify(message), status.HTTP_201_CREATED,
                         {'Location': location_url})
コード例 #2
0
 def test_deserialize_a_pet(self):
     data = {"id": 1, "name": "kitty", "category": "cat"}
     pet = Pet(data['id'])
     pet.deserialize(data)
     self.assertNotEqual(pet, None)
     self.assertEqual(pet.id, 1)
     self.assertEqual(pet.name, "kitty")
     self.assertEqual(pet.category, "cat")
コード例 #3
0
 def test_deserialize_a_pet(self):
     """ Test deserialization of a Pet """
     data = {"id": 1, "name": "kitty", "category": "cat", "available": True}
     pet = Pet()
     pet.deserialize(data)
     self.assertNotEqual(pet, None)
     self.assertEqual(pet.id, None)
     self.assertEqual(pet.name, "kitty")
     self.assertEqual(pet.category, "cat")
     self.assertEqual(pet.available, True)
コード例 #4
0
 def post(self):
     """
     Creates a Pet
     This endpoint will create a Pet based the data in the body that is posted
     """
     app.logger.info('Request to Create a Pet')
     check_content_type('application/json')
     pet = Pet()
     app.logger.info('Payload = %s', api.payload)
     pet.deserialize(api.payload)
     pet.save()
     app.logger.info('Pet with new id [%s] saved!', pet.id)
     location_url = api.url_for(PetResource, pet_id=pet.id, _external=True)
     return pet.serialize(), status.HTTP_201_CREATED, {'Location': location_url}
コード例 #5
0
ファイル: test_pets.py プロジェクト: hh1834/lab-restful-flask
 def test_deserialize_a_pet(self):
     """ Test deserialization of a Pet """
     data = {"id": 1, "name": "kitty", "category": "cat"}
     pet = Pet()
     pet.deserialize(data)
     self.assertNotEqual(pet, None)
     self.assertEqual(pet.id, 0)  # id should be ignored
     self.assertEqual(pet.name, "kitty")
     self.assertEqual(pet.category, "cat")
     # test with id passed into constructor
     pet = Pet(1)
     pet.deserialize(data)
     self.assertNotEqual(pet, None)
     self.assertEqual(pet.id, 1)
     self.assertEqual(pet.name, "kitty")
     self.assertEqual(pet.category, "cat")