scalus.testing.yaci
Members list
Type members
Classlikes
Configuration for Yaci DevKit container
Configuration for Yaci DevKit container
Value parameters
- containerName
-
Name for the Docker container (used with reuse)
- enableLogs
-
Enable container logs for debugging
- imageTag
-
bloxbean/yaci-cliimage tag to run. The default runs a protocol version 11 (van Rossem) node. Note: when reuseContainer is enabled, changing the tag while a container created from the old tag still exists causes a Docker name conflict - remove the old container (docker rm -f) first. - reuseContainer
-
Reuse the same container across test runs for faster iteration
- startupTimeoutSeconds
-
How long to wait for the devnet API to come up. Companion node mode boots the chain via the Yano bootstrap before the Haskell node takes over, which takes a few minutes.
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
YaciConfig.type
Singleton container holder for sharing across test suites with reference counting
Singleton container holder for sharing across test suites with reference counting
This object manages the lifecycle of a Yaci DevKit container instance, allowing multiple test suites to share the same container. Reference counting ensures the container stays alive as long as any test suite needs it.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
YaciContainer.type
Base trait for integration tests using Yaci DevKit with ScalaTest
Base trait for integration tests using Yaci DevKit with ScalaTest
This trait extends IntegrationTest and forces Yaci environment (ignores SCALUS_TEST_ENV). Use createYaciContext() to get a scalus.testing.integration.YaciTestContext with:
- Multi-party access (alice, bob, eve)
- Full HD account access via
account(Party.Alice with stake, drep, change keys) - Pre-registered pool ID for staking tests
For multi-environment tests, use IntegrationTest directly instead.
Usage:
class MyIntegrationTest extends AnyFunSuite with YaciDevKit {
test("submit transaction to devnet") {
val ctx = createYaciContext()
// ctx.account provides full HD wallet access (Party.Alice)
// ctx.alice, ctx.bob, ctx.eve for multi-party scenarios
}
}
The trait supports container reuse across test runs for faster iteration. Override yaciConfig to customize behavior:
override def yaciConfig = YaciConfig(
enableLogs = true,
reuseContainer = true
)
Attributes
- Supertypes
-
trait IntegrationTesttrait ScalusTesttrait Assertionstrait TripleEqualstrait TripleEqualsSupporttrait ArbitraryInstancestrait ArbitraryInstancestrait ArbitraryInstancestrait ArbitraryInstancestrait BeforeAndAfterAlltrait SuiteMixinclass Objecttrait Matchableclass AnyShow all
- Self type
-
Suite