Skip to content

Azurite

MarkAbrams edited this page Jan 30, 2024 · 4 revisions

Standard Logic Apps have a dependency on Azure Storage services such as Blob, File Share, Queue and Table for metadata, run-time state and run history. When Standard Logic apps are run in a local development environment, Azurite is used to emulate the Azure Storage services. If Azurite is not installed or is not running in the local environment, workflows cannot be run.

The testing framework assumes that the environment in which the tests are running has Azurite installed.

The framework will automatically check that Azurite is listening to the required ports before running any tests. This feature ensures that tests fail quickly when Azurite is not running, as opposed to taking longer to run and then failing later in the Functions runtime. If Azurite is not listening on the required ports, an exception will be thrown by the testing framework:

LogicAppUnit.TestException: Azurite is not running on ports XXX (Blob service), YYY (Queue service) and ZZZ (Table service).
Logic App workflows cannot run unless all three services are running in Azurite.

If Azurite is listening, you will see this message recorded in the test execution log:

Azurite is listening on ports XXX (Blob service), YYY (Queue service) and ZZZ (Table service).

By default, the testing framework assumes that Azurite is using these ports:

  • 10000 (Blob service)
  • 10001 (Queue service)
  • 10002 (Table service)

If you have configured Azurite to use different ports, the automatic check can be configured using the azurite section of the testConfiguration.json file:

"azurite": {
    "blobServicePort": 10000,
    "queueServicePort": 10001,
    "tableServicePort": 10002
}

This Azurite port check can be disabled by setting the azurite.enableAzuritePortCheck option in the testConfiguration.json file to false:

"azurite": {
    "enableAzuritePortCheck": false
}

The default value is true.

Clone this wiki locally