4
4
import pandas as pd
5
5
import pytest
6
6
7
- HttpRequestMock = pytest .importorskip (' googleapiclient.http.HttpRequestMock' )
8
- Credentials = pytest . importorskip ( ' google.oauth2.credentials. Credentials' )
7
+ googleapiclient = pytest .importorskip (" googleapiclient" )
8
+ from google .oauth2 .credentials import Credentials
9
9
from unittest .mock import MagicMock , patch
10
10
11
11
from melusine .connectors .gmail import GmailConnector
@@ -22,10 +22,10 @@ def mocked_gc():
22
22
with patch ("melusine.connectors.gmail.os.path.exists" ) as mock_exists :
23
23
mock_exists .return_value = True
24
24
mock_service = MagicMock ()
25
- mock_service .users ().getProfile .return_value = HttpRequestMock (
25
+ mock_service .users ().getProfile .return_value = googleapiclient . http . HttpRequestMock (
26
26
None , {
"emailAddress" :
"[email protected] " },
return_value
27
27
)
28
- mock_service .users ().labels ().list .return_value = HttpRequestMock (
28
+ mock_service .users ().labels ().list .return_value = googleapiclient . http . HttpRequestMock (
29
29
None ,
30
30
{
31
31
"labels" : [
@@ -70,10 +70,10 @@ def test_init(mock_exists, mock_creds_from_file, mock_build, caplog):
70
70
# Mocking necessary objects and methods
71
71
mock_exists .return_value = True
72
72
mock_service = MagicMock ()
73
- mock_service .users ().getProfile .return_value = HttpRequestMock (
73
+ mock_service .users ().getProfile .return_value = googleapiclient . http . HttpRequestMock (
74
74
None , {
"emailAddress" :
"[email protected] " },
return_value
75
75
)
76
- mock_service .users ().labels ().list .return_value = HttpRequestMock (
76
+ mock_service .users ().labels ().list .return_value = googleapiclient . http . HttpRequestMock (
77
77
None ,
78
78
{
79
79
"labels" : [
@@ -113,10 +113,10 @@ def test_init(mock_exists, mock_creds_from_file, mock_build, caplog):
113
113
def test_init_without_creds (mock_flow , mock_build , caplog ):
114
114
# Mocking necessary objects and methods
115
115
mock_service = MagicMock ()
116
- mock_service .users ().getProfile .return_value = HttpRequestMock (
116
+ mock_service .users ().getProfile .return_value = googleapiclient . http . HttpRequestMock (
117
117
None , {
"emailAddress" :
"[email protected] " },
return_value
118
118
)
119
- mock_service .users ().labels ().list .return_value = HttpRequestMock (
119
+ mock_service .users ().labels ().list .return_value = googleapiclient . http . HttpRequestMock (
120
120
None ,
121
121
{
122
122
"labels" : [
@@ -154,10 +154,10 @@ def test_init_without_creds(mock_flow, mock_build, caplog):
154
154
155
155
156
156
def test_gc_get_emails (mocked_gc , simple_email_raw , caplog ):
157
- mocked_gc .service .users ().messages ().list .return_value = HttpRequestMock (
157
+ mocked_gc .service .users ().messages ().list .return_value = googleapiclient . http . HttpRequestMock (
158
158
None , {"messages" : [{"id" : "123" }]}, return_value
159
159
)
160
- mocked_gc .service .users ().messages ().get .return_value = HttpRequestMock (
160
+ mocked_gc .service .users ().messages ().get .return_value = googleapiclient . http . HttpRequestMock (
161
161
None ,
162
162
{
163
163
"id" : "123" ,
@@ -188,10 +188,10 @@ def test_gc_get_emails(mocked_gc, simple_email_raw, caplog):
188
188
189
189
190
190
def test_gc_get_emails_complex_mail (mocked_gc , complex_email_raw , caplog ):
191
- mocked_gc .service .users ().messages ().list .return_value = HttpRequestMock (
191
+ mocked_gc .service .users ().messages ().list .return_value = googleapiclient . http . HttpRequestMock (
192
192
None , {"messages" : [{"id" : "123" }]}, return_value
193
193
)
194
- mocked_gc .service .users ().messages ().get .return_value = HttpRequestMock (
194
+ mocked_gc .service .users ().messages ().get .return_value = googleapiclient . http . HttpRequestMock (
195
195
None ,
196
196
{
197
197
"id" : "123" ,
@@ -222,7 +222,9 @@ def test_gc_get_emails_complex_mail(mocked_gc, complex_email_raw, caplog):
222
222
223
223
224
224
def test_gc_get_emails_none (mocked_gc , simple_email_raw , caplog ):
225
- mocked_gc .service .users ().messages ().list .return_value = HttpRequestMock (None , {}, return_value )
225
+ mocked_gc .service .users ().messages ().list .return_value = googleapiclient .http .HttpRequestMock (
226
+ None , {}, return_value
227
+ )
226
228
with caplog .at_level (logging .DEBUG ):
227
229
df = mocked_gc .get_emails (1 , None , "2024/01/01" , "2024/05/03" )
228
230
@@ -236,7 +238,7 @@ def test_gc_get_emails_none(mocked_gc, simple_email_raw, caplog):
236
238
237
239
@patch ("builtins.input" , side_effect = ["y" , "n" ])
238
240
def test_gc_check_or_create_label (mock_input , mocked_gc , caplog ):
239
- mocked_gc .service .users ().labels ().create .return_value = HttpRequestMock (
241
+ mocked_gc .service .users ().labels ().create .return_value = googleapiclient . http . HttpRequestMock (
240
242
None ,
241
243
{
242
244
"id" : "Label_3" ,
@@ -262,7 +264,9 @@ def test_gc_check_or_create_label(mock_input, mocked_gc, caplog):
262
264
263
265
264
266
def test_gc_move_to_done (mocked_gc , caplog ):
265
- mocked_gc .service .users ().messages ().modify .return_value = HttpRequestMock (None , {}, return_value )
267
+ mocked_gc .service .users ().messages ().modify .return_value = googleapiclient .http .HttpRequestMock (
268
+ None , {}, return_value
269
+ )
266
270
with caplog .at_level (logging .DEBUG ):
267
271
mocked_gc .move_to_done (["dummy_id" ])
268
272
@@ -282,7 +286,9 @@ def test_gc_move_to_error(mocked_gc, caplog):
282
286
283
287
284
288
def test_gc_route_emails (mocked_gc , caplog ):
285
- mocked_gc .service .users ().messages ().modify .return_value = HttpRequestMock (None , {}, return_value )
289
+ mocked_gc .service .users ().messages ().modify .return_value = googleapiclient .http .HttpRequestMock (
290
+ None , {}, return_value
291
+ )
286
292
287
293
df = pd .DataFrame (
288
294
{
@@ -304,14 +310,18 @@ def test_gc_route_emails(mocked_gc, caplog):
304
310
305
311
306
312
def test_gc_send_email (mocked_gc , fake_image , caplog ):
307
- mocked_gc .service .users ().messages ().send .return_value = HttpRequestMock (None , {"id" : "12456" }, return_value )
313
+ mocked_gc .service .users ().messages ().send .return_value = googleapiclient .http .HttpRequestMock (
314
+ None , {"id" : "12456" }, return_value
315
+ )
308
316
309
317
with caplog .at_level (logging .DEBUG ):
310
318
mocked_gc .send_email (
311
- "melusine_testing. yopmail.com" ,
319
+ "melusine_testing@ yopmail.com" ,
312
320
"Testing Header" ,
313
321
"Testing Body" ,
314
322
{"attachment.jpg" : fake_image },
315
323
)
316
324
317
- assert "Email sent to [email protected] , Message Id: 12456" in caplog .
text
325
+ assert "12456" in caplog .text
326
+ assert "Email sent to" in caplog .text
327
+ assert "[email protected] " in caplog .
text
0 commit comments