// 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: [ "trace/client.shard.cml" ],
    collections: [
        {
            name: "drm-tests",
            environment: "#test-env",
            durability: "transient",
        },
    ],
    offer: [
        {
            event_stream: [ "capability_requested" ],
            from: "parent",
            to: "#drm-tests",
            scope: "#drm-tests",
        },
        {
            // These hermetic protocols are offered to be used by tests.
            protocol: [
                // Tests can write to debug logs
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.logger.LogSink",
                "fuchsia.process.Launcher",
            ],
            from: "parent",
            to: "#drm-tests",
        },

        // These system capabilities are offered for use by the drm tests.
        {
            protocol: [
                "fuchsia.boot.FactoryItems",
                "fuchsia.hwinfo.Board",
                "fuchsia.hwinfo.Device",
                "fuchsia.hwinfo.Product",
                "fuchsia.inspect.InspectSink",
                "fuchsia.net.http.Loader",
                "fuchsia.sysmem.Allocator",
                "fuchsia.sysmem2.Allocator",
            ],
            from: "parent",
            to: "#drm-tests",
        },
        {
            directory: "dev-sysmem",
            from: "parent",
            to: "#drm-tests",
            rights: [ "r*" ],
        },
        {
            directory: "dev-securemem",
            from: "parent",
            to: "#drm-tests",
            rights: [ "r*" ],
        },
        {
            directory: "dev-tee",
            from: "parent",
            to: "#drm-tests",
            rights: [ "r*" ],
        },
        {
            directory: "boot",
            from: "parent",
            to: "#drm-tests",
            rights: [ "rx*" ],
        },
        {
            storage: "fxfs_tests_data",
            from: "self",
            as: "data",
            to: [ "#drm-tests" ],
            rights: [ "rw*" ],
        },
        {
            directory: "root-ssl-certificates",
            from: "parent",
            to: "#drm-tests",
            rights: [ "r*" ],
        },
        {
            directory: "config-data",
            from: "parent",
            to: "#drm-tests",
        },
        {
            storage: "tmp",
            from: "self",
            to: "#drm-tests",
        },
        {
            storage: "cache",
            from: "self",
            to: "#drm-tests",
        },
    ],
}
