Example #1
0
 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")
Example #3
0
 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
     }
Example #4
0
    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")
Example #6
0
 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}
Example #7
0
    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)