Hello @Jeffrey K
I hope the below resources help with your initial query.
How do we automate testing individual modules after installing them to the Edge devices?
---> Please refer to the: Azure IoT SDK for node project for ideas? For example, end-to-end tests.
Each project has unit tests, for example, edge hub: https://github.com/Azure/iotedge/tree/master/edge-hub/test
Ref:https://github.com/Azure/iotedge/issues/1380
If the modules are installed to the Edge devices, how do I get notified to begin the automation test as I'm using Azure Edge deployment?
How does IoTmodule in the Edge device get notified when the related IoTmodules are installed by the the EdgeAgent?
-----> Please refer to the: Monitor IoT Edge deployments, you may automate the monitoring by using the Az CLI.
Local communication: [1.1 LTS]
https://learn.microsoft.com/en-us/azure/iot-edge/iot-edge-runtime?view=iotedge-2018-06#module-communication
IoT Edge hub facilitates module to module communication. Using IoT Edge hub as a message broker keeps modules independent from each other.
Module to Module communication: Reference discussion: https://github.com/Azure/iotedge/issues/338#issuecomment-424242036
I addition to using direct methods, it's also possible for two modules to communicate directly with each other, bypassing the Edge Hub. The runtime, via Docker's networking capabilities, manages the DNS entries for each module (container). This allows one module to resolve the IP address of another module by its name.
For an example of this in action, you can follow the SQL tutorial here: https://learn.microsoft.com/en-us/azure/iot-edge/tutorial-store-data-sql-server. This tutorial uses a module to read data out of the Edge Hub and write it into another module hosting SQLServer using the SQLServer client SDK. This interaction with SQLServer does not use the Edge Hub for communicating. Ref(https://github.com/Azure/iotedge/issues/338#issuecomment-424446426)
The edge agent does not connect to edgeHub by design as the agent's direct methods are privileged and need service creds to access. EdgeAgent methods can only be invoked from the service side (Portal, CLI, program with service credentials, etc.)
A module's methods can in fact be invoked by another module as long as both modules are connected to the edgeHub. See step 3(https://learn.microsoft.com/en-us/azure/iot-edge/tutorial-deploy-stream-analytics#view-data) of this tutorial where the Stream Analytics module invokes reset method on the temp sensor module. Ref
Too long response, my apologies, as I wanted to provide the best possible references to help you!.
If the response is helpful, please click "Accept Answer" and upvote it.