def test_name_property(): property = models.Property() property.key = 'key' property.type = 'type' eq_( str(property), "<Property: {} {} {}>".format(property.id, property.type, property.key))
def create_property_from_json(json): property = models.Property() property.id = json['id'] property.type = json['type'] property.key = json['key'] property.created_at = get_datetime_from_json_attr(json, 'created_at') property.updated_at = get_datetime_from_json_attr(json, 'updated_at') return property
class Property(flask_restful.Resource): def __init__(self): self.parsers = {'get': reqparse.RequestParser()} self.parsers['get'].add_argument('key').add_argument('type') @validate_client() @validate_id() def get(self, client, id=None): args = self.parsers['get'].parse_args() key = args['key'] type = args['type'] if id: property = models.Property.get(client.id, id) if property is None: return marshal( {'error': { 'message': 'Property {} not found'.format(id) }}, error_fields), 404 return marshal({'property': property}, one_property_fields) else: response = { 'properties': models.Property.all(client.id, key, type) } return marshal(response, properties_fields) @validate_client(True) def post(self, client): json = request.get_json(silent=True) logging.getLogger(__name__).debug('POST property: %s', json) try: validate(json, property_input_format) except ValidationError, e: return marshal({'error': { 'message': utils.parse_error(e) }}, error_fields), 400 property = models.Property() mapper.fill_from_json(property, json, mapper.property_mapping) property.client = client db.session.add(property) try: db.session.commit() db.session.refresh(property) except IntegrityError, e: return marshal({'error': { 'message': utils.parse_error(e) }}, error_fields), 409