10
10
11
11
def login_with_drexel_connect (session : Session ) -> Session :
12
12
response = send_request (session , config .drexel_connect_base_url , method = "GET" )
13
+ assert response .status_code == 200 , "Failed to get Drexel Connect login page"
13
14
soup = BeautifulSoup (response .text , "html.parser" )
14
15
15
16
csrf_token = extract_csrf_token (soup )
@@ -24,11 +25,13 @@ def login_with_drexel_connect(session: Session) -> Session:
24
25
25
26
# this should send the credentials and send the MFA request
26
27
response = send_request (session , config .drexel_connect_base_url + form_action_path , data = login_payload , method = "POST" )
28
+ assert response .status_code == 200 , "Failed to send request to Drexel Connect with username and password"
27
29
28
30
soup = BeautifulSoup (response .text , "html.parser" )
29
31
data = parse_initial_mfa_page (soup )
30
32
31
33
response = send_request (session , config .drexel_connect_base_url + data ["url" ], data = data ["form-data" ], method = "POST" )
34
+ assert response .status_code == 200 , "Failed to request MFA code page from Drexel Connect"
32
35
json_response = response .json ()
33
36
34
37
data = {
@@ -37,6 +40,7 @@ def login_with_drexel_connect(session: Session) -> Session:
37
40
}
38
41
39
42
response = send_request (session , config .drexel_connect_base_url + json_response ["flowExURL" ], data = data , method = "POST" )
43
+ assert response .status_code == 200 , "Failed to receive MFA code page from Drexel Connect"
40
44
soup = BeautifulSoup (response .text , "html.parser" )
41
45
42
46
parsed_data = parse_final_mfa_page (soup )
@@ -49,10 +53,9 @@ def login_with_drexel_connect(session: Session) -> Session:
49
53
"j_mfaToken" : totp_code ,
50
54
}
51
55
52
- # session.post(
53
- # config.drexel_connect_base_url + parsed_data["url"], data=data
54
- # )
55
- send_request (session , config .drexel_connect_base_url + parsed_data ["url" ], data = data , method = "POST" )
56
+ response = send_request (session , config .drexel_connect_base_url + parsed_data ["url" ], data = data , method = "POST" )
57
+ assert response .status_code == 200 , "Failed to send MFA code to Drexel Connect (final step)"
58
+
56
59
return session
57
60
58
61
0 commit comments