2.8 KiB
Executable File
Prepare and Run test:
-
Install Python3 and python module dependencies
-
Copy certificate and key to cert/ (dummy files are in git). These are needed for mtls.
-
Create your token and credentials json files. Instructions are found here: https://developers.google.com/sheets/api/quickstart/python
- Note: credentials represent you app. Token is generated when you login when running the script for the first time. Token has your private info from the login, so keep it private. Due to need for popping up a browser and login, first time you run this script should be on a setup when a browser can start, e.g. your laptop
-
Populate proper values in config.json [see below]
-
./runAllTests.sh
- csvfile: downloaded google sheet in csv format
- results-dir: where the result logs are kept.
- dbfile is the sqlite3 db to track already run requests. This prevents the same requests from being run again next time
- configfile: json file which has among configurations, the gmail account information + key/certificates. [see below]
- email (optional): "To" email. If not provided, the email will be sent to the requester.
The requests are recorded in the db, and will be skipped next time the command is run. You need to clear the sqlite3 db if you want to run everything all over again: rm
-
Optional: The user can choose to pick which request and response file to send: python3 send_mail.py --req --resp --recvr --conf config.json Optional: --cc_email can be used for cc
Config file format:
{
"sender_email":"sender@your-inc","password":"your-email-app-password","port":"465",
"cert":"path-to-cert", "key":"path-to-key","cc_email":"your-cc@your-inc", "afc_query":"query uri","start_row":"somerow","dry_run":"true/false"
}
query_uri is the uri for the query, eg. https://afc.broadcom.com/fbrat/ap-afc/availableSpectrumInquiry Password for your email can be set up differently depending on which email service. For gmail, you will need to log into your google account to set it up Optional fields: cc_email, start_row cc_email: cc email start_row: start requesting from this row in the spread sheet dry_run: "true" or "false". If true, the completed requests won't be put in the database, and will be repeated in next run
Prune test database
requests that are completed won't be repeated in next run. This is done by insert the UID in a database. To re-run all queries, delete the database. To prune selectively some UID in the database, use prune_db.py e.g. python3 prune_db.py --csv prune.csv --db test.db The test.db is the database prune csv is the file listing the UID to remove Format is as follows:
"UID"
first_uid
second_uid
...