refactor: Rename GetTestStatusResponse enum for clarity
- Changed the enum name from Status to TestStatus in GetTestStatusResponse to improve clarity and better reflect its purpose. - Updated the corresponding function ConvertHarnessStatus to align with the new enum name, ensuring consistency across the codebase.
This commit is contained in:
@@ -109,7 +109,7 @@ struct RPCState {
|
||||
|
||||
namespace {
|
||||
|
||||
::yaze::test::GetTestStatusResponse_Status ConvertHarnessStatus(
|
||||
::yaze::test::GetTestStatusResponse_TestStatus ConvertHarnessStatus(
|
||||
::yaze::test::HarnessTestStatus status) {
|
||||
switch (status) {
|
||||
case ::yaze::test::HarnessTestStatus::kQueued:
|
||||
|
||||
@@ -52,20 +52,20 @@ yaze::test::WidgetType ConvertWidgetTypeFilterToProto(WidgetTypeFilter filter) {
|
||||
}
|
||||
|
||||
TestRunStatus ConvertStatusProto(
|
||||
yaze::test::GetTestStatusResponse::Status status) {
|
||||
using ProtoStatus = yaze::test::GetTestStatusResponse::Status;
|
||||
yaze::test::GetTestStatusResponse::TestStatus status) {
|
||||
using ProtoStatus = yaze::test::GetTestStatusResponse::TestStatus;
|
||||
switch (status) {
|
||||
case ProtoStatus::GetTestStatusResponse_Status_STATUS_QUEUED:
|
||||
case ProtoStatus::GetTestStatusResponse_TestStatus_STATUS_QUEUED:
|
||||
return TestRunStatus::kQueued;
|
||||
case ProtoStatus::GetTestStatusResponse_Status_STATUS_RUNNING:
|
||||
case ProtoStatus::GetTestStatusResponse_TestStatus_STATUS_RUNNING:
|
||||
return TestRunStatus::kRunning;
|
||||
case ProtoStatus::GetTestStatusResponse_Status_STATUS_PASSED:
|
||||
case ProtoStatus::GetTestStatusResponse_TestStatus_STATUS_PASSED:
|
||||
return TestRunStatus::kPassed;
|
||||
case ProtoStatus::GetTestStatusResponse_Status_STATUS_FAILED:
|
||||
case ProtoStatus::GetTestStatusResponse_TestStatus_STATUS_FAILED:
|
||||
return TestRunStatus::kFailed;
|
||||
case ProtoStatus::GetTestStatusResponse_Status_STATUS_TIMEOUT:
|
||||
case ProtoStatus::GetTestStatusResponse_TestStatus_STATUS_TIMEOUT:
|
||||
return TestRunStatus::kTimeout;
|
||||
case ProtoStatus::GetTestStatusResponse_Status_STATUS_UNSPECIFIED:
|
||||
case ProtoStatus::GetTestStatusResponse_TestStatus_STATUS_UNSPECIFIED:
|
||||
default:
|
||||
return TestRunStatus::kUnknown;
|
||||
}
|
||||
@@ -79,17 +79,17 @@ GuiAutomationClient::GuiAutomationClient(const std::string& server_address)
|
||||
|
||||
absl::Status GuiAutomationClient::Connect() {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
auto channel = grpc::CreateChannel(server_address_,
|
||||
grpc::InsecureChannelCredentials());
|
||||
auto channel =
|
||||
grpc::CreateChannel(server_address_, grpc::InsecureChannelCredentials());
|
||||
if (!channel) {
|
||||
return absl::InternalError("Failed to create gRPC channel");
|
||||
}
|
||||
|
||||
|
||||
stub_ = yaze::test::ImGuiTestHarness::NewStub(channel);
|
||||
if (!stub_) {
|
||||
return absl::InternalError("Failed to create gRPC stub");
|
||||
}
|
||||
|
||||
|
||||
// Test connection with a ping
|
||||
auto result = Ping("connection_test");
|
||||
if (!result.ok()) {
|
||||
@@ -97,7 +97,7 @@ absl::Status GuiAutomationClient::Connect() {
|
||||
absl::StrFormat("Failed to connect to test harness at %s: %s",
|
||||
server_address_, result.status().message()));
|
||||
}
|
||||
|
||||
|
||||
connected_ = true;
|
||||
return absl::OkStatus();
|
||||
#else
|
||||
@@ -110,27 +110,28 @@ absl::StatusOr<AutomationResult> GuiAutomationClient::Ping(
|
||||
const std::string& message) {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
if (!stub_) {
|
||||
return absl::FailedPreconditionError("Not connected. Call Connect() first.");
|
||||
return absl::FailedPreconditionError(
|
||||
"Not connected. Call Connect() first.");
|
||||
}
|
||||
|
||||
|
||||
yaze::test::PingRequest request;
|
||||
request.set_message(message);
|
||||
|
||||
|
||||
yaze::test::PingResponse response;
|
||||
grpc::ClientContext context;
|
||||
|
||||
|
||||
grpc::Status status = stub_->Ping(&context, request, &response);
|
||||
|
||||
|
||||
if (!status.ok()) {
|
||||
return absl::InternalError(
|
||||
absl::StrFormat("Ping RPC failed: %s", status.error_message()));
|
||||
}
|
||||
|
||||
|
||||
AutomationResult result;
|
||||
result.success = true;
|
||||
result.message = absl::StrFormat("Server version: %s (timestamp: %lld)",
|
||||
response.yaze_version(),
|
||||
response.timestamp_ms());
|
||||
result.message =
|
||||
absl::StrFormat("Server version: %s (timestamp: %lld)",
|
||||
response.yaze_version(), response.timestamp_ms());
|
||||
result.execution_time = std::chrono::milliseconds(0);
|
||||
result.test_id.clear();
|
||||
return result;
|
||||
@@ -144,7 +145,8 @@ absl::StatusOr<ReplayTestResult> GuiAutomationClient::ReplayTest(
|
||||
const std::map<std::string, std::string>& parameter_overrides) {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
if (!stub_) {
|
||||
return absl::FailedPreconditionError("Not connected. Call Connect() first.");
|
||||
return absl::FailedPreconditionError(
|
||||
"Not connected. Call Connect() first.");
|
||||
}
|
||||
|
||||
yaze::test::ReplayTestRequest request;
|
||||
@@ -191,7 +193,8 @@ absl::StatusOr<StartRecordingResult> GuiAutomationClient::StartRecording(
|
||||
const std::string& description) {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
if (!stub_) {
|
||||
return absl::FailedPreconditionError("Not connected. Call Connect() first.");
|
||||
return absl::FailedPreconditionError(
|
||||
"Not connected. Call Connect() first.");
|
||||
}
|
||||
|
||||
yaze::test::StartRecordingRequest request;
|
||||
@@ -223,7 +226,8 @@ absl::StatusOr<StopRecordingResult> GuiAutomationClient::StopRecording(
|
||||
const std::string& recording_id, bool discard) {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
if (!stub_) {
|
||||
return absl::FailedPreconditionError("Not connected. Call Connect() first.");
|
||||
return absl::FailedPreconditionError(
|
||||
"Not connected. Call Connect() first.");
|
||||
}
|
||||
if (recording_id.empty()) {
|
||||
return absl::InvalidArgumentError("recording_id must not be empty");
|
||||
@@ -258,46 +262,43 @@ absl::StatusOr<AutomationResult> GuiAutomationClient::Click(
|
||||
const std::string& target, ClickType type) {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
if (!stub_) {
|
||||
return absl::FailedPreconditionError("Not connected. Call Connect() first.");
|
||||
return absl::FailedPreconditionError(
|
||||
"Not connected. Call Connect() first.");
|
||||
}
|
||||
|
||||
|
||||
yaze::test::ClickRequest request;
|
||||
request.set_target(target);
|
||||
|
||||
|
||||
switch (type) {
|
||||
case ClickType::kLeft:
|
||||
request.set_type(
|
||||
yaze::test::ClickRequest::CLICK_TYPE_LEFT);
|
||||
request.set_type(yaze::test::ClickRequest::CLICK_TYPE_LEFT);
|
||||
break;
|
||||
case ClickType::kRight:
|
||||
request.set_type(
|
||||
yaze::test::ClickRequest::CLICK_TYPE_RIGHT);
|
||||
request.set_type(yaze::test::ClickRequest::CLICK_TYPE_RIGHT);
|
||||
break;
|
||||
case ClickType::kMiddle:
|
||||
request.set_type(
|
||||
yaze::test::ClickRequest::CLICK_TYPE_MIDDLE);
|
||||
request.set_type(yaze::test::ClickRequest::CLICK_TYPE_MIDDLE);
|
||||
break;
|
||||
case ClickType::kDouble:
|
||||
request.set_type(
|
||||
yaze::test::ClickRequest::CLICK_TYPE_DOUBLE);
|
||||
request.set_type(yaze::test::ClickRequest::CLICK_TYPE_DOUBLE);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
yaze::test::ClickResponse response;
|
||||
grpc::ClientContext context;
|
||||
|
||||
|
||||
grpc::Status status = stub_->Click(&context, request, &response);
|
||||
|
||||
|
||||
if (!status.ok()) {
|
||||
return absl::InternalError(
|
||||
absl::StrFormat("Click RPC failed: %s", status.error_message()));
|
||||
}
|
||||
|
||||
|
||||
AutomationResult result;
|
||||
result.success = response.success();
|
||||
result.message = response.message();
|
||||
result.execution_time = std::chrono::milliseconds(
|
||||
response.execution_time_ms());
|
||||
result.execution_time =
|
||||
std::chrono::milliseconds(response.execution_time_ms());
|
||||
result.test_id = response.test_id();
|
||||
return result;
|
||||
#else
|
||||
@@ -309,29 +310,30 @@ absl::StatusOr<AutomationResult> GuiAutomationClient::Type(
|
||||
const std::string& target, const std::string& text, bool clear_first) {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
if (!stub_) {
|
||||
return absl::FailedPreconditionError("Not connected. Call Connect() first.");
|
||||
return absl::FailedPreconditionError(
|
||||
"Not connected. Call Connect() first.");
|
||||
}
|
||||
|
||||
|
||||
yaze::test::TypeRequest request;
|
||||
request.set_target(target);
|
||||
request.set_text(text);
|
||||
request.set_clear_first(clear_first);
|
||||
|
||||
|
||||
yaze::test::TypeResponse response;
|
||||
grpc::ClientContext context;
|
||||
|
||||
|
||||
grpc::Status status = stub_->Type(&context, request, &response);
|
||||
|
||||
|
||||
if (!status.ok()) {
|
||||
return absl::InternalError(
|
||||
absl::StrFormat("Type RPC failed: %s", status.error_message()));
|
||||
}
|
||||
|
||||
|
||||
AutomationResult result;
|
||||
result.success = response.success();
|
||||
result.message = response.message();
|
||||
result.execution_time = std::chrono::milliseconds(
|
||||
response.execution_time_ms());
|
||||
result.execution_time =
|
||||
std::chrono::milliseconds(response.execution_time_ms());
|
||||
result.test_id = response.test_id();
|
||||
return result;
|
||||
#else
|
||||
@@ -343,29 +345,29 @@ absl::StatusOr<AutomationResult> GuiAutomationClient::Wait(
|
||||
const std::string& condition, int timeout_ms, int poll_interval_ms) {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
if (!stub_) {
|
||||
return absl::FailedPreconditionError("Not connected. Call Connect() first.");
|
||||
return absl::FailedPreconditionError(
|
||||
"Not connected. Call Connect() first.");
|
||||
}
|
||||
|
||||
|
||||
yaze::test::WaitRequest request;
|
||||
request.set_condition(condition);
|
||||
request.set_timeout_ms(timeout_ms);
|
||||
request.set_poll_interval_ms(poll_interval_ms);
|
||||
|
||||
|
||||
yaze::test::WaitResponse response;
|
||||
grpc::ClientContext context;
|
||||
|
||||
|
||||
grpc::Status status = stub_->Wait(&context, request, &response);
|
||||
|
||||
|
||||
if (!status.ok()) {
|
||||
return absl::InternalError(
|
||||
absl::StrFormat("Wait RPC failed: %s", status.error_message()));
|
||||
}
|
||||
|
||||
|
||||
AutomationResult result;
|
||||
result.success = response.success();
|
||||
result.message = response.message();
|
||||
result.execution_time = std::chrono::milliseconds(
|
||||
response.elapsed_ms());
|
||||
result.execution_time = std::chrono::milliseconds(response.elapsed_ms());
|
||||
result.test_id = response.test_id();
|
||||
return result;
|
||||
#else
|
||||
@@ -377,22 +379,23 @@ absl::StatusOr<AutomationResult> GuiAutomationClient::Assert(
|
||||
const std::string& condition) {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
if (!stub_) {
|
||||
return absl::FailedPreconditionError("Not connected. Call Connect() first.");
|
||||
return absl::FailedPreconditionError(
|
||||
"Not connected. Call Connect() first.");
|
||||
}
|
||||
|
||||
|
||||
yaze::test::AssertRequest request;
|
||||
request.set_condition(condition);
|
||||
|
||||
|
||||
yaze::test::AssertResponse response;
|
||||
grpc::ClientContext context;
|
||||
|
||||
|
||||
grpc::Status status = stub_->Assert(&context, request, &response);
|
||||
|
||||
|
||||
if (!status.ok()) {
|
||||
return absl::InternalError(
|
||||
absl::StrFormat("Assert RPC failed: %s", status.error_message()));
|
||||
}
|
||||
|
||||
|
||||
AutomationResult result;
|
||||
result.success = response.success();
|
||||
result.message = response.message();
|
||||
@@ -410,25 +413,26 @@ absl::StatusOr<AutomationResult> GuiAutomationClient::Screenshot(
|
||||
const std::string& region, const std::string& format) {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
if (!stub_) {
|
||||
return absl::FailedPreconditionError("Not connected. Call Connect() first.");
|
||||
return absl::FailedPreconditionError(
|
||||
"Not connected. Call Connect() first.");
|
||||
}
|
||||
|
||||
|
||||
yaze::test::ScreenshotRequest request;
|
||||
request.set_window_title(""); // Empty = main window
|
||||
request.set_window_title(""); // Empty = main window
|
||||
request.set_output_path("/tmp/yaze_screenshot.png"); // Default path
|
||||
request.set_format(
|
||||
yaze::test::ScreenshotRequest::IMAGE_FORMAT_PNG); // Always PNG for now
|
||||
|
||||
|
||||
yaze::test::ScreenshotResponse response;
|
||||
grpc::ClientContext context;
|
||||
|
||||
|
||||
grpc::Status status = stub_->Screenshot(&context, request, &response);
|
||||
|
||||
|
||||
if (!status.ok()) {
|
||||
return absl::InternalError(
|
||||
absl::StrFormat("Screenshot RPC failed: %s", status.error_message()));
|
||||
}
|
||||
|
||||
|
||||
AutomationResult result;
|
||||
result.success = response.success();
|
||||
result.message = response.message();
|
||||
@@ -444,7 +448,8 @@ absl::StatusOr<TestStatusDetails> GuiAutomationClient::GetTestStatus(
|
||||
const std::string& test_id) {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
if (!stub_) {
|
||||
return absl::FailedPreconditionError("Not connected. Call Connect() first.");
|
||||
return absl::FailedPreconditionError(
|
||||
"Not connected. Call Connect() first.");
|
||||
}
|
||||
|
||||
yaze::test::GetTestStatusRequest request;
|
||||
@@ -456,8 +461,8 @@ absl::StatusOr<TestStatusDetails> GuiAutomationClient::GetTestStatus(
|
||||
grpc::Status status = stub_->GetTestStatus(&context, request, &response);
|
||||
|
||||
if (!status.ok()) {
|
||||
return absl::InternalError(
|
||||
absl::StrFormat("GetTestStatus RPC failed: %s", status.error_message()));
|
||||
return absl::InternalError(absl::StrFormat("GetTestStatus RPC failed: %s",
|
||||
status.error_message()));
|
||||
}
|
||||
|
||||
TestStatusDetails details;
|
||||
@@ -481,7 +486,8 @@ absl::StatusOr<ListTestsResult> GuiAutomationClient::ListTests(
|
||||
const std::string& page_token) {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
if (!stub_) {
|
||||
return absl::FailedPreconditionError("Not connected. Call Connect() first.");
|
||||
return absl::FailedPreconditionError(
|
||||
"Not connected. Call Connect() first.");
|
||||
}
|
||||
|
||||
yaze::test::ListTestsRequest request;
|
||||
@@ -534,7 +540,8 @@ absl::StatusOr<TestResultDetails> GuiAutomationClient::GetTestResults(
|
||||
const std::string& test_id, bool include_logs) {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
if (!stub_) {
|
||||
return absl::FailedPreconditionError("Not connected. Call Connect() first.");
|
||||
return absl::FailedPreconditionError(
|
||||
"Not connected. Call Connect() first.");
|
||||
}
|
||||
|
||||
yaze::test::GetTestResultsRequest request;
|
||||
@@ -547,9 +554,8 @@ absl::StatusOr<TestResultDetails> GuiAutomationClient::GetTestResults(
|
||||
grpc::Status status = stub_->GetTestResults(&context, request, &response);
|
||||
|
||||
if (!status.ok()) {
|
||||
return absl::InternalError(
|
||||
absl::StrFormat("GetTestResults RPC failed: %s",
|
||||
status.error_message()));
|
||||
return absl::InternalError(absl::StrFormat("GetTestResults RPC failed: %s",
|
||||
status.error_message()));
|
||||
}
|
||||
|
||||
TestResultDetails result;
|
||||
@@ -594,7 +600,8 @@ absl::StatusOr<DiscoverWidgetsResult> GuiAutomationClient::DiscoverWidgets(
|
||||
const DiscoverWidgetsQuery& query) {
|
||||
#ifdef YAZE_WITH_GRPC
|
||||
if (!stub_) {
|
||||
return absl::FailedPreconditionError("Not connected. Call Connect() first.");
|
||||
return absl::FailedPreconditionError(
|
||||
"Not connected. Call Connect() first.");
|
||||
}
|
||||
|
||||
yaze::test::DiscoverWidgetsRequest request;
|
||||
@@ -613,9 +620,8 @@ absl::StatusOr<DiscoverWidgetsResult> GuiAutomationClient::DiscoverWidgets(
|
||||
grpc::Status status = stub_->DiscoverWidgets(&context, request, &response);
|
||||
|
||||
if (!status.ok()) {
|
||||
return absl::InternalError(
|
||||
absl::StrFormat("DiscoverWidgets RPC failed: %s",
|
||||
status.error_message()));
|
||||
return absl::InternalError(absl::StrFormat("DiscoverWidgets RPC failed: %s",
|
||||
status.error_message()));
|
||||
}
|
||||
|
||||
DiscoverWidgetsResult result;
|
||||
@@ -651,7 +657,8 @@ absl::StatusOr<DiscoverWidgetsResult> GuiAutomationClient::DiscoverWidgets(
|
||||
}
|
||||
widget.widget_id = widget_proto.widget_id();
|
||||
widget.last_seen_frame = widget_proto.last_seen_frame();
|
||||
widget.last_seen_at = OptionalTimeFromMillis(widget_proto.last_seen_at_ms());
|
||||
widget.last_seen_at =
|
||||
OptionalTimeFromMillis(widget_proto.last_seen_at_ms());
|
||||
widget.stale = widget_proto.stale();
|
||||
window_info.widgets.push_back(std::move(widget));
|
||||
}
|
||||
|
||||
@@ -158,7 +158,7 @@ message GetTestStatusRequest {
|
||||
}
|
||||
|
||||
message GetTestStatusResponse {
|
||||
enum Status {
|
||||
enum TestStatus {
|
||||
STATUS_UNSPECIFIED = 0; // Test ID not found or unspecified
|
||||
STATUS_QUEUED = 1; // Waiting to execute
|
||||
STATUS_RUNNING = 2; // Currently executing
|
||||
@@ -167,7 +167,7 @@ message GetTestStatusResponse {
|
||||
STATUS_TIMEOUT = 5; // Exceeded timeout
|
||||
}
|
||||
|
||||
Status status = 1;
|
||||
TestStatus status = 1;
|
||||
int64 queued_at_ms = 2; // When test was queued
|
||||
int64 started_at_ms = 3; // When test started (0 if not started)
|
||||
int64 completed_at_ms = 4; // When test completed (0 if not complete)
|
||||
|
||||
Reference in New Issue
Block a user