class Pdmodel: rap = Namespace('/', description='PD Scoring for Digital Loans') res = rap.model( 'PD Output', { "ApplicationNumber": fields.String(required=True, description="application number from LOS"), "GUID": fields.String(description="GUID from LOS"), "Name": fields.String(description="Customer Full Name"), "MarketingCode": fields.String(description="Marketing Code from LOS"), "CustomerType": fields.String(required=True, description="Is new or existing Customer"), "CIF": fields.String(required=True, description="CIF data for existing customer"), "KTP": fields.String(required=True, description="Customer's KTP", attribute='IDNumber'), "PD_Original": fields.Fixed(required=True, description="Original PD Score", attribute='pd', decimals=3), "PD_Recodification": fields.Fixed(required=True, description="Recodification Score", attribute='pd_recode', decimals=3) })
def test_fixed(self): field5 = fields.Fixed(5) field4 = fields.Fixed(4) self.assert_field(field5, PI, "3.14159") self.assert_field(field4, PI, "3.1416") self.assert_field(field4, 3, "3.0000") self.assert_field(field4, "03", "3.0000") self.assert_field(field4, "03.0", "3.0000")
def test_fixed(self): field5 = fields.Fixed(5) field4 = fields.Fixed(4) self.assert_field(field5, PI, '3.14159') self.assert_field(field4, PI, '3.1416') self.assert_field(field4, 3, '3.0000') self.assert_field(field4, '03', '3.0000') self.assert_field(field4, '03.0', '3.0000')
def test_nan(self): field = fields.Fixed() self.assert_field_raises(field, "NaN")
def test_infinite(self): field = fields.Fixed() self.assert_field_raises(field, "+inf") self.assert_field_raises(field, "-inf")
def test_zero(self): self.assert_field(fields.Fixed(), "0", "0.00000")
def test_with_default(self): field = fields.Fixed(default=0.5) assert not field.required assert field.__schema__ == {"type": "number", "default": 0.5}
def test_defaults(self): field = fields.Fixed() assert not field.required assert field.__schema__ == {"type": "number"}
@orders_namespace.marshal_with(order, as_list=True) def get_orders(): return get_all_orders() order_items_namespace = Namespace("order_items") order_item = order_items_namespace.model( "OrderItem", { "id": fields.Integer(readOnly=True), "order_id": fields.Integer(required=True), "catalog_id": fields.Integer(required=True), "catalog_item_id": fields.Integer(required=True), "quantity": fields.Integer(required=True), "actual_cost": fields.Fixed(decimals=2, required=True), "points_cost": fields.Integer(required=True), "created_date": fields.DateTime, }, ) @order_items_namespace.marshal_with(order_item, as_list=True) def get_items_by_order_id(order_id): return get_all_order_items_by_order_id(order_id) ### def build_csv(file, attrs):
'pages': fields.Integer(description='Total number of pages of results'), 'per_page': fields.Integer(description='Number of items per page of results'), 'total': fields.Integer(description='Total number of results'), }) page_of_jobs = api.inherit('Page of jobs', pagination, { 'items': fields.List(fields.Nested(job_output)) }) marketplace_project_input = api.model('Marketplace Project Input', { 'user_email': fields.String(required=True), 'partner_email': fields.String(required=False), 'category_id': fields.Integer(required=True), 'name': fields.String(required=True), 'description': fields.String(required=True), 'price': fields.Fixed(decimals=2, required=True), 'created_at': fields.DateTime(required=False) }) marketplace_project_output = api.model('Marketplace Project Output', { 'id': fields.Integer(required=True), 'created_at': fields.DateTime(required=True), 'assets': fields.List(fields.Nested(product_asset_output), required=True), 'user_email': fields.String(required=True), 'partner_email': fields.String(required=False), 'category_id': fields.Integer(required=True), 'name': fields.String(required=True), 'description': fields.String(required=True), 'price': fields.Fixed(decimals=2, required=True), })
api = Namespace('tarjetametrobus', description='Tarjeta MetroBus operations') VerifyModel = api.model( 'Verify', { "number": fields.String(description='Card number'), "id": fields.String(description='Identifier'), "enabled": fields.Boolean(description="Available"), "type": fields.String(description='Contract type'), }) CardModel = api.model( 'Card', { "ksi": fields.String(description='Key Session Identifier'), "number": fields.String(description='Card number'), "state": fields.String(description='Contract status'), "balance": fields.Fixed(description="Current balance", decimals=2), "lastTimeUsed": fields.String(description='Last time used'), }) UseModel = api.model( 'Use', { "month": fields.String(description='Month name'), "uses": fields.Integer(description='Month uses count'), "amount": fields.Fixed(description="Month amount", decimals=2), }) ChargeModel = api.model( 'Charge', { "month": fields.String(description='Month name'), "charges": fields.Integer(description='Month charges count'), "amount": fields.Fixed(description="Month amount", decimals=2),
sentiment_request = api.model( 'SentimentRequest', { 'datetime': fields.DateTime( required=True, dt_format='iso8601', description= 'The datetime to analyse in UTC ISO 8601 format (will be truncated to the hour).' ), }) sentiment_response = api.model( 'SentimentResponse', { 'sentiment': fields.Fixed( decimals=4, description= 'Cryptocurrency sentiment [-1,1] for the requested time period.'), }) @api.route('/') class Sentiment(Resource): '''Shows a list of all todos, and lets you POST to add new tasks''' @api.doc('post_sentiment') @api.expect(sentiment_request) @api.marshal_with(sentiment_response) def post(self): '''Request sentiment for a particular hour''' # TODO: production logging # truncate to the hour
def test_infinite(self): field = fields.Fixed() self.assert_field_raises(field, '+inf') self.assert_field_raises(field, '-inf')
def test_zero(self): self.assert_field(fields.Fixed(), '0', '0.00000')
def test_with_default(self): field = fields.Fixed(default=0.5) assert not field.required assert field.__schema__ == {'type': 'number', 'default': 0.5}
def test_defaults(self): field = fields.Fixed() assert not field.required assert field.__schema__ == {'type': 'number'}