izumi.distage.testkit.model

Members list

Type members

Classlikes

final case class DistageTest[+F[_]](test: Functoid[F[Any]], environment: TestEnvironment, testMeta: TestMeta, suiteMeta: SuiteMeta)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed trait EnvResult

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object EnvResult

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
EnvResult.type
final case class FailedTest[F[_]](test: DistageTest[F], timedPlan: Timed[NEList[DIError]])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class FullMeta(test: TestMeta, suite: SuiteMeta)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed trait GroupResult

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object GroupResult

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait IndividualTestResult

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class PreparedTest[F[_]](test: DistageTest[F], timedPlan: Timed[Plan], roots: Set[DIKey])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class ScopeId(id: UUID) extends AnyVal

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class AnyVal
trait Matchable
class Any
Show all
final case class SuiteId(suiteId: String) extends AnyVal

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class AnyVal
trait Matchable
class Any
Show all
final case class SuiteMeta(suiteId: SuiteId, suiteName: String, suiteClassName: String)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed trait TestActivationStrategy

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object IgnoreConfig
class LoadConfig

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Show all
Self type
TestConfig.type
final case class TestConfig(pluginConfig: PluginConfig, bootstrapPluginConfig: PluginConfig = ..., activation: Activation = ..., moduleOverrides: Module = ..., bootstrapOverrides: BootstrapModule = ..., memoizationRoots: PriorityAxisDIKeys = ..., forcedRoots: AxisDIKeys = ..., parallelEnvs: Parallelism = ..., parallelSuites: Parallelism = ..., parallelTests: Parallelism = ..., configBaseName: String = ..., configOverrides: Option[AppConfig] = ..., bootstrapFactory: BootstrapFactory = ..., planningOptions: PlanningOptions = ..., logLevel: Level = ..., debugOutput: Boolean = ..., activationStrategy: TestActivationStrategy = ..., unusedValidAxisChoices: Set[AxisChoice] = ...)

User-defined test settings

User-defined test settings

General options:

Value parameters

activation

Chosen activation axes. Changes in izumi.distage.model.definition.Activation that alter implementations of components in memoizationRoots OR their dependencies will cause the test to execute in a new memoization environment, check the initial log output in tests for information about the memoization environments in your tests.

bootstrapFactory

BootstrapFactory, controls config loading & initial modules

bootstrapOverrides

Same as moduleOverrides, but for BootstrapModule Every distinct bootstrapPluginConfig will create a distinct memoization environment. Parallelism options:

bootstrapPluginConfig

Same as pluginConfig, but for izumi.distage.model.definition.BootstrapModule. Every distinct bootstrapPluginConfig will create a distinct memoization environment.

configBaseName

Search for config in HOCON resource files with names $configBaseName.conf, $configBaseName-reference.conf, $configBaseName-reference-dev.conf (see izumi.distage.framework.services.ConfigLoader

configOverrides

Overriding definitions on top of main loaded config, default None

debugOutput

Print testkit debug messages, including those helping diagnose memoization environment issues, default: false, also controlled by izumi.distage.testkit.DebugProperties.izumi.distage.testkit.debug system property

forcedRoots

Specifies components that will be treated as if they are a dependency of every test within this memoization environment. Components designated as forced roots will not be garbage collected even if there are no components or tests that depend on them. When combined with memoizationRoots, a distage.Lifecycle binding can be used to implement a global start/stop action (beforeAll/afterAll) for all tests within this memoization environment. Changes to forcedRoots that alter implementations of components in memoizationRoots OR their dependencies will cause the test to execute in a new memoization environment, check the initial log output in tests for information about the memoization environments in your tests.

logLevel

Log level for the logstage.IzLogger used in testkit and provided to the tests (will be overriden by plugin / module bindings if exist)

memoizationRoots

Specifies the components that will be created once and shared across all tests within the same memoization environment (i.e. with the same TestConfig) Every distinct set of memoizationRoots will create a distinct memoization environment

moduleOverrides

Override loaded plugins with a given Module. As long as overriden bindings are not memoized, or dependencies of memoized components, using overrides will NOT create a new memoization environment. Changes to moduleOverrides that alter implementations of components in memoizationRoots OR their dependencies will cause the test to execute in a new memoization environment, check the initial log output in tests for information about the memoization environments in your tests.

parallelEnvs

Parallelism of distinct memoization environments run, default: Parallelism.Unlimited. Sequential envs will run in sequence after the parallel ones.

parallelSuites

Parallelism of test suites run, default: Parallelism.Unlimited. Sequential suites will run in sequence after the parallel ones.

parallelTests

Parallelism of test cases run, default: Parallelism.Unlimited. Sequential tests will run in sequence after the parallel ones. Other options, Tests with different other options will run in distinct memoization environments:

planningOptions

PlanningOptions, debug options for distage.Planner

pluginConfig

Source of module definitions from which to build object graphs for each test. Changes to izumi.distage.plugins.PluginConfig that alter implementations of components in memoizationRoots OR their dependencies will cause the test to execute in a new memoization environment, check the initial log output in tests for information about the memoization environments in your tests. Components specified in memoizationRoots will be memoized only for the tests in the same memoization environment.

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object TestConfig
final case class TestEnvironment(bsModule: ModuleBase, appModule: ModuleBase, effectType: Tag[AnyF], defaultModule: Module, roles: RolesInfo, activationInfo: ActivationInfo, activation: Activation, memoizationRoots: PriorityAxisDIKeys, forcedRoots: AxisDIKeys, parallelEnvs: Parallelism, bootstrapFactory: BootstrapFactory, configBaseName: String, configOverrides: Option[AppConfig], planningOptions: PlanningOptions, logLevel: Level, activationStrategy: TestActivationStrategy)(parallelSuites: Parallelism, parallelTests: Parallelism, debugOutput: Boolean)

TestConfig allows the user to define test settings.

TestConfig allows the user to define test settings.

These settings are turned into TestEnvironment before they are handled by the test runner.

This process happens automatically and the user is not expected to directly interact with TestEnvironment

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final case class TestGroup[F[_]](preparedTests: List[PreparedTest[F]], failedTests: List[FailedTest[F]], strengthenedKeys: Set[SetElementKey])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TestId(path: Seq[String], suite: SuiteId)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TestMeta(id: TestId, pos: SourceFilePosition, uid: Long)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object TestStatus

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
TestStatus.type
sealed trait TestStatus

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class TestTree[F[_]](levelPlan: Plan, groups: List[TestGroup[F]], nested: List[TestTree[F]], parentKeys: Set[DIKey]) extends IzConsoleColors

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all