コード例 #1
0
    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.")
コード例 #2
0
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"])
コード例 #3
0
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)
コード例 #4
0
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"])
コード例 #5
0
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)
コード例 #6
0
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)