// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package ios_test_plugin;
option optimize_for = LITE_RUNTIME;
service TestPluginService {
// API to signal the plugin service that a test case is about to start
rpc TestCaseWillStart(TestCaseWillStartRequest)
returns (TestCaseWillStartResponse) {};
// API to signal the plugin service that a test case has finished running
rpc TestCaseDidFinish(TestCaseDidFinishRequest)
returns (TestCaseDidFinishResponse) {};
// API to signal the plugin service that a test case failed unexpectedly
rpc TestCaseDidFail(TestCaseDidFailRequest)
returns (TestCaseDidFailResponse) {};
// API to signal the plugin service that the test bundle is about to finish
rpc TestBundleWillFinish(TestBundleWillFinishRequest)
returns (TestBundleWillFinishResponse) {};
// API to check on what plugins are enabled for the current test run
rpc ListEnabledPlugins(ListEnabledPluginsRequest)
returns (ListEnabledPluginsResponse) {};
}
// Request to signal that a test case is about to start
message TestCaseWillStartRequest {
TestCaseInfo test_case_info = 1;
DeviceInfo device_info = 2;
}
// Empty response because gRPC doesn't support null response
message TestCaseWillStartResponse {}
// Request to signal that a test case is finished
message TestCaseDidFinishRequest {
TestCaseInfo test_case_info = 1;
DeviceInfo device_info = 2;
}
// Empty response
message TestCaseDidFinishResponse {}
// Request to signal that a test case failed unexpectedly
message TestCaseDidFailRequest {
TestCaseInfo test_case_info = 1;
DeviceInfo device_info = 2;
}
// Empty response
message TestCaseDidFailResponse {}
// Request to signal that test bundle is about to finish
message TestBundleWillFinishRequest {
DeviceInfo device_info = 1;
}
// Empty response
message TestBundleWillFinishResponse {}
// Request to get the list of enabled plugins
message ListEnabledPluginsRequest {}
// Response for a list of enabled plugins
message ListEnabledPluginsResponse {
repeated string enabled_plugins = 1;
}
message TestCaseInfo {
string name = 1;
}
message DeviceInfo {
string name = 1;
}