tree: b89fd0f8362bf087b576a84888aa84babacbb119 [path history] [tgz]
  1. ams_tests/
  2. unit_tests/
  3. README.md
local_agent/tests/README.md

Local Agent Tests

This folder contains unit and functional (integration with backend) tests for Local Agent.

You'll have to install the extra packages to run the tests:

$ source <venv-name>/bin/activate
$ cd /path/to/{repo-base}/local-agent
$ pip install .[test]

Unit Test

Run all the unit tests and show the coverage report.

  1. Activate the virtual environment.
  2. Execute the coverage tool:
    cd /path/to/{repo-base}/local-agent/local_agent/tests/unit_tests/
    coverage run --source={LOCAL_AGENT_PACKAGE_PATH}/local_agent/ -m unittest discover && coverage report
    
    where {LOCAL_AGENT_PACKAGE_PATH} can be obtained by the following command:
    $ pip show local-agent | grep -e "^Location" | awk -F " " '{print $2}'
    

Real AMS Test

Important: If you‘re NOT an internal Googler or tester, you won’t be able to run this test.

Run the local agent with a real Test Suite Backend (AMS).

  1. Backend setup: If you‘re an internal Googler or tester, please contact the local agent author for the backend deployment; Otherwise, you won’t be able to deploy the backend.

  2. Edit the local agent config file: filling the AMS_HOST and AMS_PORT fields with the AMS configurations. Contact the local agent author if you're not sure about the backend configurations. See example_config.ini for references.

  3. Activate the virtual environment.

  4. Connect your Matter devices with the above mentioned testabilities to the host machine. (You can still run the AMS test without connecting any devices).

  5. Start the fake front end process
    Use -host [tsb_host] and -port [tsb_port] to indicate the host and port of deployed backend, the fake front end will use host=localhost and port=8000 if the arguments are not provided.
    For example:
    Run with real devices

    python fake_front_end.py
    
  6. Start the local agent process:

    local-agent -u [config file location]
    

    or just put the config under ~/.config/google/local_agent_config.ini, then start the process parameterlessly:

    local-agent
    
  7. The Local Agent should prompt the user for entering the linking code, which is displayed in the console of fake_front_end process.