Tradefed כולל את הקונספט של מאגר מפתחות, שבו אפשר לאחסן סודות בשירות של מאגר מפתחות ולבקש אותם בזמן הרצת הבדיקה לשימוש במהלך הבדיקה.
שימוש במאגר מפתחות
כדי להשתמש במאגר מפתחות, קודם צריך להגדיר את המקור של מאגר המפתחות בהגדרה הגלובלית.
לאחר מכן תוכלו להשתמש במפתחות השמורים באמצעות: USE_KEYSTORE@{key}
JSONFileKeyStore
בהטמעה לדוגמה בליבה של Tradefed נעשה שימוש במאגר מפתחות מסוג JSON, JSONFileKeyStoreClient
. כדי להשתמש במאגר המפתחות הזה, צריך להגדיר קובץ מפתחות בפורמט JSON עם מיפויים של מפתחות לערכים.
לדוגמה, אפשר להגדיר קובץ /path/to/keystore.json
בתור
{
"test_account": "foo@gmail.com",
"test_account_pwd": "helloworld",
"wifi_lab_ssid": "Google_private_AP",
"wifi_lab_pwd": "secret123",
}
לאחר מכן, מוסיפים את השורות הבאות לקובץ התצורה הגלובלי של TF:
<key_store class="com.android.tradefed.util.keystore.JSONFileKeyStoreFactory">
<option name="json-key-store-file" value="/path/to/keystore.json" />
</key_store>
כשמריצים בדיקות קשורות, עכשיו אפשר להעביר ערכים בתור USE_KEYSTORE@test_account
, ואז TF ישלח שאילתה למאגר המפתחות וישתמש בערך כחלק מהבדיקה.
קובץ של מאגר מפתחות מבוסס-מארח
כדי להגדיר צמדי מפתח/ערך מבוססי-מארח, אפשר להגדיר קובץ /path/to/keystore_ssid.json
בתור
{
"host_a.*\\.corp\\.com": {
"wifi_lab_ssid": "ssid_a",
"wifi_lab_pwd": "secret_a"
},
"host_b.*\\.corp\\.com": {
"wifi_lab_ssid": "ssid_b",
"wifi_lab_pwd": "secret_b"
}
}
המפתח של רשומה בקובץ הוא דפוס של ביטוי רגולרי (regex) לשם המארח, והערך הוא קבוצת צמדי מפתח/ערך לכל מארח עם שם מארח תואם.
לאחר מכן מעדכנים את קובץ התצורה הגלובלי של TF כך שיכלול את קובץ מאגר המפתחות המבוסס-מארח:
<key_store class="com.android.tradefed.util.keystore.JSONFileKeyStoreFactory">
<option name="json-key-store-file" value="/path/to/keystore.json" />
<option name="host-based-key-store-file" value="/path/to/keystore-ssid.json" />
</key_store>
הערך של מפתח שמוגדר בקובץ מאגר מפתחות מבוסס-מארח מבטל את הערך שמוגדר בקובץ מאגר המפתחות שצוין באמצעות json-key-store-file
.
כשיש כמה קובצי מאגר מפתחות מבוססי-מארח במאגר המפתחות, הסדר חשוב. אם הערך של מפתח מוגדר במספר קבצים, הערך בקובץ האחרון מבטל את שאר הערכים.