def test_deserialize_a_customer(self): """ Test deserialization of a Customer """ data = { "id": 1, "firstname": "John", "lastname": "Doe", "email": "*****@*****.**", "subscribed": False, "address": { "address1": "123 Main St", "address2": "1B", "city": "New York", "province": "NY", "country": "USA", "zip": "12310" } } customer = Customer() customer.deserialize(data) self.assertNotEqual(customer, None) self.assertEqual(customer.id, None) self.assertEqual(customer.firstname, "John") self.assertEqual(customer.lastname, "Doe") self.assertEqual(customer.email, "*****@*****.**") self.assertEqual(customer.subscribed, False) self.assertEqual(customer.address1, "123 Main St") self.assertEqual(customer.address2, "1B") self.assertEqual(customer.city, "New York") self.assertEqual(customer.province, "NY") self.assertEqual(customer.country, "USA") self.assertEqual(customer.zip, "12310")
def test_deserialize_a_customer(self): """ Test deserialization of a customer """ data = { "first_name": "Marry", "last_name": "Wang", "user_id": "marrywang", "password": "******" } cust = Customer() cust.deserialize(data) self.assertNotEqual(cust, None) self.assertEqual(cust.customer_id, None) self.assertEqual(cust.first_name, "Marry") self.assertEqual(cust.last_name, "Wang") self.assertEqual(cust.user_id, "marrywang") self.assertEqual(cust.password, "password")
def post(self): """ Creates a Customer This endpoint will create a Customer based the data in the body that is posted """ app.logger.info('Request to Create a Customer') customer = Customer() app.logger.debug('Payload = %s', api.payload) customer.deserialize(api.payload) customer.create() app.logger.info('Customer with new id [%s] saved!', customer.id) location_url = api.url_for(CustomerResource, customer_id=customer.id, _external=True) return customer.serialize(), status.HTTP_201_CREATED, { 'Location': location_url }
def post(self): """Create a customer in the database""" app.logger.info('Creating a new customer') content_type = request.headers.get('Content-Type') data = {} if content_type == 'application/x-www-form-urlencoded': app.logger.info('Processing FORM data') app.logger.info(request.form) app.logger.info(type(request.form)) data = { 'username': request.form['username'], 'password': request.form['password'], 'first_name': request.form['first_name'], 'last_name': request.form['last_name'], 'address': request.form['address'], 'phone_number': request.form['phone_number'], 'active': request.form['active'], 'email': request.form['email'], 'id': request.form['id'] } elif content_type == 'application/json': app.logger.info('Processing JSON data') data = request.get_json() data.pop("_id", None) else: message = 'Unsupported Content-Type: {}'.format(content_type) app.logger.info(message) abort(status.HTTP_400_BAD_REQUEST, message) customer = Customer() try: customer.deserialize(data) except DataValidationError as error: raise BadRequest(str(error)) customer.save() app.logger.info('Customer with new id [%s] saved!', customer.id) location_url = api.url_for(CustomerResource, customer_id=customer.id, _external=True) return customer.serialize(), status.HTTP_201_CREATED, { 'Location': location_url }
def test_deserialize_a_customer(self): """ Test deserialization of a Customer """ data = { "first_name": "Arturo", "last_name": "Frank", "address": "USA", "email": "*****@*****.**", "username": "******", "password": "******", "phone_number": "1231231234", "active": True, "id": 1 } customer = Customer() customer.deserialize(data) self.assertNotEqual(customer, None) self.assertEqual(customer._id, None) self.assertEqual(customer.first_name, "Arturo") self.assertEqual(customer.last_name, "Frank")
def post(self): """ Creates a Customer This endpoint will create a Customer based the data in the body that is posted """ app.logger.info('Request to create a customer') check_content_type('application/json') cust = Customer() cust.deserialize(api.payload) cust.save() customer_id = cust.customer_id addr = Address() addr.deserialize(api.payload['address']) addr.customer_id = customer_id addr.save() cust.address_id = addr.id cust.save() message = cust.serialize() location_url = api.url_for(CustomerResource, user_id=cust.user_id, _external=True) return message, status.HTTP_201_CREATED, {'Location': location_url}
def test_deserialize_a_customer(self): """ Test deserialization of a Customer """ data = { "id": 1, "first_name": "John", "last_name": "Smith", "email": "*****@*****.**", "address": "123 Brooklyn Ave", "active": True, } customer = Customer() customer.deserialize(data) self.assertNotEqual(customer, None) self.assertEqual(customer.id, None) self.assertEqual(customer.first_name, "John") self.assertEqual(customer.last_name, "Smith") self.assertEqual(customer.email, "*****@*****.**") self.assertEqual(customer.address, "123 Brooklyn Ave") self.assertEqual(customer.active, True)