1010print (sys .path )
1111
1212from app .main import app
13+ from app .db .session import SessionLocal
1314
1415client = TestClient (app )
1516# 初始化全局变量headers
@@ -32,68 +33,84 @@ def setup_headers():
3233
3334# 创建后删除笔记
3435def test_note_case1 ():
35- global Headers
36- # 确保headers已经设置
37- if not Headers :
38- setup_headers ()
39-
40-
41- # 创建笔记
42- create_response = client .post ("/notes" , json = {
43- "article_id" : 1 ,
44- "content" : "<p> 12 <p>" ,
45- "title" : "test"
46- }, headers = Headers )
47- assert create_response .status_code == 200
48- note_id = create_response .json ().get ('note_id' )
49- if note_id is None :
50- raise ValueError ("Failed to get note_id from create note response" )
51-
52- # 删除笔记
53- delete_response = client .delete (f"/notes/{ note_id } " , headers = Headers )
54- assert delete_response .status_code == 200
55-
56- # 再次删除不存在的笔记
57- double_delete_response = client .delete (f"/notes/{ note_id } " , headers = Headers )
58- assert double_delete_response .status_code != 200
36+ db = SessionLocal ()
37+ db .begin ()
38+ try :
39+ global Headers
40+ # 确保headers已经设置
41+ if not Headers :
42+ setup_headers ()
43+
44+
45+ # 创建笔记
46+ create_response = client .post ("/notes" , json = {
47+ "article_id" : 1 ,
48+ "content" : "<p> 12 <p>" ,
49+ "title" : "test"
50+ }, headers = Headers )
51+ assert create_response .status_code == 200
52+ note_id = create_response .json ().get ('note_id' )
53+ if note_id is None :
54+ raise ValueError ("Failed to get note_id from create note response" )
55+
56+ # 删除笔记
57+ delete_response = client .delete (f"/notes/{ note_id } " , headers = Headers )
58+ assert delete_response .status_code == 200
59+
60+ # 再次删除不存在的笔记
61+ double_delete_response = client .delete (f"/notes/{ note_id } " , headers = Headers )
62+ assert double_delete_response .status_code == 200
63+ except Exception as e :
64+ db .rollback ()
65+ raise e
66+ finally :
67+ db .close ()
5968
6069
6170def test_note_case2 ():
62- global Headers
63- if not Headers :
64- setup_headers ()
65-
66- # 创建笔记
67- create_response = client .post ("/notes" , json = {
68- "article_id" : 1 ,
69- "content" : "<p> 12 <p>" ,
70- "title" : "test"
71- }, headers = Headers )
72- assert create_response .status_code == 200
73- note_id = create_response .json ().get ('note_id' )
74- if note_id is None :
75- raise ValueError ("Failed to get note_id from create note response" )
76-
77- print (note_id )
78- # 更新笔记
79- update_response = client .put (f"/notes/{ note_id } " , params = {
80- "content" : "<p> 123 <p>" ,
81- "title" : "test2"
82- }, headers = Headers )
83- print (update_response .json ())
84- assert update_response .status_code == 200
85-
86-
87-
88- # 获取笔记
89- get_response = client .get (f"/notes" ,params = {
90- "id" : note_id
91- }, headers = Headers )
92- assert get_response .status_code == 200
93- assert get_response .json ().get ('notes' )[0 ].get ('id' ) == note_id
94- assert get_response .json ().get ('notes' )[0 ].get ('content' ) == "<p> 123 <p>"
95-
96-
97- #删除笔记
98- delete_response = client .delete (f"/notes/{ note_id } " , headers = Headers )
99- assert delete_response .status_code == 200
71+ db = SessionLocal ()
72+ db .begin ()
73+ try :
74+ global Headers
75+ if not Headers :
76+ setup_headers ()
77+
78+ # 创建笔记
79+ create_response = client .post ("/notes" , json = {
80+ "article_id" : 1 ,
81+ "content" : "<p> 12 <p>" ,
82+ "title" : "test"
83+ }, headers = Headers )
84+ assert create_response .status_code == 200
85+ note_id = create_response .json ().get ('note_id' )
86+ if note_id is None :
87+ raise ValueError ("Failed to get note_id from create note response" )
88+
89+ print (note_id )
90+ # 更新笔记
91+ update_response = client .put (f"/notes/{ note_id } " , params = {
92+ "content" : "<p> 123 <p>" ,
93+ "title" : "test2"
94+ }, headers = Headers )
95+ print (update_response .json ())
96+ assert update_response .status_code == 200
97+
98+
99+
100+ # 获取笔记
101+ get_response = client .get (f"/notes" ,params = {
102+ "id" : note_id
103+ }, headers = Headers )
104+ assert get_response .status_code == 200
105+ assert get_response .json ().get ('notes' )[0 ].get ('id' ) == note_id
106+ assert get_response .json ().get ('notes' )[0 ].get ('content' ) == "<p> 123 <p>"
107+
108+
109+ #删除笔记
110+ delete_response = client .delete (f"/notes/{ note_id } " , headers = Headers )
111+ assert delete_response .status_code == 200
112+ except Exception as e :
113+ db .rollback ()
114+ raise e
115+ finally :
116+ db .close ()
0 commit comments