def test_parse_request_using_schema(self): class TestSchema(Schema): x = fields.Str(required=True) date = fields.Str(required=True) timestamp = fields.DateTime() @post_dump def date_to_string(self, output, **kwargs): return date_to_string_in_schema(output) class Meta: strict = True t_schema = TestSchema() valid_req = mock_request(type="valid") data = parse_request_using_schema(valid_req, t_schema) self.assertIsNotNone(data) self.assertIsNotNone(data["timestamp"]) self.assertTrue(isinstance(data["timestamp"], datetime)) invalid_req = mock_request(type="invalid") with self.assertRaises(Exception) as context_1: parse_request_using_schema(invalid_req, t_schema) messages_1 = context_1.exception.messages self.assertTrue(isinstance(context_1.exception, ValidationError)) self.assertTrue(len(messages_1) == 1) self.assertEqual(messages_1["x"][0], "Missing data for required field.") none_req = mock_request() with self.assertRaises(Exception) as context_2: parse_request_using_schema(none_req, t_schema) messages_2 = context_2.exception.messages self.assertTrue(isinstance(context_2.exception, ValidationError)) self.assertTrue(len(messages_2) == 1) self.assertEqual(messages_2["_schema"][0], "Invalid input type.")
def process_nse_pvd_data(): process_nse_pvd_data_request = parse_request_using_schema( request, ProcessNseDataRequest()) service_resp = process_nse_data(process_nse_pvd_data_request) return make_response(jsonify(service_resp), service_resp["status"])
def set_nse_pvd_data_csv(): nse_data_csv_req = parse_request_using_schema(request, NseDataCsvParseRequest()) service_resp = create_nse_data_from_csv(nse_data_csv_req) return make_response(jsonify(service_resp), 200)
def delete_nse_pvd_data_singular(): nse_delete_data = parse_request_using_schema(request, NseDataDeleteRequest()) repo_resp = delete_nse_data(nse_delete_data) return make_response(jsonify(repo_resp), repo_resp["status"])
def upsert_nse_pvd_data_singular(): nse_pvd_data = parse_request_using_schema(request, NsePriceVolumeDeliverableData()) repo_resp = upsert_nse_data_from_nse_pvd_data(nse_pvd_data) return make_response(jsonify(repo_resp), 200)
def get_dashboard_graph_data(): fetch_dashboard_data_req = parse_request_using_schema( request, FetchDashboardDataSchema()) service_resp = fetch_dashboard_graph_data(fetch_dashboard_data_req) return make_response(jsonify(service_resp), 200)