Skip to content

Commit 767c7df

Browse files
committed
chore: use mailslurp instead of gmail
1 parent 1942ff2 commit 767c7df

File tree

8 files changed

+47
-83
lines changed

8 files changed

+47
-83
lines changed

.github/workflows/ui-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ jobs:
6060
env:
6161
UNITY_APP_PATH: ${{ github.workspace }}/SampleApp.app
6262
UNITY_APP_NAME: SampleApp
63+
MAILSLURP_API_KEY: ${{ secrets.MAILSLURP_API_KEY }}
6364
working-directory: sample/Tests
6465
run: |
6566
chmod -R 755 ${{ github.workspace }}/SampleApp.app
6667
chmod +x test_mac.sh
67-
echo '${{ secrets.GMAIL_CREDENTIALS }}' > credentials.json
6868
./test_mac.sh
6969

sample/Tests/requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ google_auth_oauthlib==1.2.0
44
protobuf==5.27.2
55
selenium==4.22.0
66
pytest==8.2.2
7-
requests==2.32.3
7+
requests==2.32.3
8+
mailslurp-client==15.19.22

sample/Tests/src/device_code_login.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@
66
from selenium.webdriver.support import expected_conditions as EC
77
from selenium.webdriver.common.keys import Keys
88
import time
9-
from gmail_fetch_otp import fetch_gmail_code
10-
11-
9+
from fetch_otp import EMAIL, fetch_code
1210

1311
# brew install chromedriver
1412

@@ -48,8 +46,8 @@ def main():
4846
print("Wait for OTP...")
4947
time.sleep(10)
5048

51-
print("Get OTP from Gmail...")
52-
code = fetch_gmail_code()
49+
print("Get OTP from Mailslurp...")
50+
code = fetch_code()
5351
if code:
5452
print(f"Successfully fetched OTP: {code}")
5553
else:

sample/Tests/src/device_code_login_windows.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import time
99
from gmail_fetch_otp import fetch_gmail_code
1010

11-
11+
1212

1313
# Add chrome.exe to environment variable
1414
# Download chrome driver and add to environment variable

sample/Tests/src/fetch_otp.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import mailslurp_client
2+
from mailslurp_client.api import InboxControllerApi, WaitForControllerApi
3+
import re
4+
5+
INBOX_ID = "33f17f82-274b-4269-9ce6-c620e89fcd8d"
6+
7+
8+
def get_mailslurp_client():
9+
configuration = mailslurp_client.Configuration()
10+
configuration.api_key['x-api-key'] = os.getenv('MAILSLURP_API_KEY')
11+
api_client = mailslurp_client.ApiClient(configuration)
12+
waitfor_controller = WaitForControllerApi(api_client)
13+
return waitfor_controller
14+
15+
def extract_otp_from_email(email_body):
16+
# Pattern to match 6-digit code in Passport emails
17+
pattern = r'<h1[^>]*>(\d{6})</h1>'
18+
match = re.search(pattern, email_body)
19+
if match:
20+
return match.group(1)
21+
return None
22+
23+
def fetch_code():
24+
waitfor_controller = get_mailslurp_client()
25+
email = waitfor_controller.wait_for_latest_email(inbox_id=INBOX_ID, timeout=30000, unread_only=True)
26+
if email:
27+
otp = extract_otp_from_email(email.body)
28+
return otp
29+
return None

sample/Tests/src/gmail_fetch_otp.py

Lines changed: 0 additions & 69 deletions
This file was deleted.

sample/Tests/test/test.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55

66
from alttester import *
77

8+
class TestConfig:
9+
10+
PASSPORT_ID="email|671ed01e2ab74483c4fb1f42"
11+
WALLET_ADDRESS = "0x7dd423aeaccfbdd3a043bb8583085c7d97032de9"
12+
813
class UnityTest(unittest.TestCase):
914

1015
altdriver = None
@@ -30,11 +35,11 @@ def test_1_passport_functions(self):
3035

3136
# Get email
3237
self.altdriver.find_object(By.NAME, "GetEmail").tap()
33-
self.assertEqual("[email protected]", output.get_text())
38+
self.assertEqual(TestConfig.EMAIL, output.get_text())
3439

3540
# Get Passport ID
3641
self.altdriver.find_object(By.NAME, "GetPassportId").tap()
37-
self.assertEqual("google-oauth2|112226901974607178559", output.get_text())
42+
self.assertEqual(TestConfig.PASSPORT_ID, output.get_text())
3843

3944
# Get linked addresses
4045
self.altdriver.find_object(By.NAME, "GetLinkedAddresses").tap()
@@ -61,15 +66,15 @@ def test_2_imx_functions(self):
6166

6267
# Get address
6368
self.altdriver.find_object(By.NAME, "GetAddressBtn").tap()
64-
self.assertEqual("0x9cb14f273de4a8c3d8e9b4c5decbb53519dfa7bd", output.get_text())
69+
self.assertEqual(TestConfig.WALLET_ADDRESS, output.get_text())
6570

6671
# Show NFT transfer scene
6772
self.altdriver.find_object(By.NAME, "NftTransferBtn").tap()
6873
self.altdriver.wait_for_current_scene_to_be("ImxNftTransfer")
6974

7075
# Get all NFTs the user owns
7176
collection = "0x3765d19d5bc39b60718e43b4b12b30e87d383181"
72-
api_url = f"https://api.sandbox.immutable.com/v1/assets?collection={collection}&user=0x9cb14f273de4a8c3d8e9b4c5decbb53519dfa7bd&page_size=3"
77+
api_url = f"https://api.sandbox.immutable.com/v1/assets?collection={collection}&user={TestConfig.WALLET_ADDRESS}&page_size=3"
7378
token_ids = []
7479
try:
7580
# Make the API request
@@ -137,15 +142,15 @@ def test_3_zkevm_functions(self):
137142
# Initiliase wallet and get address
138143
self.altdriver.wait_for_object(By.NAME, "RequestAccountsBtn").tap()
139144
time.sleep(5)
140-
self.assertEqual("0x9cb14f273de4a8c3d8e9b4c5decbb53519dfa7bd", output.get_text())
145+
self.assertEqual(TestConfig.WALLET_ADDRESS, output.get_text())
141146

142147
# Show get balance scene
143148
self.altdriver.find_object(By.NAME, "GetBalanceBtn").tap()
144149
self.altdriver.wait_for_current_scene_to_be("ZkEvmGetBalance")
145150

146151
# Get balance of account
147152
address = self.altdriver.wait_for_object(By.NAME, "AddressInput")
148-
address.set_text("0x9cb14f273de4a8c3d8e9b4c5decbb53519dfa7bd")
153+
address.set_text(TestConfig.WALLET_ADDRESS)
149154
self.altdriver.find_object(By.NAME, "GetBalanceButton").tap()
150155
time.sleep(2)
151156
output = self.altdriver.find_object(By.NAME, "Output")

sample/Tests/test_mac.sh

100644100755
File mode changed.

0 commit comments

Comments
 (0)