11import os
2- os .chdir ("./tests" )
2+ import sys
3+ test_dir = os .path .dirname (os .path .abspath (__file__ ))
4+ project_root = os .path .dirname (test_dir )
5+ sys .path .insert (0 , os .path .join (project_root , "src" ))
6+ from etool import *
37import pytest
4- from etool import ManagerSpeed , ManagerShare
5- from etool import (
6- ManagerImage ,
7- ManagerEmail ,
8- ManagerDocx ,
9- ManagerExcel ,
10- ManagerPdf ,
11- ManagerIpynb ,
12- ManagerQrcode ,
13- )
14- from etool import ManagerPassword , ManagerScheduler
15-
8+ os .chdir ("./tests" )
169
1710def test_speed_manager ():
11+
1812 assert ManagerSpeed .network () is not None
13+
1914 assert ManagerSpeed .disk () is not None
15+
2016 assert ManagerSpeed .memory () is not None
2117 assert ManagerSpeed .gpu_memory () is not None
2218
@@ -35,17 +31,20 @@ def test_share_file():
3531@pytest .mark .skip (reason = "发送邮件不宜频繁测试,跳过" )
3632def test_email_manager ():
3733 # 假设 send_email 方法返回 True 表示成功
38- assert ManagerEmail .send_email (
39- 40- password = "********" ,
41- message = "测试邮件内容" ,
42- 43- 44- recipient_show = "[email protected] " ,
45- subject = "测试邮件" ,
46- file_path = "result.docx" ,
47- image_path = "pic1.webp" ,
48- ) == "send success"
34+ assert (
35+ ManagerEmail .send_email (
36+ 37+ password = "********" ,
38+ message = "测试邮件内容" ,
39+ 40+ 41+ recipient_show = "[email protected] " ,
42+ subject = "测试邮件" ,
43+ file_path = "result.docx" ,
44+ image_path = "pic1.webp" ,
45+ )
46+ == "send success"
47+ )
4948
5049
5150@pytest .mark .skip (reason = "定时发送不宜频繁测试,跳过" )
@@ -59,11 +58,11 @@ def func_success():
5958
6059 def func_failure ():
6160 print ("failure" )
61+
6262 # 每2秒执行一次job,成功时执行func_success,失败时执行func_failure
6363 ManagerScheduler .pocwatch (job , 2 , func_success , func_failure )
6464
6565
66-
6766def test_image_manager ():
6867 # 假设 merge_LR 和 merge_UD 方法返回合并后的图片路径
6968 assert ManagerImage .merge_LR (["pic1.webp" , "pic2.webp" ]) is not None
@@ -100,44 +99,90 @@ def test_qrcode_manager():
10099
101100def test_ipynb_manager ():
102101 # 假设 merge_notebooks 和 convert_notebook_to_markdown 方法返回 True 表示成功
103- assert ManagerIpynb .merge_notebooks ('ipynb_dir' ) is not None
104- assert ManagerIpynb .convert_notebook_to_markdown ('ipynb_dir.ipynb' , 'md' ) is not None
102+ assert ManagerIpynb .merge_notebooks ("ipynb_dir" ) is not None
103+ assert (
104+ ManagerIpynb .convert_notebook_to_markdown ("ipynb_dir.ipynb" , "md" ) is not None
105+ )
105106
106107
107108def test_docx_manager ():
108109 # 假设 get_pictures 方法返回提取的图片数量
109- assert ManagerDocx .replace_words ('ex1.docx' , '1' , '2' ) is not None
110- assert ManagerDocx .change_forward ('ex1.docx' , 'result.docx' ) is not None
111- assert ManagerDocx .get_pictures ('ex1.docx' , 'result' ) is not None
110+ assert ManagerDocx .replace_words ("ex1.docx" , "1" , "2" ) is not None
111+ assert ManagerDocx .change_forward ("ex1.docx" , "result.docx" ) is not None
112+ assert ManagerDocx .get_pictures ("ex1.docx" , "result" ) is not None
113+
112114
113115def test_excel_manager ():
114116 # 假设 excel_format 方法返回 True 表示成功
115- assert ManagerExcel .excel_format ('ex1.xlsx' , 'result.xlsx' ) is not None
117+ assert ManagerExcel .excel_format ("ex1.xlsx" , "result.xlsx" ) is not None
118+
116119
117120@pytest .mark .skip (reason = "CICD环境没有office组件,跳过" )
118121def test_pdf_manager ():
119122 # doc、xlsx等转换为pdf(转换一个)
120- ManagerPdf .pdfconverter (os .path .join (os .path .dirname (__file__ ),'pdf' ,'ex1.docx' ),os .path .join (os .path .dirname (__file__ ),'pdf_out' ))
123+ ManagerPdf .pdfconverter (
124+ os .path .join (os .path .dirname (__file__ ), "pdf" , "ex1.docx" ),
125+ os .path .join (os .path .dirname (__file__ ), "pdf_out" ),
126+ )
121127 # doc、xlsx等转换为pdf(转换一个目录下的所有文件)
122- ManagerPdf .pdfconverter (os .path .join (os .path .dirname (__file__ ),'pdf' ),os .path .join (os .path .dirname (__file__ ),'pdf_out' ))
128+ ManagerPdf .pdfconverter (
129+ os .path .join (os .path .dirname (__file__ ), "pdf" ),
130+ os .path .join (os .path .dirname (__file__ ), "pdf_out" ),
131+ )
123132
124133 # 给pdf文件添加水印(一个文件)
125- ManagerPdf .create_watermarks (os .path .join (os .path .dirname (__file__ ),'pdf_out' ,'ex1.pdf' ),os .path .join (os .path .dirname (__file__ ),'pdf_out' ,'watermarks.pdf' ),os .path .join (os .path .dirname (__file__ ),'pdf_out_watermark' ))
134+ ManagerPdf .create_watermarks (
135+ os .path .join (os .path .dirname (__file__ ), "pdf_out" , "ex1.pdf" ),
136+ os .path .join (os .path .dirname (__file__ ), "pdf_out" , "watermarks.pdf" ),
137+ os .path .join (os .path .dirname (__file__ ), "pdf_out_watermark" ),
138+ )
126139 # 给pdf文件添加水印(一个目录下的所有文件)
127- ManagerPdf .create_watermarks (os .path .join (os .path .dirname (__file__ ),'pdf_out' ),os .path .join (os .path .dirname (__file__ ),'pdf_out' ,'watermarks.pdf' ),os .path .join (os .path .dirname (__file__ ),'pdf_out_watermark' ))
140+ ManagerPdf .create_watermarks (
141+ os .path .join (os .path .dirname (__file__ ), "pdf_out" ),
142+ os .path .join (os .path .dirname (__file__ ), "pdf_out" , "watermarks.pdf" ),
143+ os .path .join (os .path .dirname (__file__ ), "pdf_out_watermark" ),
144+ )
128145
129146 # 合并pdf文件(一个目录下的所有文件)
130- ManagerPdf .merge_pdfs (os .path .join (os .path .dirname (__file__ ),'pdf_out' ),os .path .join (os .path .dirname (__file__ ),'pdf_out' ,'merged.pdf' ))
131-
147+ ManagerPdf .merge_pdfs (
148+ os .path .join (os .path .dirname (__file__ ), "pdf_out" ),
149+ os .path .join (os .path .dirname (__file__ ), "pdf_out" , "merged.pdf" ),
150+ )
151+
132152 # 拆分pdf文件(按页数)每3页一份
133- ManagerPdf .split_by_pages (os .path .join (os .path .dirname (__file__ ),'pdf_out' ,'merged.pdf' ),3 )
153+ ManagerPdf .split_by_pages (
154+ os .path .join (os .path .dirname (__file__ ), "pdf_out" , "merged.pdf" ), 3
155+ )
134156 # 拆分pdf文件(按份数)生成2份
135- ManagerPdf .split_by_num (os .path .join (os .path .dirname (__file__ ),'pdf_out' ,'merged.pdf' ),2 )
157+ ManagerPdf .split_by_num (
158+ os .path .join (os .path .dirname (__file__ ), "pdf_out" , "merged.pdf" ), 2
159+ )
136160
137161 # 将pdf ex2插入到pdf ex1的指定页后
138- ManagerPdf .insert_pdf (os .path .join (os .path .dirname (__file__ ),'pdf_out' ,'ex1.pdf' ),os .path .join (os .path .dirname (__file__ ),'pdf_out' ,'ex2.pdf' ),0 ,os .path .join (os .path .dirname (__file__ ),'pdf_out' ,'pdf_insert.pdf' ))
162+ ManagerPdf .insert_pdf (
163+ os .path .join (os .path .dirname (__file__ ), "pdf_out" , "ex1.pdf" ),
164+ os .path .join (os .path .dirname (__file__ ), "pdf_out" , "ex2.pdf" ),
165+ 0 ,
166+ os .path .join (os .path .dirname (__file__ ), "pdf_out" , "pdf_insert.pdf" ),
167+ )
139168
140169 # 加密pdf文件
141- ManagerPdf .encrypt_pdf (os .path .join (os .path .dirname (__file__ ),'pdf_out' ,'ex1.pdf' ),r"1234567890" )
170+ ManagerPdf .encrypt_pdf (
171+ os .path .join (os .path .dirname (__file__ ), "pdf_out" , "ex1.pdf" ), r"1234567890"
172+ )
142173 # 解密pdf文件
143- ManagerPdf .decrypt_pdf (os .path .join (os .path .dirname (__file__ ),'pdf_out' ,'ex1_encrypted.pdf' ),r"1234567890" )
174+ ManagerPdf .decrypt_pdf (
175+ os .path .join (os .path .dirname (__file__ ), "pdf_out" , "ex1_encrypted.pdf" ),
176+ r"1234567890" ,
177+ )
178+
179+
180+ def test_install_manager ():
181+ # 安装依赖
182+ requirements_file = os .path .join (os .path .dirname (__file__ ), "requirements.txt" )
183+ failed_file = os .path .join (os .path .dirname (__file__ ), "failed_requirements.txt" )
184+ continue_install = ManagerInstall .install (
185+ requirements_file = requirements_file , failed_file = failed_file , retry = 2
186+ )
187+ assert continue_install is True
188+ # pytest tests/test_etool.py --disable-warnings
0 commit comments