// Copyright 2022 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
{
    include: [
        "//src/sys/test_runners/rust/default.shard.cml",
        "//src/sys/test_runners/tmp_storage.shard.cml",
        "syslog/use.shard.cml",
    ],
    program: {
        binary: "bin/iquery_test",
    },
    children: [
        {
            name: "archivist",
            url: "#meta/archivist-for-embedding.cm",
            startup: "eager",
        },
        {
            name: "realm_builder_server",
            url: "#meta/realm_builder_server.cm",
        },
    ],
    collections: [
        {
            name: "realm_builder",
            environment: "#realm_builder_env",
            durability: "transient",
        },
    ],
    use: [
        {
            protocol: "fuchsia.component.Realm",
            from: "framework",
        },
        {
            protocol: "fuchsia.sys2.RealmExplorer",
            from: "framework",
            path: '/svc/fuchsia.sys2.RealmExplorer.root',
        },
        {
            protocol: "fuchsia.sys2.RealmQuery",
            from: "framework",
            path: '/svc/fuchsia.sys2.RealmQuery.root',
        },
        {
            protocol: "fuchsia.diagnostics.ArchiveAccessor",
            from: "#archivist",
        },
    ],
    offer: [
        {
            event_stream: [
                "capability_requested",
                "stopped",
            ],
            from: "parent",
            to: "#archivist",
        },
        {
            protocol: "fuchsia.logger.LogSink",
            from: "parent",
            to: "#archivist",
        },
        {
            protocol: [
                "fuchsia.inspect.InspectSink",
                "fuchsia.logger.LogSink",
            ],
            from: "#archivist",
            to: [
                "#realm_builder",
                "#realm_builder_server",
            ],
        },
    ],
    environments: [
        {
            name: "realm_builder_env",
            extends: "realm",
            runners: [
                {
                    runner: "realm_builder",
                    from: "#realm_builder_server",
                },
            ],
            resolvers: [
                {
                    resolver: "realm_builder_resolver",
                    from: "#realm_builder_server",
                    scheme: "realm-builder",
                },
            ],
        },
    ],
}
