16 #ifndef TENSORFLOW_SERVING_CORE_TEST_UTIL_SERVABLE_HANDLE_TEST_UTIL_H_
17 #define TENSORFLOW_SERVING_CORE_TEST_UTIL_SERVABLE_HANDLE_TEST_UTIL_H_
19 #include "tensorflow/core/lib/core/status.h"
20 #include "tensorflow_serving/core/manager.h"
21 #include "tensorflow_serving/core/servable_handle.h"
22 #include "tensorflow_serving/core/servable_id.h"
24 namespace tensorflow {
36 static ServableHandle<T> WrapAsHandle(
const ServableId&
id, T* t) {
41 class DummyHandle :
public UntypedServableHandle {
43 explicit DummyHandle(
const ServableId&
id, T* servable)
44 : id_(id), servable_(servable) {}
46 AnyPtr servable()
override {
return servable_; }
48 const ServableId& id()
const override {
return id_; }
57 class DummyManager :
public Manager {
59 explicit DummyManager(
const ServableId&
id, T* servable)
60 : id_(id), servable_(servable) {}
66 Status GetUntypedServableHandle(
67 const ServableRequest& request,
68 std::unique_ptr<UntypedServableHandle>* result)
override {
69 result->reset(
new DummyHandle(id_, servable_));
74 std::map<ServableId, std::unique_ptr<UntypedServableHandle>>
75 GetAvailableUntypedServableHandles()
const override {
80 std::vector<ServableId> ListAvailableServableIds()
const override {
89 DummyManager manager{id, t};
90 ServableHandle<T> handle;
91 TF_CHECK_OK(manager.GetServableHandle({
"Dummy", 0}, &handle));