chromium/services/service_manager/public/cpp/test/test_service_manager.h

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef SERVICES_SERVICE_MANAGER_PUBLIC_CPP_TEST_TEST_SERVICE_MANAGER_H_
#define SERVICES_SERVICE_MANAGER_PUBLIC_CPP_TEST_TEST_SERVICE_MANAGER_H_

#include <memory>
#include <vector>

#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "services/service_manager/public/cpp/identity.h"
#include "services/service_manager/public/cpp/manifest.h"
#include "services/service_manager/public/mojom/service.mojom.h"

namespace service_manager {

class BackgroundServiceManager;

// Creates a real ServiceManager instance for use in unit tests which want such
// a thing. Tests should use this class instead of depending on and constructing
// a |service_manager::ServiceManager| instance directly.
//
// NOTE: Using this object in tests requires a task execution environment, for
// example a live |base::test::TaskEnvironment| object.
class TestServiceManager {};

}  // namespace service_manager

#endif  // SERVICES_SERVICE_MANAGER_PUBLIC_CPP_TEST_TEST_SERVICE_MANAGER_H_