ট্রেডফেডে কীস্টোরের একটি ধারণা অন্তর্ভুক্ত রয়েছে, যেখানে গোপনীয় তথ্য একটি কীস্টোর সার্ভিসে সংরক্ষণ করা যায় এবং পরীক্ষার সময় ব্যবহারের জন্য টেস্ট রানের সময় সেগুলোর অনুরোধ করা যায়।
একটি কীস্টোর ব্যবহার করুন
কীস্টোর ব্যবহার করতে হলে, আপনাকে প্রথমে আপনার গ্লোবাল কনফিগারেশনে কীস্টোরটির উৎস নির্ধারণ করতে হবে।
একবার হয়ে গেলে, আপনি সংরক্ষিত কীগুলি USE_KEYSTORE@{key} এর মাধ্যমে ব্যবহার করতে পারবেন।
JSONFileKeyStore
ট্রেডফেড কোরের নমুনা বাস্তবায়নে JSONFileKeyStoreClient নামক একটি JSON কীস্টোর ব্যবহৃত হয়। এই কীস্টোরটি ব্যবহার করার জন্য, আপনাকে একটি 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"
}
}
ফাইলটিতে কোনো এন্ট্রির কী (key) হলো হোস্টনেমটির জন্য একটি রেগুলার এক্সপ্রেশন (regex) প্যাটার্ন এবং ভ্যালু (value) হলো মিলে যাওয়া হোস্টনেমযুক্ত যেকোনো হোস্টের জন্য কী-ভ্যালু পেয়ারের সেট।
এরপর, হোস্ট-ভিত্তিক কীস্টোর ফাইলটি অন্তর্ভুক্ত করতে আপনার 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 দ্বারা নির্দিষ্ট করা কীস্টোর ফাইলের মানকে ওভাররাইড করে।
যখন কীস্টোরে একাধিক হোস্ট-ভিত্তিক কীস্টোর ফাইল থাকে, তখন তাদের ক্রম গুরুত্বপূর্ণ। যদি কোনো কী-এর মান একাধিক ফাইলে সংজ্ঞায়িত করা থাকে, তবে সর্বশেষ ফাইলের মানটি বাকিগুলোকে বাতিল করে দেয়।