Arke.Test.Bootstrap (Arke v0.7.0)

Copy Markdown View Source

Populates the Arke managers from registry files, in memory, without a database.

In production the managers are filled by ArkePostgres.init/0 from persisted rows, which mix arke.seed_project had seeded from the registry files. A test suite has neither step, so this module feeds the registry straight into Arke.handle_manager/4.

# test/test_helper.exs
ExUnit.start()
Arke.Test.Bootstrap.start()

Downstream packages layer their own registry on top of arke's:

Arke.Test.Bootstrap.start(apps: [:arke, :arke_auth])

Entries are loaded into :arke_system only. Manager lookups fall back to :arke_system when an id is missing from the requested project, so system arkes resolve from every project without being duplicated into each.

Pair with Arke.Test.Sandbox to keep tests from leaking state into one another.

Summary

Functions

Loads the registry of :apps into the managers.

Functions

start(opts \\ [])

@spec start(keyword()) :: :ok

Loads the registry of :apps into the managers.

Options

  • :apps — apps whose registry to load, layered in order. Defaults to :arke plus the current Mix project.