Commit ed8b0196 authored by Wei Shoulin's avatar Wei Shoulin
Browse files

feat(client): add count_by_dataset function to level0 and level1 clients

- Added count_by_dataset method to level0.py to query data counts grouped by dataset
- Added count_by_dataset method to level1.py to query data counts grouped by dataset
- Updated test_level0.py to include test case for count_by_dataset
- Updated test_level1.py to include test case for count_by_dataset
- Commented out multiple test methods in test_level0.py and test_level1.py
parent 6be6c689
Pipeline #10923 failed with stages
in 0 seconds
......@@ -391,3 +391,13 @@ def delete(dataset: str, data_model: str = 'raw') -> Result:
"""
return request.delete("/api/level0/delete", params = {"dataset": dataset, "data_model": data_model})
def count_by_dataset() -> Result:
"""
查询0级数据按数据集分组的数量
Returns:
Result: 成功后,Result.data为数据列表,失败message为失败原因
"""
return request.get("/api/level0/count_by_dataset")
\ No newline at end of file
......@@ -358,4 +358,14 @@ def delete(dataset: str, batch_id: str, data_model: str) -> Result:
Result: 操作的结果对象,包含操作是否成功以及相关的错误信息,成功返回数据对象
"""
return request.delete("/api/level1/delete", params = {"dataset": dataset, "batch_id": batch_id, "data_model": data_model})
\ No newline at end of file
return request.delete("/api/level1/delete", params = {"dataset": dataset, "batch_id": batch_id, "data_model": data_model})
def count_by_dataset() -> Result:
"""
查询0级数据按数据集分组的数量
Returns:
Result: 成功后,Result.data为数据列表,失败message为失败原因
"""
return request.get("/api/level1/count_by_dataset")
......@@ -7,69 +7,74 @@ class Level0TestCase(unittest.TestCase):
def setUp(self):
pass
def test_find(self):
start_time = time.time()
result = level0.find(instrument='MSC', dataset="msc-v093", CRVAL1=170)
print(f"1操作执行时间: {time.time() - start_time} 秒")
start_time = time.time()
result = level0.find(instrument='MSC', dataset="msc-v093",
ra_obj = 170,
dec_obj = -24,
radius = 1)
print(f"2操作执行时间: {time.time() - start_time} 秒, 数据量:{result['total_count']}")
start_time = time.time()
result = level0.find(instrument='MSC', file_name="CSST_MSC_MS_SCI_20240609181116_20240609181347_10109100157991_27_L0_V01.fits")
print(f"3操作执行时间: {time.time() - start_time} 秒, 数据量:{result['total_count']}")
self.assertEqual(result.code, 200, "error code: " + result.message)
self.assertIsNotNone(result.data, "error message: " + result.message)
# def test_find(self):
# start_time = time.time()
# result = level0.find(instrument='MSC', dataset="msc-v093", CRVAL1=170)
# print(f"1操作执行时间: {time.time() - start_time} 秒")
# start_time = time.time()
# result = level0.find(instrument='MSC', dataset="msc-v093",
# ra_obj = 170,
# dec_obj = -24,
# radius = 1)
# print(f"2操作执行时间: {time.time() - start_time} 秒, 数据量:{result['total_count']}")
# start_time = time.time()
# result = level0.find(instrument='MSC', file_name="CSST_MSC_MS_SCI_20240609181116_20240609181347_10109100157991_27_L0_V01.fits")
# print(f"3操作执行时间: {time.time() - start_time} 秒, 数据量:{result['total_count']}")
# self.assertEqual(result.code, 200, "error code: " + result.message)
# self.assertIsNotNone(result.data, "error message: " + result.message)
def test_get_by_uuid(self):
result = level0.get_by_uuid(uuid = "0199d622-afd7-4ff7-a70e-95378a1ca638")
print(result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
self.assertIsNotNone(result.data, "error message: " + result.message)
def test_find_by_level0_id(self):
result = level0.find_by_level0_id(level0_id = "1060940003452925")
print(result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
self.assertIsNotNone(result.data, "error message: " + result.message)
# def test_get_by_uuid(self):
# result = level0.get_by_uuid(uuid = "0199d622-afd7-4ff7-a70e-95378a1ca638")
# print(result)
# self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
# self.assertIsNotNone(result.data, "error message: " + result.message)
# def test_find_by_level0_id(self):
# result = level0.find_by_level0_id(level0_id = "1060940003452925")
# print(result)
# self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
# self.assertIsNotNone(result.data, "error message: " + result.message)
def test_update_qc_status(self):
result = level0.update_qc_status(level0_id = "1010910015799127", qc_status=1, dataset="msc-v093")
print(result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
# def test_update_qc_status(self):
# result = level0.update_qc_status(level0_id = "1010910015799127", qc_status=1, dataset="msc-v093")
# print(result)
# self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
def test_update_qc_status_by_ids(self):
result = level0.update_qc_status_by_ids(ids = ["676ac74a530b47ca41568858"], qc_status=4)
print(result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
# def test_update_qc_status_by_ids(self):
# result = level0.update_qc_status_by_ids(ids = ["676ac74a530b47ca41568858"], qc_status=4)
# print(result)
# self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
def test_update_prc_status(self):
result = level0.update_prc_status(level0_id = "1010910015799127", dag_run="202411071002481234", prc_status=3)
print(result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
# def test_update_prc_status(self):
# result = level0.update_prc_status(level0_id = "1010910015799127", dag_run="202411071002481234", prc_status=3)
# print(result)
# self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
def test_update_prc_status_by_ids(self):
result = level0.update_prc_status_by_ids(ids = ["676ac74a530b47ca41568858"], prc_status=4)
print(result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
# def test_update_prc_status_by_ids(self):
# result = level0.update_prc_status_by_ids(ids = ["676ac74a530b47ca41568858"], prc_status=4)
# print(result)
# self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
def test_write(self):
file_path = "/Users/wsl/temp/csst/import/CSST_MSC_MS_SCI_20240609181116_20240609181347_10109100157991_27_L0_V01.fits"
result = level0.write(local_file = file_path, dataset= 'msc-v093')
print(result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
# def test_write(self):
# file_path = "/Users/wsl/temp/csst/import/CSST_MSC_MS_SCI_20240609181116_20240609181347_10109100157991_27_L0_V01.fits"
# result = level0.write(local_file = file_path, dataset= 'msc-v093')
# print(result)
# self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
def test_find_process(self):
result = level0.find_process(level0_id="1060940003452925")
print(result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
def test_add_process(self):
result = level0.add_process(level0_id="1060940003452925",
dag="csst-msc-l1-mbi",
dag_run="202411071002481234",
dataset="v93",
batch_id="v930batch",
prc_date="2024-11-07 10:24:12", prc_status=1, prc_module="MSC", message="")
# def test_find_process(self):
# result = level0.find_process(level0_id="1060940003452925")
# print(result)
# self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
# def test_add_process(self):
# result = level0.add_process(level0_id="1060940003452925",
# dag="csst-msc-l1-mbi",
# dag_run="202411071002481234",
# dataset="v93",
# batch_id="v930batch",
# prc_date="2024-11-07 10:24:12", prc_status=1, prc_module="MSC", message="")
# print(result)
# self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
def test_count_by_dataset(self):
result = level0.count_by_dataset()
print(result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
\ No newline at end of file
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
self.assertIsNotNone(result.data, "error message: " + result.message)
......@@ -33,28 +33,28 @@ class Level1TestCase(unittest.TestCase):
# print(result)
# self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
def test_write(self):
file_path = "/Users/wsl/temp/csst/L1/MSC/CSST_MSC_MS_WIDE_20230413214557_20230413214827_10100070335_13_L1_V01.fits"
# from io import BytesIO
# with open(file_path, "rb") as file:
# file_path = BytesIO(file.read())
# def test_write(self):
# file_path = "/Users/wsl/temp/csst/L1/MSC/CSST_MSC_MS_WIDE_20230413214557_20230413214827_10100070335_13_L1_V01.fits"
# # from io import BytesIO
# # with open(file_path, "rb") as file:
# # file_path = BytesIO(file.read())
result = level1.write(local_file = file_path,
obs_group="10109100157991",
obs_type="WIDE",
instrument = "MSC",
level0_id="1010910015799127",
level1_id = "1010910015799127",
dag = "csst-msc-l1-mbi",
file_name= "CSST_MSC_MS_WIDE_20230413214557_20230413214827_10100070335_13_L1_V01.fits",
pmapname="csst_000128.pmap",
data_model='csst-msc-l1-mbi',
build=1,
qc_status=10,
dataset='msc-v093',
batch_id="inttest")
print(result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
# result = level1.write(local_file = file_path,
# obs_group="10109100157991",
# obs_type="WIDE",
# instrument = "MSC",
# level0_id="1010910015799127",
# level1_id = "1010910015799127",
# dag = "csst-msc-l1-mbi",
# file_name= "CSST_MSC_MS_WIDE_20230413214557_20230413214827_10100070335_13_L1_V01.fits",
# pmapname="csst_000128.pmap",
# data_model='csst-msc-l1-mbi',
# build=1,
# qc_status=10,
# dataset='msc-v093',
# batch_id="inttest")
# print(result)
# self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
# def test_find_process(self):
# result = level1.find_process(level1_id="1060940003452925")
......@@ -78,4 +78,10 @@ class Level1TestCase(unittest.TestCase):
# def test_update_prc_status_by_ids(self):
# result = level1.update_prc_status_by_ids(ids = ["676ac74a530b47ca41568858"], prc_status=4)
# print(result)
# self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
\ No newline at end of file
# self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
def test_count_by_dataset(self):
result = level1.count_by_dataset()
print(result)
self.assertEqual(result.code, 200, "error code: " + str(result.code) + ", message: " + result.message)
self.assertIsNotNone(result.data, "error message: " + result.message)
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment