| // Copyright 2022 Google LLC |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.26.0 |
| // protoc v3.12.2 |
| // source: google/cloud/dialogflow/cx/v3/test_case.proto |
| |
| package cxpb |
| |
| import ( |
| context "context" |
| reflect "reflect" |
| sync "sync" |
| |
| empty "github.com/golang/protobuf/ptypes/empty" |
| _struct "github.com/golang/protobuf/ptypes/struct" |
| timestamp "github.com/golang/protobuf/ptypes/timestamp" |
| _ "google.golang.org/genproto/googleapis/api/annotations" |
| longrunning "google.golang.org/genproto/googleapis/longrunning" |
| status "google.golang.org/genproto/googleapis/rpc/status" |
| field_mask "google.golang.org/genproto/protobuf/field_mask" |
| grpc "google.golang.org/grpc" |
| codes "google.golang.org/grpc/codes" |
| status1 "google.golang.org/grpc/status" |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| ) |
| |
| const ( |
| // Verify that this generated code is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
| // Verify that runtime/protoimpl is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
| ) |
| |
| // The test result for a test case and an agent environment. |
| type TestResult int32 |
| |
| const ( |
| // Not specified. Should never be used. |
| TestResult_TEST_RESULT_UNSPECIFIED TestResult = 0 |
| // The test passed. |
| TestResult_PASSED TestResult = 1 |
| // The test did not pass. |
| TestResult_FAILED TestResult = 2 |
| ) |
| |
| // Enum value maps for TestResult. |
| var ( |
| TestResult_name = map[int32]string{ |
| 0: "TEST_RESULT_UNSPECIFIED", |
| 1: "PASSED", |
| 2: "FAILED", |
| } |
| TestResult_value = map[string]int32{ |
| "TEST_RESULT_UNSPECIFIED": 0, |
| "PASSED": 1, |
| "FAILED": 2, |
| } |
| ) |
| |
| func (x TestResult) Enum() *TestResult { |
| p := new(TestResult) |
| *p = x |
| return p |
| } |
| |
| func (x TestResult) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (TestResult) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (TestResult) Type() protoreflect.EnumType { |
| return &file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[0] |
| } |
| |
| func (x TestResult) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use TestResult.Descriptor instead. |
| func (TestResult) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{0} |
| } |
| |
| // What part of the message replay differs from the test case. |
| type TestRunDifference_DiffType int32 |
| |
| const ( |
| // Should never be used. |
| TestRunDifference_DIFF_TYPE_UNSPECIFIED TestRunDifference_DiffType = 0 |
| // The intent. |
| TestRunDifference_INTENT TestRunDifference_DiffType = 1 |
| // The page. |
| TestRunDifference_PAGE TestRunDifference_DiffType = 2 |
| // The parameters. |
| TestRunDifference_PARAMETERS TestRunDifference_DiffType = 3 |
| // The message utterance. |
| TestRunDifference_UTTERANCE TestRunDifference_DiffType = 4 |
| ) |
| |
| // Enum value maps for TestRunDifference_DiffType. |
| var ( |
| TestRunDifference_DiffType_name = map[int32]string{ |
| 0: "DIFF_TYPE_UNSPECIFIED", |
| 1: "INTENT", |
| 2: "PAGE", |
| 3: "PARAMETERS", |
| 4: "UTTERANCE", |
| } |
| TestRunDifference_DiffType_value = map[string]int32{ |
| "DIFF_TYPE_UNSPECIFIED": 0, |
| "INTENT": 1, |
| "PAGE": 2, |
| "PARAMETERS": 3, |
| "UTTERANCE": 4, |
| } |
| ) |
| |
| func (x TestRunDifference_DiffType) Enum() *TestRunDifference_DiffType { |
| p := new(TestRunDifference_DiffType) |
| *p = x |
| return p |
| } |
| |
| func (x TestRunDifference_DiffType) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (TestRunDifference_DiffType) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (TestRunDifference_DiffType) Type() protoreflect.EnumType { |
| return &file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[1] |
| } |
| |
| func (x TestRunDifference_DiffType) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use TestRunDifference_DiffType.Descriptor instead. |
| func (TestRunDifference_DiffType) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{4, 0} |
| } |
| |
| // The type of coverage score requested. |
| type CalculateCoverageRequest_CoverageType int32 |
| |
| const ( |
| // Should never be used. |
| CalculateCoverageRequest_COVERAGE_TYPE_UNSPECIFIED CalculateCoverageRequest_CoverageType = 0 |
| // Intent coverage. |
| CalculateCoverageRequest_INTENT CalculateCoverageRequest_CoverageType = 1 |
| // Page transition coverage. |
| CalculateCoverageRequest_PAGE_TRANSITION CalculateCoverageRequest_CoverageType = 2 |
| // Transition route group coverage. |
| CalculateCoverageRequest_TRANSITION_ROUTE_GROUP CalculateCoverageRequest_CoverageType = 3 |
| ) |
| |
| // Enum value maps for CalculateCoverageRequest_CoverageType. |
| var ( |
| CalculateCoverageRequest_CoverageType_name = map[int32]string{ |
| 0: "COVERAGE_TYPE_UNSPECIFIED", |
| 1: "INTENT", |
| 2: "PAGE_TRANSITION", |
| 3: "TRANSITION_ROUTE_GROUP", |
| } |
| CalculateCoverageRequest_CoverageType_value = map[string]int32{ |
| "COVERAGE_TYPE_UNSPECIFIED": 0, |
| "INTENT": 1, |
| "PAGE_TRANSITION": 2, |
| "TRANSITION_ROUTE_GROUP": 3, |
| } |
| ) |
| |
| func (x CalculateCoverageRequest_CoverageType) Enum() *CalculateCoverageRequest_CoverageType { |
| p := new(CalculateCoverageRequest_CoverageType) |
| *p = x |
| return p |
| } |
| |
| func (x CalculateCoverageRequest_CoverageType) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (CalculateCoverageRequest_CoverageType) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[2].Descriptor() |
| } |
| |
| func (CalculateCoverageRequest_CoverageType) Type() protoreflect.EnumType { |
| return &file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[2] |
| } |
| |
| func (x CalculateCoverageRequest_CoverageType) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use CalculateCoverageRequest_CoverageType.Descriptor instead. |
| func (CalculateCoverageRequest_CoverageType) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{8, 0} |
| } |
| |
| // Specifies how much test case information to include in the response. |
| type ListTestCasesRequest_TestCaseView int32 |
| |
| const ( |
| // The default / unset value. |
| // The API will default to the BASIC view. |
| ListTestCasesRequest_TEST_CASE_VIEW_UNSPECIFIED ListTestCasesRequest_TestCaseView = 0 |
| // Include basic metadata about the test case, but not the conversation |
| // turns. This is the default value. |
| ListTestCasesRequest_BASIC ListTestCasesRequest_TestCaseView = 1 |
| // Include everything. |
| ListTestCasesRequest_FULL ListTestCasesRequest_TestCaseView = 2 |
| ) |
| |
| // Enum value maps for ListTestCasesRequest_TestCaseView. |
| var ( |
| ListTestCasesRequest_TestCaseView_name = map[int32]string{ |
| 0: "TEST_CASE_VIEW_UNSPECIFIED", |
| 1: "BASIC", |
| 2: "FULL", |
| } |
| ListTestCasesRequest_TestCaseView_value = map[string]int32{ |
| "TEST_CASE_VIEW_UNSPECIFIED": 0, |
| "BASIC": 1, |
| "FULL": 2, |
| } |
| ) |
| |
| func (x ListTestCasesRequest_TestCaseView) Enum() *ListTestCasesRequest_TestCaseView { |
| p := new(ListTestCasesRequest_TestCaseView) |
| *p = x |
| return p |
| } |
| |
| func (x ListTestCasesRequest_TestCaseView) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ListTestCasesRequest_TestCaseView) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[3].Descriptor() |
| } |
| |
| func (ListTestCasesRequest_TestCaseView) Type() protoreflect.EnumType { |
| return &file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[3] |
| } |
| |
| func (x ListTestCasesRequest_TestCaseView) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use ListTestCasesRequest_TestCaseView.Descriptor instead. |
| func (ListTestCasesRequest_TestCaseView) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{10, 0} |
| } |
| |
| // Data format of the exported test cases. |
| type ExportTestCasesRequest_DataFormat int32 |
| |
| const ( |
| // Unspecified format. |
| ExportTestCasesRequest_DATA_FORMAT_UNSPECIFIED ExportTestCasesRequest_DataFormat = 0 |
| // Raw bytes. |
| ExportTestCasesRequest_BLOB ExportTestCasesRequest_DataFormat = 1 |
| // JSON format. |
| ExportTestCasesRequest_JSON ExportTestCasesRequest_DataFormat = 2 |
| ) |
| |
| // Enum value maps for ExportTestCasesRequest_DataFormat. |
| var ( |
| ExportTestCasesRequest_DataFormat_name = map[int32]string{ |
| 0: "DATA_FORMAT_UNSPECIFIED", |
| 1: "BLOB", |
| 2: "JSON", |
| } |
| ExportTestCasesRequest_DataFormat_value = map[string]int32{ |
| "DATA_FORMAT_UNSPECIFIED": 0, |
| "BLOB": 1, |
| "JSON": 2, |
| } |
| ) |
| |
| func (x ExportTestCasesRequest_DataFormat) Enum() *ExportTestCasesRequest_DataFormat { |
| p := new(ExportTestCasesRequest_DataFormat) |
| *p = x |
| return p |
| } |
| |
| func (x ExportTestCasesRequest_DataFormat) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ExportTestCasesRequest_DataFormat) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[4].Descriptor() |
| } |
| |
| func (ExportTestCasesRequest_DataFormat) Type() protoreflect.EnumType { |
| return &file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes[4] |
| } |
| |
| func (x ExportTestCasesRequest_DataFormat) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use ExportTestCasesRequest_DataFormat.Descriptor instead. |
| func (ExportTestCasesRequest_DataFormat) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{27, 0} |
| } |
| |
| // Represents a test case. |
| type TestCase struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The unique identifier of the test case. |
| // [TestCases.CreateTestCase][google.cloud.dialogflow.cx.v3.TestCases.CreateTestCase] will populate the name automatically. |
| // Otherwise use format: `projects/<Project ID>/locations/<LocationID>/agents/ |
| // <AgentID>/testCases/<TestCase ID>`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Tags are short descriptions that users may apply to test cases for |
| // organizational and filtering purposes. Each tag should start with "#" and |
| // has a limit of 30 characters. |
| Tags []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"` |
| // Required. The human-readable name of the test case, unique within the agent. Limit of |
| // 200 characters. |
| DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` |
| // Additional freeform notes about the test case. Limit of 400 characters. |
| Notes string `protobuf:"bytes,4,opt,name=notes,proto3" json:"notes,omitempty"` |
| // Config for the test case. |
| TestConfig *TestConfig `protobuf:"bytes,13,opt,name=test_config,json=testConfig,proto3" json:"test_config,omitempty"` |
| // The conversation turns uttered when the test case was created, in |
| // chronological order. These include the canonical set of agent utterances |
| // that should occur when the agent is working properly. |
| TestCaseConversationTurns []*ConversationTurn `protobuf:"bytes,5,rep,name=test_case_conversation_turns,json=testCaseConversationTurns,proto3" json:"test_case_conversation_turns,omitempty"` |
| // Output only. When the test was created. |
| CreationTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"` |
| // The latest test result. |
| LastTestResult *TestCaseResult `protobuf:"bytes,12,opt,name=last_test_result,json=lastTestResult,proto3" json:"last_test_result,omitempty"` |
| } |
| |
| func (x *TestCase) Reset() { |
| *x = TestCase{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TestCase) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TestCase) ProtoMessage() {} |
| |
| func (x *TestCase) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[0] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TestCase.ProtoReflect.Descriptor instead. |
| func (*TestCase) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *TestCase) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *TestCase) GetTags() []string { |
| if x != nil { |
| return x.Tags |
| } |
| return nil |
| } |
| |
| func (x *TestCase) GetDisplayName() string { |
| if x != nil { |
| return x.DisplayName |
| } |
| return "" |
| } |
| |
| func (x *TestCase) GetNotes() string { |
| if x != nil { |
| return x.Notes |
| } |
| return "" |
| } |
| |
| func (x *TestCase) GetTestConfig() *TestConfig { |
| if x != nil { |
| return x.TestConfig |
| } |
| return nil |
| } |
| |
| func (x *TestCase) GetTestCaseConversationTurns() []*ConversationTurn { |
| if x != nil { |
| return x.TestCaseConversationTurns |
| } |
| return nil |
| } |
| |
| func (x *TestCase) GetCreationTime() *timestamp.Timestamp { |
| if x != nil { |
| return x.CreationTime |
| } |
| return nil |
| } |
| |
| func (x *TestCase) GetLastTestResult() *TestCaseResult { |
| if x != nil { |
| return x.LastTestResult |
| } |
| return nil |
| } |
| |
| // Represents a result from running a test case in an agent environment. |
| type TestCaseResult struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The resource name for the test case result. Format: |
| // `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/testCases/ |
| // <TestCase ID>/results/<TestCaseResult ID>`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Environment where the test was run. If not set, it indicates the draft |
| // environment. |
| Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"` |
| // The conversation turns uttered during the test case replay in chronological |
| // order. |
| ConversationTurns []*ConversationTurn `protobuf:"bytes,3,rep,name=conversation_turns,json=conversationTurns,proto3" json:"conversation_turns,omitempty"` |
| // Whether the test case passed in the agent environment. |
| TestResult TestResult `protobuf:"varint,4,opt,name=test_result,json=testResult,proto3,enum=google.cloud.dialogflow.cx.v3.TestResult" json:"test_result,omitempty"` |
| // The time that the test was run. |
| TestTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=test_time,json=testTime,proto3" json:"test_time,omitempty"` |
| } |
| |
| func (x *TestCaseResult) Reset() { |
| *x = TestCaseResult{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TestCaseResult) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TestCaseResult) ProtoMessage() {} |
| |
| func (x *TestCaseResult) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[1] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TestCaseResult.ProtoReflect.Descriptor instead. |
| func (*TestCaseResult) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *TestCaseResult) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *TestCaseResult) GetEnvironment() string { |
| if x != nil { |
| return x.Environment |
| } |
| return "" |
| } |
| |
| func (x *TestCaseResult) GetConversationTurns() []*ConversationTurn { |
| if x != nil { |
| return x.ConversationTurns |
| } |
| return nil |
| } |
| |
| func (x *TestCaseResult) GetTestResult() TestResult { |
| if x != nil { |
| return x.TestResult |
| } |
| return TestResult_TEST_RESULT_UNSPECIFIED |
| } |
| |
| func (x *TestCaseResult) GetTestTime() *timestamp.Timestamp { |
| if x != nil { |
| return x.TestTime |
| } |
| return nil |
| } |
| |
| // Represents configurations for a test case. |
| type TestConfig struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Session parameters to be compared when calculating differences. |
| TrackingParameters []string `protobuf:"bytes,1,rep,name=tracking_parameters,json=trackingParameters,proto3" json:"tracking_parameters,omitempty"` |
| // Flow name to start the test case with. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent |
| // ID>/flows/<Flow ID>`. |
| // |
| // Only one of `flow` and `page` should be set to indicate the starting point |
| // of the test case. If both are set, `page` takes precedence over `flow`. If |
| // neither is set, the test case will start with start page on the default |
| // start flow. |
| Flow string `protobuf:"bytes,2,opt,name=flow,proto3" json:"flow,omitempty"` |
| // The [page][google.cloud.dialogflow.cx.v3.Page] to start the test case with. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent |
| // ID>/flows/<Flow ID>/pages/<Page ID>`. |
| // |
| // Only one of `flow` and `page` should be set to indicate the starting point |
| // of the test case. If both are set, `page` takes precedence over `flow`. If |
| // neither is set, the test case will start with start page on the default |
| // start flow. |
| Page string `protobuf:"bytes,3,opt,name=page,proto3" json:"page,omitempty"` |
| } |
| |
| func (x *TestConfig) Reset() { |
| *x = TestConfig{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TestConfig) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TestConfig) ProtoMessage() {} |
| |
| func (x *TestConfig) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[2] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TestConfig.ProtoReflect.Descriptor instead. |
| func (*TestConfig) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *TestConfig) GetTrackingParameters() []string { |
| if x != nil { |
| return x.TrackingParameters |
| } |
| return nil |
| } |
| |
| func (x *TestConfig) GetFlow() string { |
| if x != nil { |
| return x.Flow |
| } |
| return "" |
| } |
| |
| func (x *TestConfig) GetPage() string { |
| if x != nil { |
| return x.Page |
| } |
| return "" |
| } |
| |
| // One interaction between a human and virtual agent. The human provides some |
| // input and the virtual agent provides a response. |
| type ConversationTurn struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The user input. |
| UserInput *ConversationTurn_UserInput `protobuf:"bytes,1,opt,name=user_input,json=userInput,proto3" json:"user_input,omitempty"` |
| // The virtual agent output. |
| VirtualAgentOutput *ConversationTurn_VirtualAgentOutput `protobuf:"bytes,2,opt,name=virtual_agent_output,json=virtualAgentOutput,proto3" json:"virtual_agent_output,omitempty"` |
| } |
| |
| func (x *ConversationTurn) Reset() { |
| *x = ConversationTurn{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ConversationTurn) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ConversationTurn) ProtoMessage() {} |
| |
| func (x *ConversationTurn) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[3] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ConversationTurn.ProtoReflect.Descriptor instead. |
| func (*ConversationTurn) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *ConversationTurn) GetUserInput() *ConversationTurn_UserInput { |
| if x != nil { |
| return x.UserInput |
| } |
| return nil |
| } |
| |
| func (x *ConversationTurn) GetVirtualAgentOutput() *ConversationTurn_VirtualAgentOutput { |
| if x != nil { |
| return x.VirtualAgentOutput |
| } |
| return nil |
| } |
| |
| // The description of differences between original and replayed agent output. |
| type TestRunDifference struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The type of diff. |
| Type TestRunDifference_DiffType `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.dialogflow.cx.v3.TestRunDifference_DiffType" json:"type,omitempty"` |
| // A description of the diff, showing the actual output vs expected output. |
| Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` |
| } |
| |
| func (x *TestRunDifference) Reset() { |
| *x = TestRunDifference{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TestRunDifference) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TestRunDifference) ProtoMessage() {} |
| |
| func (x *TestRunDifference) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[4] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TestRunDifference.ProtoReflect.Descriptor instead. |
| func (*TestRunDifference) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *TestRunDifference) GetType() TestRunDifference_DiffType { |
| if x != nil { |
| return x.Type |
| } |
| return TestRunDifference_DIFF_TYPE_UNSPECIFIED |
| } |
| |
| func (x *TestRunDifference) GetDescription() string { |
| if x != nil { |
| return x.Description |
| } |
| return "" |
| } |
| |
| // Transition coverage represents the percentage of all possible page |
| // transitions (page-level transition routes and event handlers, excluding |
| // transition route groups) present within any of a parent's test cases. |
| type TransitionCoverage struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The list of Transitions present in the agent. |
| Transitions []*TransitionCoverage_Transition `protobuf:"bytes,1,rep,name=transitions,proto3" json:"transitions,omitempty"` |
| // The percent of transitions in the agent that are covered. |
| CoverageScore float32 `protobuf:"fixed32,2,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"` |
| } |
| |
| func (x *TransitionCoverage) Reset() { |
| *x = TransitionCoverage{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TransitionCoverage) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TransitionCoverage) ProtoMessage() {} |
| |
| func (x *TransitionCoverage) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[5] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TransitionCoverage.ProtoReflect.Descriptor instead. |
| func (*TransitionCoverage) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (x *TransitionCoverage) GetTransitions() []*TransitionCoverage_Transition { |
| if x != nil { |
| return x.Transitions |
| } |
| return nil |
| } |
| |
| func (x *TransitionCoverage) GetCoverageScore() float32 { |
| if x != nil { |
| return x.CoverageScore |
| } |
| return 0 |
| } |
| |
| // Transition route group coverage represents the percentage of all possible |
| // transition routes present within any of a parent's test cases. The results |
| // are grouped by the transition route group. |
| type TransitionRouteGroupCoverage struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Transition route group coverages. |
| Coverages []*TransitionRouteGroupCoverage_Coverage `protobuf:"bytes,1,rep,name=coverages,proto3" json:"coverages,omitempty"` |
| // The percent of transition routes in all the transition route groups that |
| // are covered. |
| CoverageScore float32 `protobuf:"fixed32,2,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"` |
| } |
| |
| func (x *TransitionRouteGroupCoverage) Reset() { |
| *x = TransitionRouteGroupCoverage{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TransitionRouteGroupCoverage) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TransitionRouteGroupCoverage) ProtoMessage() {} |
| |
| func (x *TransitionRouteGroupCoverage) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[6] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TransitionRouteGroupCoverage.ProtoReflect.Descriptor instead. |
| func (*TransitionRouteGroupCoverage) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *TransitionRouteGroupCoverage) GetCoverages() []*TransitionRouteGroupCoverage_Coverage { |
| if x != nil { |
| return x.Coverages |
| } |
| return nil |
| } |
| |
| func (x *TransitionRouteGroupCoverage) GetCoverageScore() float32 { |
| if x != nil { |
| return x.CoverageScore |
| } |
| return 0 |
| } |
| |
| // Intent coverage represents the percentage of all possible intents in the |
| // agent that are triggered in any of a parent's test cases. |
| type IntentCoverage struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The list of Intents present in the agent |
| Intents []*IntentCoverage_Intent `protobuf:"bytes,1,rep,name=intents,proto3" json:"intents,omitempty"` |
| // The percent of intents in the agent that are covered. |
| CoverageScore float32 `protobuf:"fixed32,2,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"` |
| } |
| |
| func (x *IntentCoverage) Reset() { |
| *x = IntentCoverage{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *IntentCoverage) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*IntentCoverage) ProtoMessage() {} |
| |
| func (x *IntentCoverage) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[7] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use IntentCoverage.ProtoReflect.Descriptor instead. |
| func (*IntentCoverage) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{7} |
| } |
| |
| func (x *IntentCoverage) GetIntents() []*IntentCoverage_Intent { |
| if x != nil { |
| return x.Intents |
| } |
| return nil |
| } |
| |
| func (x *IntentCoverage) GetCoverageScore() float32 { |
| if x != nil { |
| return x.CoverageScore |
| } |
| return 0 |
| } |
| |
| // The request message for [TestCases.CalculateCoverage][google.cloud.dialogflow.cx.v3.TestCases.CalculateCoverage]. |
| type CalculateCoverageRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The agent to calculate coverage for. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`. |
| Agent string `protobuf:"bytes,3,opt,name=agent,proto3" json:"agent,omitempty"` |
| // Required. The type of coverage requested. |
| Type CalculateCoverageRequest_CoverageType `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.dialogflow.cx.v3.CalculateCoverageRequest_CoverageType" json:"type,omitempty"` |
| } |
| |
| func (x *CalculateCoverageRequest) Reset() { |
| *x = CalculateCoverageRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CalculateCoverageRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CalculateCoverageRequest) ProtoMessage() {} |
| |
| func (x *CalculateCoverageRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[8] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CalculateCoverageRequest.ProtoReflect.Descriptor instead. |
| func (*CalculateCoverageRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{8} |
| } |
| |
| func (x *CalculateCoverageRequest) GetAgent() string { |
| if x != nil { |
| return x.Agent |
| } |
| return "" |
| } |
| |
| func (x *CalculateCoverageRequest) GetType() CalculateCoverageRequest_CoverageType { |
| if x != nil { |
| return x.Type |
| } |
| return CalculateCoverageRequest_COVERAGE_TYPE_UNSPECIFIED |
| } |
| |
| // The response message for [TestCases.CalculateCoverage][google.cloud.dialogflow.cx.v3.TestCases.CalculateCoverage]. |
| type CalculateCoverageResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The agent to calculate coverage for. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`. |
| Agent string `protobuf:"bytes,5,opt,name=agent,proto3" json:"agent,omitempty"` |
| // The type of coverage requested. |
| // |
| // Types that are assignable to CoverageType: |
| // |
| // *CalculateCoverageResponse_IntentCoverage |
| // *CalculateCoverageResponse_TransitionCoverage |
| // *CalculateCoverageResponse_RouteGroupCoverage |
| CoverageType isCalculateCoverageResponse_CoverageType `protobuf_oneof:"coverage_type"` |
| } |
| |
| func (x *CalculateCoverageResponse) Reset() { |
| *x = CalculateCoverageResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CalculateCoverageResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CalculateCoverageResponse) ProtoMessage() {} |
| |
| func (x *CalculateCoverageResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[9] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CalculateCoverageResponse.ProtoReflect.Descriptor instead. |
| func (*CalculateCoverageResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{9} |
| } |
| |
| func (x *CalculateCoverageResponse) GetAgent() string { |
| if x != nil { |
| return x.Agent |
| } |
| return "" |
| } |
| |
| func (m *CalculateCoverageResponse) GetCoverageType() isCalculateCoverageResponse_CoverageType { |
| if m != nil { |
| return m.CoverageType |
| } |
| return nil |
| } |
| |
| func (x *CalculateCoverageResponse) GetIntentCoverage() *IntentCoverage { |
| if x, ok := x.GetCoverageType().(*CalculateCoverageResponse_IntentCoverage); ok { |
| return x.IntentCoverage |
| } |
| return nil |
| } |
| |
| func (x *CalculateCoverageResponse) GetTransitionCoverage() *TransitionCoverage { |
| if x, ok := x.GetCoverageType().(*CalculateCoverageResponse_TransitionCoverage); ok { |
| return x.TransitionCoverage |
| } |
| return nil |
| } |
| |
| func (x *CalculateCoverageResponse) GetRouteGroupCoverage() *TransitionRouteGroupCoverage { |
| if x, ok := x.GetCoverageType().(*CalculateCoverageResponse_RouteGroupCoverage); ok { |
| return x.RouteGroupCoverage |
| } |
| return nil |
| } |
| |
| type isCalculateCoverageResponse_CoverageType interface { |
| isCalculateCoverageResponse_CoverageType() |
| } |
| |
| type CalculateCoverageResponse_IntentCoverage struct { |
| // Intent coverage. |
| IntentCoverage *IntentCoverage `protobuf:"bytes,2,opt,name=intent_coverage,json=intentCoverage,proto3,oneof"` |
| } |
| |
| type CalculateCoverageResponse_TransitionCoverage struct { |
| // Transition (excluding transition route groups) coverage. |
| TransitionCoverage *TransitionCoverage `protobuf:"bytes,4,opt,name=transition_coverage,json=transitionCoverage,proto3,oneof"` |
| } |
| |
| type CalculateCoverageResponse_RouteGroupCoverage struct { |
| // Transition route group coverage. |
| RouteGroupCoverage *TransitionRouteGroupCoverage `protobuf:"bytes,6,opt,name=route_group_coverage,json=routeGroupCoverage,proto3,oneof"` |
| } |
| |
| func (*CalculateCoverageResponse_IntentCoverage) isCalculateCoverageResponse_CoverageType() {} |
| |
| func (*CalculateCoverageResponse_TransitionCoverage) isCalculateCoverageResponse_CoverageType() {} |
| |
| func (*CalculateCoverageResponse_RouteGroupCoverage) isCalculateCoverageResponse_CoverageType() {} |
| |
| // The request message for [TestCases.ListTestCases][google.cloud.dialogflow.cx.v3.TestCases.ListTestCases]. |
| type ListTestCasesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The agent to list all pages for. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // The maximum number of items to return in a single page. By default 20. |
| // Note that when TestCaseView = FULL, the maximum page size allowed is 20. |
| // When TestCaseView = BASIC, the maximum page size allowed is 500. |
| PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // The next_page_token value returned from a previous list request. |
| PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| // Specifies whether response should include all fields or just the metadata. |
| View ListTestCasesRequest_TestCaseView `protobuf:"varint,4,opt,name=view,proto3,enum=google.cloud.dialogflow.cx.v3.ListTestCasesRequest_TestCaseView" json:"view,omitempty"` |
| } |
| |
| func (x *ListTestCasesRequest) Reset() { |
| *x = ListTestCasesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[10] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListTestCasesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListTestCasesRequest) ProtoMessage() {} |
| |
| func (x *ListTestCasesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[10] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListTestCasesRequest.ProtoReflect.Descriptor instead. |
| func (*ListTestCasesRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{10} |
| } |
| |
| func (x *ListTestCasesRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *ListTestCasesRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *ListTestCasesRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| func (x *ListTestCasesRequest) GetView() ListTestCasesRequest_TestCaseView { |
| if x != nil { |
| return x.View |
| } |
| return ListTestCasesRequest_TEST_CASE_VIEW_UNSPECIFIED |
| } |
| |
| // The response message for [TestCases.ListTestCases][google.cloud.dialogflow.cx.v3.TestCases.ListTestCases]. |
| type ListTestCasesResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The list of test cases. There will be a maximum number of items returned |
| // based on the page_size field in the request. |
| TestCases []*TestCase `protobuf:"bytes,1,rep,name=test_cases,json=testCases,proto3" json:"test_cases,omitempty"` |
| // Token to retrieve the next page of results, or empty if there are no more |
| // results in the list. |
| NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| } |
| |
| func (x *ListTestCasesResponse) Reset() { |
| *x = ListTestCasesResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[11] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListTestCasesResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListTestCasesResponse) ProtoMessage() {} |
| |
| func (x *ListTestCasesResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[11] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListTestCasesResponse.ProtoReflect.Descriptor instead. |
| func (*ListTestCasesResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{11} |
| } |
| |
| func (x *ListTestCasesResponse) GetTestCases() []*TestCase { |
| if x != nil { |
| return x.TestCases |
| } |
| return nil |
| } |
| |
| func (x *ListTestCasesResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| // The request message for [TestCases.BatchDeleteTestCases][google.cloud.dialogflow.cx.v3.TestCases.BatchDeleteTestCases]. |
| type BatchDeleteTestCasesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The agent to delete test cases from. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // Required. Format of test case names: `projects/<Project ID>/locations/ |
| // <Location ID>/agents/<AgentID>/testCases/<TestCase ID>`. |
| Names []string `protobuf:"bytes,3,rep,name=names,proto3" json:"names,omitempty"` |
| } |
| |
| func (x *BatchDeleteTestCasesRequest) Reset() { |
| *x = BatchDeleteTestCasesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[12] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchDeleteTestCasesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchDeleteTestCasesRequest) ProtoMessage() {} |
| |
| func (x *BatchDeleteTestCasesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[12] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchDeleteTestCasesRequest.ProtoReflect.Descriptor instead. |
| func (*BatchDeleteTestCasesRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{12} |
| } |
| |
| func (x *BatchDeleteTestCasesRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *BatchDeleteTestCasesRequest) GetNames() []string { |
| if x != nil { |
| return x.Names |
| } |
| return nil |
| } |
| |
| // The request message for [TestCases.CreateTestCase][google.cloud.dialogflow.cx.v3.TestCases.CreateTestCase]. |
| type CreateTestCaseRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The agent to create the test case for. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // Required. The test case to create. |
| TestCase *TestCase `protobuf:"bytes,2,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"` |
| } |
| |
| func (x *CreateTestCaseRequest) Reset() { |
| *x = CreateTestCaseRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[13] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CreateTestCaseRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CreateTestCaseRequest) ProtoMessage() {} |
| |
| func (x *CreateTestCaseRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[13] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CreateTestCaseRequest.ProtoReflect.Descriptor instead. |
| func (*CreateTestCaseRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{13} |
| } |
| |
| func (x *CreateTestCaseRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *CreateTestCaseRequest) GetTestCase() *TestCase { |
| if x != nil { |
| return x.TestCase |
| } |
| return nil |
| } |
| |
| // The request message for [TestCases.UpdateTestCase][google.cloud.dialogflow.cx.v3.TestCases.UpdateTestCase]. |
| type UpdateTestCaseRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The test case to update. |
| TestCase *TestCase `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"` |
| // Required. The mask to specify which fields should be updated. The |
| // [`creationTime`][google.cloud.dialogflow.cx.v3.TestCase.creation_time] and |
| // [`lastTestResult`][google.cloud.dialogflow.cx.v3.TestCase.last_test_result] cannot be updated. |
| UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` |
| } |
| |
| func (x *UpdateTestCaseRequest) Reset() { |
| *x = UpdateTestCaseRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[14] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UpdateTestCaseRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UpdateTestCaseRequest) ProtoMessage() {} |
| |
| func (x *UpdateTestCaseRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[14] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use UpdateTestCaseRequest.ProtoReflect.Descriptor instead. |
| func (*UpdateTestCaseRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{14} |
| } |
| |
| func (x *UpdateTestCaseRequest) GetTestCase() *TestCase { |
| if x != nil { |
| return x.TestCase |
| } |
| return nil |
| } |
| |
| func (x *UpdateTestCaseRequest) GetUpdateMask() *field_mask.FieldMask { |
| if x != nil { |
| return x.UpdateMask |
| } |
| return nil |
| } |
| |
| // The request message for [TestCases.GetTestCase][google.cloud.dialogflow.cx.v3.TestCases.GetTestCase]. |
| type GetTestCaseRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name of the testcase. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent |
| // ID>/testCases/<TestCase ID>`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *GetTestCaseRequest) Reset() { |
| *x = GetTestCaseRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[15] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetTestCaseRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetTestCaseRequest) ProtoMessage() {} |
| |
| func (x *GetTestCaseRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[15] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetTestCaseRequest.ProtoReflect.Descriptor instead. |
| func (*GetTestCaseRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{15} |
| } |
| |
| func (x *GetTestCaseRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // The request message for [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3.TestCases.RunTestCase]. |
| type RunTestCaseRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Format of test case name to run: `projects/<Project ID>/locations/ |
| // <Location ID>/agents/<AgentID>/testCases/<TestCase ID>`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Optional. Environment name. If not set, draft environment is assumed. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent |
| // ID>/environments/<Environment ID>`. |
| Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"` |
| } |
| |
| func (x *RunTestCaseRequest) Reset() { |
| *x = RunTestCaseRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[16] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RunTestCaseRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RunTestCaseRequest) ProtoMessage() {} |
| |
| func (x *RunTestCaseRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[16] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use RunTestCaseRequest.ProtoReflect.Descriptor instead. |
| func (*RunTestCaseRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{16} |
| } |
| |
| func (x *RunTestCaseRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *RunTestCaseRequest) GetEnvironment() string { |
| if x != nil { |
| return x.Environment |
| } |
| return "" |
| } |
| |
| // The response message for [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3.TestCases.RunTestCase]. |
| type RunTestCaseResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The result. |
| Result *TestCaseResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"` |
| } |
| |
| func (x *RunTestCaseResponse) Reset() { |
| *x = RunTestCaseResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[17] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RunTestCaseResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RunTestCaseResponse) ProtoMessage() {} |
| |
| func (x *RunTestCaseResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[17] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use RunTestCaseResponse.ProtoReflect.Descriptor instead. |
| func (*RunTestCaseResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{17} |
| } |
| |
| func (x *RunTestCaseResponse) GetResult() *TestCaseResult { |
| if x != nil { |
| return x.Result |
| } |
| return nil |
| } |
| |
| // Metadata returned for the [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3.TestCases.RunTestCase] long running operation. |
| // This message currently has no fields. |
| type RunTestCaseMetadata struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| } |
| |
| func (x *RunTestCaseMetadata) Reset() { |
| *x = RunTestCaseMetadata{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[18] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RunTestCaseMetadata) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RunTestCaseMetadata) ProtoMessage() {} |
| |
| func (x *RunTestCaseMetadata) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[18] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use RunTestCaseMetadata.ProtoReflect.Descriptor instead. |
| func (*RunTestCaseMetadata) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{18} |
| } |
| |
| // The request message for [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3.TestCases.BatchRunTestCases]. |
| type BatchRunTestCasesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Agent name. Format: `projects/<Project ID>/locations/<Location ID>/agents/ |
| // <AgentID>`. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // Optional. If not set, draft environment is assumed. Format: `projects/<Project |
| // ID>/locations/<Location ID>/agents/<Agent ID>/environments/<Environment |
| // ID>`. |
| Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"` |
| // Required. Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent |
| // ID>/testCases/<TestCase ID>`. |
| TestCases []string `protobuf:"bytes,3,rep,name=test_cases,json=testCases,proto3" json:"test_cases,omitempty"` |
| } |
| |
| func (x *BatchRunTestCasesRequest) Reset() { |
| *x = BatchRunTestCasesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[19] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchRunTestCasesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchRunTestCasesRequest) ProtoMessage() {} |
| |
| func (x *BatchRunTestCasesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[19] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchRunTestCasesRequest.ProtoReflect.Descriptor instead. |
| func (*BatchRunTestCasesRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{19} |
| } |
| |
| func (x *BatchRunTestCasesRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *BatchRunTestCasesRequest) GetEnvironment() string { |
| if x != nil { |
| return x.Environment |
| } |
| return "" |
| } |
| |
| func (x *BatchRunTestCasesRequest) GetTestCases() []string { |
| if x != nil { |
| return x.TestCases |
| } |
| return nil |
| } |
| |
| // The response message for [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3.TestCases.BatchRunTestCases]. |
| type BatchRunTestCasesResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The test case results. The detailed |
| // [conversation turns][google.cloud.dialogflow.cx.v3.TestCaseResult.conversation_turns] are empty in this |
| // response. |
| Results []*TestCaseResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` |
| } |
| |
| func (x *BatchRunTestCasesResponse) Reset() { |
| *x = BatchRunTestCasesResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[20] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchRunTestCasesResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchRunTestCasesResponse) ProtoMessage() {} |
| |
| func (x *BatchRunTestCasesResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[20] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchRunTestCasesResponse.ProtoReflect.Descriptor instead. |
| func (*BatchRunTestCasesResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{20} |
| } |
| |
| func (x *BatchRunTestCasesResponse) GetResults() []*TestCaseResult { |
| if x != nil { |
| return x.Results |
| } |
| return nil |
| } |
| |
| // Metadata returned for the [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3.TestCases.BatchRunTestCases] long running |
| // operation. |
| type BatchRunTestCasesMetadata struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The test errors. |
| Errors []*TestError `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"` |
| } |
| |
| func (x *BatchRunTestCasesMetadata) Reset() { |
| *x = BatchRunTestCasesMetadata{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[21] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchRunTestCasesMetadata) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchRunTestCasesMetadata) ProtoMessage() {} |
| |
| func (x *BatchRunTestCasesMetadata) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[21] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use BatchRunTestCasesMetadata.ProtoReflect.Descriptor instead. |
| func (*BatchRunTestCasesMetadata) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{21} |
| } |
| |
| func (x *BatchRunTestCasesMetadata) GetErrors() []*TestError { |
| if x != nil { |
| return x.Errors |
| } |
| return nil |
| } |
| |
| // Error info for running a test. |
| type TestError struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The test case resource name. |
| TestCase string `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"` |
| // The status associated with the test. |
| Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` |
| // The timestamp when the test was completed. |
| TestTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=test_time,json=testTime,proto3" json:"test_time,omitempty"` |
| } |
| |
| func (x *TestError) Reset() { |
| *x = TestError{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[22] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TestError) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TestError) ProtoMessage() {} |
| |
| func (x *TestError) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[22] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TestError.ProtoReflect.Descriptor instead. |
| func (*TestError) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{22} |
| } |
| |
| func (x *TestError) GetTestCase() string { |
| if x != nil { |
| return x.TestCase |
| } |
| return "" |
| } |
| |
| func (x *TestError) GetStatus() *status.Status { |
| if x != nil { |
| return x.Status |
| } |
| return nil |
| } |
| |
| func (x *TestError) GetTestTime() *timestamp.Timestamp { |
| if x != nil { |
| return x.TestTime |
| } |
| return nil |
| } |
| |
| // The request message for [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3.TestCases.ImportTestCases]. |
| type ImportTestCasesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The agent to import test cases to. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // Required. The source to import. |
| // |
| // Types that are assignable to Source: |
| // |
| // *ImportTestCasesRequest_GcsUri |
| // *ImportTestCasesRequest_Content |
| Source isImportTestCasesRequest_Source `protobuf_oneof:"source"` |
| } |
| |
| func (x *ImportTestCasesRequest) Reset() { |
| *x = ImportTestCasesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[23] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ImportTestCasesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ImportTestCasesRequest) ProtoMessage() {} |
| |
| func (x *ImportTestCasesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[23] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ImportTestCasesRequest.ProtoReflect.Descriptor instead. |
| func (*ImportTestCasesRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{23} |
| } |
| |
| func (x *ImportTestCasesRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (m *ImportTestCasesRequest) GetSource() isImportTestCasesRequest_Source { |
| if m != nil { |
| return m.Source |
| } |
| return nil |
| } |
| |
| func (x *ImportTestCasesRequest) GetGcsUri() string { |
| if x, ok := x.GetSource().(*ImportTestCasesRequest_GcsUri); ok { |
| return x.GcsUri |
| } |
| return "" |
| } |
| |
| func (x *ImportTestCasesRequest) GetContent() []byte { |
| if x, ok := x.GetSource().(*ImportTestCasesRequest_Content); ok { |
| return x.Content |
| } |
| return nil |
| } |
| |
| type isImportTestCasesRequest_Source interface { |
| isImportTestCasesRequest_Source() |
| } |
| |
| type ImportTestCasesRequest_GcsUri struct { |
| // The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI |
| // to import test cases from. The format of this URI must be |
| // `gs://<bucket-name>/<object-name>`. |
| // |
| // Dialogflow performs a read operation for the Cloud Storage object |
| // on the caller's behalf, so your request authentication must |
| // have read permissions for the object. For more information, see |
| // [Dialogflow access |
| // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage). |
| GcsUri string `protobuf:"bytes,2,opt,name=gcs_uri,json=gcsUri,proto3,oneof"` |
| } |
| |
| type ImportTestCasesRequest_Content struct { |
| // Uncompressed raw byte content for test cases. |
| Content []byte `protobuf:"bytes,3,opt,name=content,proto3,oneof"` |
| } |
| |
| func (*ImportTestCasesRequest_GcsUri) isImportTestCasesRequest_Source() {} |
| |
| func (*ImportTestCasesRequest_Content) isImportTestCasesRequest_Source() {} |
| |
| // The response message for [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3.TestCases.ImportTestCases]. |
| type ImportTestCasesResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The unique identifiers of the new test cases. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent |
| // ID>/testCases/<TestCase ID>`. |
| Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` |
| } |
| |
| func (x *ImportTestCasesResponse) Reset() { |
| *x = ImportTestCasesResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[24] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ImportTestCasesResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ImportTestCasesResponse) ProtoMessage() {} |
| |
| func (x *ImportTestCasesResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[24] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ImportTestCasesResponse.ProtoReflect.Descriptor instead. |
| func (*ImportTestCasesResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{24} |
| } |
| |
| func (x *ImportTestCasesResponse) GetNames() []string { |
| if x != nil { |
| return x.Names |
| } |
| return nil |
| } |
| |
| // Metadata returned for the [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3.TestCases.ImportTestCases] long running |
| // operation. |
| type ImportTestCasesMetadata struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Errors for failed test cases. |
| Errors []*TestCaseError `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"` |
| } |
| |
| func (x *ImportTestCasesMetadata) Reset() { |
| *x = ImportTestCasesMetadata{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[25] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ImportTestCasesMetadata) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ImportTestCasesMetadata) ProtoMessage() {} |
| |
| func (x *ImportTestCasesMetadata) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[25] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ImportTestCasesMetadata.ProtoReflect.Descriptor instead. |
| func (*ImportTestCasesMetadata) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{25} |
| } |
| |
| func (x *ImportTestCasesMetadata) GetErrors() []*TestCaseError { |
| if x != nil { |
| return x.Errors |
| } |
| return nil |
| } |
| |
| // Error info for importing a test. |
| type TestCaseError struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The test case. |
| TestCase *TestCase `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"` |
| // The status associated with the test case. |
| Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` |
| } |
| |
| func (x *TestCaseError) Reset() { |
| *x = TestCaseError{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[26] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TestCaseError) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TestCaseError) ProtoMessage() {} |
| |
| func (x *TestCaseError) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[26] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TestCaseError.ProtoReflect.Descriptor instead. |
| func (*TestCaseError) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{26} |
| } |
| |
| func (x *TestCaseError) GetTestCase() *TestCase { |
| if x != nil { |
| return x.TestCase |
| } |
| return nil |
| } |
| |
| func (x *TestCaseError) GetStatus() *status.Status { |
| if x != nil { |
| return x.Status |
| } |
| return nil |
| } |
| |
| // The request message for [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3.TestCases.ExportTestCases]. |
| type ExportTestCasesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The agent where to export test cases from. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // The destination to export. |
| // |
| // Types that are assignable to Destination: |
| // |
| // *ExportTestCasesRequest_GcsUri |
| Destination isExportTestCasesRequest_Destination `protobuf_oneof:"destination"` |
| // The data format of the exported test cases. If not specified, `BLOB` is |
| // assumed. |
| DataFormat ExportTestCasesRequest_DataFormat `protobuf:"varint,3,opt,name=data_format,json=dataFormat,proto3,enum=google.cloud.dialogflow.cx.v3.ExportTestCasesRequest_DataFormat" json:"data_format,omitempty"` |
| // The filter expression used to filter exported test cases, see |
| // [API Filtering](https://aip.dev/160). The expression is case insensitive |
| // and supports the following syntax: |
| // |
| // name = <value> [OR name = <value>] ... |
| // |
| // For example: |
| // |
| // - "name = t1 OR name = t2" matches the test case with the exact resource |
| // name "t1" or "t2". |
| Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` |
| } |
| |
| func (x *ExportTestCasesRequest) Reset() { |
| *x = ExportTestCasesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[27] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ExportTestCasesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ExportTestCasesRequest) ProtoMessage() {} |
| |
| func (x *ExportTestCasesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[27] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ExportTestCasesRequest.ProtoReflect.Descriptor instead. |
| func (*ExportTestCasesRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{27} |
| } |
| |
| func (x *ExportTestCasesRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (m *ExportTestCasesRequest) GetDestination() isExportTestCasesRequest_Destination { |
| if m != nil { |
| return m.Destination |
| } |
| return nil |
| } |
| |
| func (x *ExportTestCasesRequest) GetGcsUri() string { |
| if x, ok := x.GetDestination().(*ExportTestCasesRequest_GcsUri); ok { |
| return x.GcsUri |
| } |
| return "" |
| } |
| |
| func (x *ExportTestCasesRequest) GetDataFormat() ExportTestCasesRequest_DataFormat { |
| if x != nil { |
| return x.DataFormat |
| } |
| return ExportTestCasesRequest_DATA_FORMAT_UNSPECIFIED |
| } |
| |
| func (x *ExportTestCasesRequest) GetFilter() string { |
| if x != nil { |
| return x.Filter |
| } |
| return "" |
| } |
| |
| type isExportTestCasesRequest_Destination interface { |
| isExportTestCasesRequest_Destination() |
| } |
| |
| type ExportTestCasesRequest_GcsUri struct { |
| // The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to |
| // export the test cases to. The format of this URI must be |
| // `gs://<bucket-name>/<object-name>`. If unspecified, the serialized test |
| // cases is returned inline. |
| // |
| // Dialogflow performs a write operation for the Cloud Storage object |
| // on the caller's behalf, so your request authentication must |
| // have write permissions for the object. For more information, see |
| // [Dialogflow access |
| // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage). |
| GcsUri string `protobuf:"bytes,2,opt,name=gcs_uri,json=gcsUri,proto3,oneof"` |
| } |
| |
| func (*ExportTestCasesRequest_GcsUri) isExportTestCasesRequest_Destination() {} |
| |
| // The response message for [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3.TestCases.ExportTestCases]. |
| type ExportTestCasesResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The exported test cases. |
| // |
| // Types that are assignable to Destination: |
| // |
| // *ExportTestCasesResponse_GcsUri |
| // *ExportTestCasesResponse_Content |
| Destination isExportTestCasesResponse_Destination `protobuf_oneof:"destination"` |
| } |
| |
| func (x *ExportTestCasesResponse) Reset() { |
| *x = ExportTestCasesResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[28] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ExportTestCasesResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ExportTestCasesResponse) ProtoMessage() {} |
| |
| func (x *ExportTestCasesResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[28] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ExportTestCasesResponse.ProtoReflect.Descriptor instead. |
| func (*ExportTestCasesResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{28} |
| } |
| |
| func (m *ExportTestCasesResponse) GetDestination() isExportTestCasesResponse_Destination { |
| if m != nil { |
| return m.Destination |
| } |
| return nil |
| } |
| |
| func (x *ExportTestCasesResponse) GetGcsUri() string { |
| if x, ok := x.GetDestination().(*ExportTestCasesResponse_GcsUri); ok { |
| return x.GcsUri |
| } |
| return "" |
| } |
| |
| func (x *ExportTestCasesResponse) GetContent() []byte { |
| if x, ok := x.GetDestination().(*ExportTestCasesResponse_Content); ok { |
| return x.Content |
| } |
| return nil |
| } |
| |
| type isExportTestCasesResponse_Destination interface { |
| isExportTestCasesResponse_Destination() |
| } |
| |
| type ExportTestCasesResponse_GcsUri struct { |
| // The URI to a file containing the exported test cases. This field is |
| // populated only if `gcs_uri` is specified in |
| // [ExportTestCasesRequest][google.cloud.dialogflow.cx.v3.ExportTestCasesRequest]. |
| GcsUri string `protobuf:"bytes,1,opt,name=gcs_uri,json=gcsUri,proto3,oneof"` |
| } |
| |
| type ExportTestCasesResponse_Content struct { |
| // Uncompressed raw byte content for test cases. |
| Content []byte `protobuf:"bytes,2,opt,name=content,proto3,oneof"` |
| } |
| |
| func (*ExportTestCasesResponse_GcsUri) isExportTestCasesResponse_Destination() {} |
| |
| func (*ExportTestCasesResponse_Content) isExportTestCasesResponse_Destination() {} |
| |
| // Metadata returned for the [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3.TestCases.ExportTestCases] long running |
| // operation. |
| // This message currently has no fields. |
| type ExportTestCasesMetadata struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| } |
| |
| func (x *ExportTestCasesMetadata) Reset() { |
| *x = ExportTestCasesMetadata{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[29] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ExportTestCasesMetadata) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ExportTestCasesMetadata) ProtoMessage() {} |
| |
| func (x *ExportTestCasesMetadata) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[29] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ExportTestCasesMetadata.ProtoReflect.Descriptor instead. |
| func (*ExportTestCasesMetadata) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{29} |
| } |
| |
| // The request message for [TestCases.ListTestCaseResults][google.cloud.dialogflow.cx.v3.TestCases.ListTestCaseResults]. |
| type ListTestCaseResultsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The test case to list results for. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/ |
| // testCases/<TestCase ID>`. Specify a `-` as a wildcard for TestCase ID to |
| // list results across multiple test cases. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // The maximum number of items to return in a single page. By default 100 and |
| // at most 1000. |
| PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // The next_page_token value returned from a previous list request. |
| PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| // The filter expression used to filter test case results. See |
| // [API Filtering](https://aip.dev/160). |
| // |
| // The expression is case insensitive. Only 'AND' is supported for logical |
| // operators. The supported syntax is listed below in detail: |
| // |
| // <field> <operator> <value> [AND <field> <operator> <value>] ... |
| // [AND latest] |
| // |
| // The supported fields and operators are: |
| // field operator |
| // `environment` `=`, `IN` (Use value `draft` for draft environment) |
| // `test_time` `>`, `<` |
| // |
| // `latest` only returns the latest test result in all results for each test |
| // case. |
| // |
| // Examples: |
| // - "environment=draft AND latest" matches the latest test result for each |
| // test case in the draft environment. |
| // - "environment IN (e1,e2)" matches any test case results with an |
| // environment resource name of either "e1" or "e2". |
| // - "test_time > 1602540713" matches any test case results with test time |
| // later than a unix timestamp in seconds 1602540713. |
| Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` |
| } |
| |
| func (x *ListTestCaseResultsRequest) Reset() { |
| *x = ListTestCaseResultsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[30] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListTestCaseResultsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListTestCaseResultsRequest) ProtoMessage() {} |
| |
| func (x *ListTestCaseResultsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[30] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListTestCaseResultsRequest.ProtoReflect.Descriptor instead. |
| func (*ListTestCaseResultsRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{30} |
| } |
| |
| func (x *ListTestCaseResultsRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *ListTestCaseResultsRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *ListTestCaseResultsRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| func (x *ListTestCaseResultsRequest) GetFilter() string { |
| if x != nil { |
| return x.Filter |
| } |
| return "" |
| } |
| |
| // The response message for [TestCases.ListTestCaseResults][google.cloud.dialogflow.cx.v3.TestCases.ListTestCaseResults]. |
| type ListTestCaseResultsResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The list of test case results. |
| TestCaseResults []*TestCaseResult `protobuf:"bytes,1,rep,name=test_case_results,json=testCaseResults,proto3" json:"test_case_results,omitempty"` |
| // Token to retrieve the next page of results, or empty if there are no more |
| // results in the list. |
| NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| } |
| |
| func (x *ListTestCaseResultsResponse) Reset() { |
| *x = ListTestCaseResultsResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[31] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListTestCaseResultsResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListTestCaseResultsResponse) ProtoMessage() {} |
| |
| func (x *ListTestCaseResultsResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[31] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListTestCaseResultsResponse.ProtoReflect.Descriptor instead. |
| func (*ListTestCaseResultsResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{31} |
| } |
| |
| func (x *ListTestCaseResultsResponse) GetTestCaseResults() []*TestCaseResult { |
| if x != nil { |
| return x.TestCaseResults |
| } |
| return nil |
| } |
| |
| func (x *ListTestCaseResultsResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| // The request message for [TestCases.GetTestCaseResult][google.cloud.dialogflow.cx.v3.TestCases.GetTestCaseResult]. |
| type GetTestCaseResultRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name of the testcase. |
| // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent |
| // ID>/testCases/<TestCase ID>/results/<TestCaseResult ID>`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *GetTestCaseResultRequest) Reset() { |
| *x = GetTestCaseResultRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[32] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetTestCaseResultRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetTestCaseResultRequest) ProtoMessage() {} |
| |
| func (x *GetTestCaseResultRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[32] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetTestCaseResultRequest.ProtoReflect.Descriptor instead. |
| func (*GetTestCaseResultRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{32} |
| } |
| |
| func (x *GetTestCaseResultRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // The input from the human user. |
| type ConversationTurn_UserInput struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Supports [text input][google.cloud.dialogflow.cx.v3.QueryInput.text], [event input][google.cloud.dialogflow.cx.v3.QueryInput.event], |
| // [dtmf input][google.cloud.dialogflow.cx.v3.QueryInput.dtmf] in the test case. |
| Input *QueryInput `protobuf:"bytes,5,opt,name=input,proto3" json:"input,omitempty"` |
| // Parameters that need to be injected into the conversation during intent |
| // detection. |
| InjectedParameters *_struct.Struct `protobuf:"bytes,2,opt,name=injected_parameters,json=injectedParameters,proto3" json:"injected_parameters,omitempty"` |
| // If webhooks should be allowed to trigger in response to the user |
| // utterance. Often if parameters are injected, webhooks should not be |
| // enabled. |
| IsWebhookEnabled bool `protobuf:"varint,3,opt,name=is_webhook_enabled,json=isWebhookEnabled,proto3" json:"is_webhook_enabled,omitempty"` |
| // Whether sentiment analysis is enabled. |
| EnableSentimentAnalysis bool `protobuf:"varint,7,opt,name=enable_sentiment_analysis,json=enableSentimentAnalysis,proto3" json:"enable_sentiment_analysis,omitempty"` |
| } |
| |
| func (x *ConversationTurn_UserInput) Reset() { |
| *x = ConversationTurn_UserInput{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[33] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ConversationTurn_UserInput) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ConversationTurn_UserInput) ProtoMessage() {} |
| |
| func (x *ConversationTurn_UserInput) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[33] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ConversationTurn_UserInput.ProtoReflect.Descriptor instead. |
| func (*ConversationTurn_UserInput) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{3, 0} |
| } |
| |
| func (x *ConversationTurn_UserInput) GetInput() *QueryInput { |
| if x != nil { |
| return x.Input |
| } |
| return nil |
| } |
| |
| func (x *ConversationTurn_UserInput) GetInjectedParameters() *_struct.Struct { |
| if x != nil { |
| return x.InjectedParameters |
| } |
| return nil |
| } |
| |
| func (x *ConversationTurn_UserInput) GetIsWebhookEnabled() bool { |
| if x != nil { |
| return x.IsWebhookEnabled |
| } |
| return false |
| } |
| |
| func (x *ConversationTurn_UserInput) GetEnableSentimentAnalysis() bool { |
| if x != nil { |
| return x.EnableSentimentAnalysis |
| } |
| return false |
| } |
| |
| // The output from the virtual agent. |
| type ConversationTurn_VirtualAgentOutput struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The session parameters available to the bot at this point. |
| SessionParameters *_struct.Struct `protobuf:"bytes,4,opt,name=session_parameters,json=sessionParameters,proto3" json:"session_parameters,omitempty"` |
| // Output only. If this is part of a [result conversation |
| // turn][TestCaseResult.conversation_turns], the list of differences |
| // between the original run and the replay for this output, if any. |
| Differences []*TestRunDifference `protobuf:"bytes,5,rep,name=differences,proto3" json:"differences,omitempty"` |
| // Required. Input only. The diagnostic |
| // [info][Session.DetectIntentResponse.QueryResult.diagnostic_info] |
| // output for the turn. Required to calculate the testing coverage. |
| DiagnosticInfo *_struct.Struct `protobuf:"bytes,6,opt,name=diagnostic_info,json=diagnosticInfo,proto3" json:"diagnostic_info,omitempty"` |
| // The [Intent][google.cloud.dialogflow.cx.v3.Intent] that triggered the response. Only name and displayName |
| // will be set. |
| TriggeredIntent *Intent `protobuf:"bytes,7,opt,name=triggered_intent,json=triggeredIntent,proto3" json:"triggered_intent,omitempty"` |
| // The [Page][google.cloud.dialogflow.cx.v3.Page] on which the utterance was spoken. Only name and displayName |
| // will be set. |
| CurrentPage *Page `protobuf:"bytes,8,opt,name=current_page,json=currentPage,proto3" json:"current_page,omitempty"` |
| // The [text][google.cloud.dialogflow.cx.v3.ResponseMessage.Text] responses from the agent for the turn. |
| TextResponses []*ResponseMessage_Text `protobuf:"bytes,9,rep,name=text_responses,json=textResponses,proto3" json:"text_responses,omitempty"` |
| // Response error from the agent in the test result. If set, other output |
| // is empty. |
| Status *status.Status `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"` |
| } |
| |
| func (x *ConversationTurn_VirtualAgentOutput) Reset() { |
| *x = ConversationTurn_VirtualAgentOutput{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[34] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ConversationTurn_VirtualAgentOutput) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ConversationTurn_VirtualAgentOutput) ProtoMessage() {} |
| |
| func (x *ConversationTurn_VirtualAgentOutput) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[34] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ConversationTurn_VirtualAgentOutput.ProtoReflect.Descriptor instead. |
| func (*ConversationTurn_VirtualAgentOutput) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{3, 1} |
| } |
| |
| func (x *ConversationTurn_VirtualAgentOutput) GetSessionParameters() *_struct.Struct { |
| if x != nil { |
| return x.SessionParameters |
| } |
| return nil |
| } |
| |
| func (x *ConversationTurn_VirtualAgentOutput) GetDifferences() []*TestRunDifference { |
| if x != nil { |
| return x.Differences |
| } |
| return nil |
| } |
| |
| func (x *ConversationTurn_VirtualAgentOutput) GetDiagnosticInfo() *_struct.Struct { |
| if x != nil { |
| return x.DiagnosticInfo |
| } |
| return nil |
| } |
| |
| func (x *ConversationTurn_VirtualAgentOutput) GetTriggeredIntent() *Intent { |
| if x != nil { |
| return x.TriggeredIntent |
| } |
| return nil |
| } |
| |
| func (x *ConversationTurn_VirtualAgentOutput) GetCurrentPage() *Page { |
| if x != nil { |
| return x.CurrentPage |
| } |
| return nil |
| } |
| |
| func (x *ConversationTurn_VirtualAgentOutput) GetTextResponses() []*ResponseMessage_Text { |
| if x != nil { |
| return x.TextResponses |
| } |
| return nil |
| } |
| |
| func (x *ConversationTurn_VirtualAgentOutput) GetStatus() *status.Status { |
| if x != nil { |
| return x.Status |
| } |
| return nil |
| } |
| |
| // The source or target of a transition. |
| type TransitionCoverage_TransitionNode struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // A TransitionNode can be either a page or a flow. |
| // |
| // Types that are assignable to Kind: |
| // |
| // *TransitionCoverage_TransitionNode_Page |
| // *TransitionCoverage_TransitionNode_Flow |
| Kind isTransitionCoverage_TransitionNode_Kind `protobuf_oneof:"kind"` |
| } |
| |
| func (x *TransitionCoverage_TransitionNode) Reset() { |
| *x = TransitionCoverage_TransitionNode{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[35] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TransitionCoverage_TransitionNode) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TransitionCoverage_TransitionNode) ProtoMessage() {} |
| |
| func (x *TransitionCoverage_TransitionNode) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[35] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TransitionCoverage_TransitionNode.ProtoReflect.Descriptor instead. |
| func (*TransitionCoverage_TransitionNode) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{5, 0} |
| } |
| |
| func (m *TransitionCoverage_TransitionNode) GetKind() isTransitionCoverage_TransitionNode_Kind { |
| if m != nil { |
| return m.Kind |
| } |
| return nil |
| } |
| |
| func (x *TransitionCoverage_TransitionNode) GetPage() *Page { |
| if x, ok := x.GetKind().(*TransitionCoverage_TransitionNode_Page); ok { |
| return x.Page |
| } |
| return nil |
| } |
| |
| func (x *TransitionCoverage_TransitionNode) GetFlow() *Flow { |
| if x, ok := x.GetKind().(*TransitionCoverage_TransitionNode_Flow); ok { |
| return x.Flow |
| } |
| return nil |
| } |
| |
| type isTransitionCoverage_TransitionNode_Kind interface { |
| isTransitionCoverage_TransitionNode_Kind() |
| } |
| |
| type TransitionCoverage_TransitionNode_Page struct { |
| // Indicates a transition to a [Page][google.cloud.dialogflow.cx.v3.Page]. Only some fields such as name and |
| // displayname will be set. |
| Page *Page `protobuf:"bytes,1,opt,name=page,proto3,oneof"` |
| } |
| |
| type TransitionCoverage_TransitionNode_Flow struct { |
| // Indicates a transition to a [Flow][google.cloud.dialogflow.cx.v3.Flow]. Only some fields such as name and |
| // displayname will be set. |
| Flow *Flow `protobuf:"bytes,2,opt,name=flow,proto3,oneof"` |
| } |
| |
| func (*TransitionCoverage_TransitionNode_Page) isTransitionCoverage_TransitionNode_Kind() {} |
| |
| func (*TransitionCoverage_TransitionNode_Flow) isTransitionCoverage_TransitionNode_Kind() {} |
| |
| // A transition in a page. |
| type TransitionCoverage_Transition struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The start node of a transition. |
| Source *TransitionCoverage_TransitionNode `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` |
| // The index of a transition in the transition list. Starting from 0. |
| Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"` |
| // The end node of a transition. |
| Target *TransitionCoverage_TransitionNode `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` |
| // Whether or not the transition is covered by at least one of the |
| // agent's test cases. |
| Covered bool `protobuf:"varint,3,opt,name=covered,proto3" json:"covered,omitempty"` |
| // The detailed transition. |
| // |
| // Types that are assignable to Detail: |
| // |
| // *TransitionCoverage_Transition_TransitionRoute |
| // *TransitionCoverage_Transition_EventHandler |
| Detail isTransitionCoverage_Transition_Detail `protobuf_oneof:"detail"` |
| } |
| |
| func (x *TransitionCoverage_Transition) Reset() { |
| *x = TransitionCoverage_Transition{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[36] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TransitionCoverage_Transition) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TransitionCoverage_Transition) ProtoMessage() {} |
| |
| func (x *TransitionCoverage_Transition) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[36] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TransitionCoverage_Transition.ProtoReflect.Descriptor instead. |
| func (*TransitionCoverage_Transition) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{5, 1} |
| } |
| |
| func (x *TransitionCoverage_Transition) GetSource() *TransitionCoverage_TransitionNode { |
| if x != nil { |
| return x.Source |
| } |
| return nil |
| } |
| |
| func (x *TransitionCoverage_Transition) GetIndex() int32 { |
| if x != nil { |
| return x.Index |
| } |
| return 0 |
| } |
| |
| func (x *TransitionCoverage_Transition) GetTarget() *TransitionCoverage_TransitionNode { |
| if x != nil { |
| return x.Target |
| } |
| return nil |
| } |
| |
| func (x *TransitionCoverage_Transition) GetCovered() bool { |
| if x != nil { |
| return x.Covered |
| } |
| return false |
| } |
| |
| func (m *TransitionCoverage_Transition) GetDetail() isTransitionCoverage_Transition_Detail { |
| if m != nil { |
| return m.Detail |
| } |
| return nil |
| } |
| |
| func (x *TransitionCoverage_Transition) GetTransitionRoute() *TransitionRoute { |
| if x, ok := x.GetDetail().(*TransitionCoverage_Transition_TransitionRoute); ok { |
| return x.TransitionRoute |
| } |
| return nil |
| } |
| |
| func (x *TransitionCoverage_Transition) GetEventHandler() *EventHandler { |
| if x, ok := x.GetDetail().(*TransitionCoverage_Transition_EventHandler); ok { |
| return x.EventHandler |
| } |
| return nil |
| } |
| |
| type isTransitionCoverage_Transition_Detail interface { |
| isTransitionCoverage_Transition_Detail() |
| } |
| |
| type TransitionCoverage_Transition_TransitionRoute struct { |
| // Intent route or condition route. |
| TransitionRoute *TransitionRoute `protobuf:"bytes,5,opt,name=transition_route,json=transitionRoute,proto3,oneof"` |
| } |
| |
| type TransitionCoverage_Transition_EventHandler struct { |
| // Event handler. |
| EventHandler *EventHandler `protobuf:"bytes,6,opt,name=event_handler,json=eventHandler,proto3,oneof"` |
| } |
| |
| func (*TransitionCoverage_Transition_TransitionRoute) isTransitionCoverage_Transition_Detail() {} |
| |
| func (*TransitionCoverage_Transition_EventHandler) isTransitionCoverage_Transition_Detail() {} |
| |
| // Coverage result message for one transition route group. |
| type TransitionRouteGroupCoverage_Coverage struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Transition route group metadata. Only name and displayName will be set. |
| RouteGroup *TransitionRouteGroup `protobuf:"bytes,1,opt,name=route_group,json=routeGroup,proto3" json:"route_group,omitempty"` |
| // The list of transition routes and coverage in the transition route group. |
| Transitions []*TransitionRouteGroupCoverage_Coverage_Transition `protobuf:"bytes,2,rep,name=transitions,proto3" json:"transitions,omitempty"` |
| // The percent of transition routes in the transition route group that are |
| // covered. |
| CoverageScore float32 `protobuf:"fixed32,3,opt,name=coverage_score,json=coverageScore,proto3" json:"coverage_score,omitempty"` |
| } |
| |
| func (x *TransitionRouteGroupCoverage_Coverage) Reset() { |
| *x = TransitionRouteGroupCoverage_Coverage{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[37] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TransitionRouteGroupCoverage_Coverage) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TransitionRouteGroupCoverage_Coverage) ProtoMessage() {} |
| |
| func (x *TransitionRouteGroupCoverage_Coverage) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[37] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TransitionRouteGroupCoverage_Coverage.ProtoReflect.Descriptor instead. |
| func (*TransitionRouteGroupCoverage_Coverage) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{6, 0} |
| } |
| |
| func (x *TransitionRouteGroupCoverage_Coverage) GetRouteGroup() *TransitionRouteGroup { |
| if x != nil { |
| return x.RouteGroup |
| } |
| return nil |
| } |
| |
| func (x *TransitionRouteGroupCoverage_Coverage) GetTransitions() []*TransitionRouteGroupCoverage_Coverage_Transition { |
| if x != nil { |
| return x.Transitions |
| } |
| return nil |
| } |
| |
| func (x *TransitionRouteGroupCoverage_Coverage) GetCoverageScore() float32 { |
| if x != nil { |
| return x.CoverageScore |
| } |
| return 0 |
| } |
| |
| // A transition coverage in a transition route group. |
| type TransitionRouteGroupCoverage_Coverage_Transition struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Intent route or condition route. |
| TransitionRoute *TransitionRoute `protobuf:"bytes,1,opt,name=transition_route,json=transitionRoute,proto3" json:"transition_route,omitempty"` |
| // Whether or not the transition route is covered by at least one of the |
| // agent's test cases. |
| Covered bool `protobuf:"varint,2,opt,name=covered,proto3" json:"covered,omitempty"` |
| } |
| |
| func (x *TransitionRouteGroupCoverage_Coverage_Transition) Reset() { |
| *x = TransitionRouteGroupCoverage_Coverage_Transition{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[38] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TransitionRouteGroupCoverage_Coverage_Transition) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TransitionRouteGroupCoverage_Coverage_Transition) ProtoMessage() {} |
| |
| func (x *TransitionRouteGroupCoverage_Coverage_Transition) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[38] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TransitionRouteGroupCoverage_Coverage_Transition.ProtoReflect.Descriptor instead. |
| func (*TransitionRouteGroupCoverage_Coverage_Transition) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{6, 0, 0} |
| } |
| |
| func (x *TransitionRouteGroupCoverage_Coverage_Transition) GetTransitionRoute() *TransitionRoute { |
| if x != nil { |
| return x.TransitionRoute |
| } |
| return nil |
| } |
| |
| func (x *TransitionRouteGroupCoverage_Coverage_Transition) GetCovered() bool { |
| if x != nil { |
| return x.Covered |
| } |
| return false |
| } |
| |
| // The agent's intent. |
| type IntentCoverage_Intent struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The intent full resource name |
| Intent string `protobuf:"bytes,1,opt,name=intent,proto3" json:"intent,omitempty"` |
| // Whether or not the intent is covered by at least one of the agent's |
| // test cases. |
| Covered bool `protobuf:"varint,2,opt,name=covered,proto3" json:"covered,omitempty"` |
| } |
| |
| func (x *IntentCoverage_Intent) Reset() { |
| *x = IntentCoverage_Intent{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[39] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *IntentCoverage_Intent) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*IntentCoverage_Intent) ProtoMessage() {} |
| |
| func (x *IntentCoverage_Intent) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[39] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use IntentCoverage_Intent.ProtoReflect.Descriptor instead. |
| func (*IntentCoverage_Intent) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP(), []int{7, 0} |
| } |
| |
| func (x *IntentCoverage_Intent) GetIntent() string { |
| if x != nil { |
| return x.Intent |
| } |
| return "" |
| } |
| |
| func (x *IntentCoverage_Intent) GetCovered() bool { |
| if x != nil { |
| return x.Covered |
| } |
| return false |
| } |
| |
| var File_google_cloud_dialogflow_cx_v3_test_case_proto protoreflect.FileDescriptor |
| |
| var file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDesc = []byte{ |
| 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f, |
| 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, |
| 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, |
| 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x1a, 0x1c, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, |
| 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, |
| 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, |
| 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, |
| 0x2f, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, |
| 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x6e, |
| 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, |
| 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x1a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, |
| 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, |
| 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, |
| 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, |
| 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, |
| 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, |
| 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, |
| 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, |
| 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, |
| 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, |
| 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x04, 0x0a, |
| 0x08, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, |
| 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, |
| 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, |
| 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, |
| 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, |
| 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, |
| 0x4a, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, |
| 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, |
| 0x0a, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x70, 0x0a, 0x1c, 0x74, |
| 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, |
| 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, |
| 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, |
| 0x72, 0x6e, 0x52, 0x19, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x76, |
| 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x73, 0x12, 0x44, 0x0a, |
| 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, |
| 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, |
| 0x69, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x65, 0x73, 0x74, |
| 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, |
| 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, |
| 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x6c, 0x61, |
| 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x3a, 0x75, 0xea, 0x41, |
| 0x72, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, |
| 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x4c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, |
| 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, |
| 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x74, 0x65, |
| 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, |
| 0x73, 0x65, 0x7d, 0x22, 0xe7, 0x03, 0x0a, 0x0e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, |
| 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x65, 0x6e, |
| 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, |
| 0x2a, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, |
| 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, |
| 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x76, |
| 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x03, |
| 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, |
| 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74, |
| 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, |
| 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, |
| 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, |
| 0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, |
| 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, |
| 0x61, 0x6d, 0x70, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x3a, 0x8d, 0x01, |
| 0xea, 0x41, 0x89, 0x01, 0x0a, 0x28, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, |
| 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5d, |
| 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, |
| 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, |
| 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, |
| 0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, |
| 0x2f, 0x7b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x7d, 0x2f, 0x72, 0x65, 0x73, |
| 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x7d, 0x22, 0xaf, 0x01, |
| 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x13, |
| 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, |
| 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x63, 0x6b, |
| 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x37, 0x0a, |
| 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xfa, 0x41, 0x20, |
| 0x0a, 0x1e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6c, 0x6f, 0x77, |
| 0x52, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x37, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, |
| 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x64, 0x69, 0x61, 0x6c, 0x6f, |
| 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, |
| 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x61, 0x67, 0x65, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x22, |
| 0x89, 0x08, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, |
| 0x54, 0x75, 0x72, 0x6e, 0x12, 0x58, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x70, |
| 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, |
| 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, |
| 0x70, 0x75, 0x74, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x74, |
| 0x0a, 0x14, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, |
| 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, |
| 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6e, |
| 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x2e, 0x56, 0x69, |
| 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, |
| 0x52, 0x12, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4f, 0x75, |
| 0x74, 0x70, 0x75, 0x74, 0x1a, 0x80, 0x02, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x70, |
| 0x75, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, |
| 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x05, 0x69, 0x6e, |
| 0x70, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x13, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, |
| 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, |
| 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x12, 0x69, 0x6e, 0x6a, 0x65, 0x63, |
| 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, |
| 0x12, 0x69, 0x73, 0x5f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x65, 0x6e, 0x61, 0x62, |
| 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x57, 0x65, 0x62, |
| 0x68, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x19, 0x65, |
| 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, |
| 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, |
| 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, |
| 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x1a, 0xa1, 0x04, 0x0a, 0x12, 0x56, 0x69, 0x72, 0x74, |
| 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x46, |
| 0x0a, 0x12, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, |
| 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, |
| 0x75, 0x63, 0x74, 0x52, 0x11, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, |
| 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x0b, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, |
| 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, |
| 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, |
| 0x52, 0x75, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, |
| 0x41, 0x03, 0x52, 0x0b, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, |
| 0x48, 0x0a, 0x0f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x69, 0x6e, |
| 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, |
| 0x74, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x04, 0x52, 0x0e, 0x64, 0x69, 0x61, 0x67, 0x6e, |
| 0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x50, 0x0a, 0x10, 0x74, 0x72, 0x69, |
| 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, |
| 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x69, 0x67, |
| 0x67, 0x65, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x63, |
| 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, |
| 0x33, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, |
| 0x61, 0x67, 0x65, 0x12, 0x5a, 0x0a, 0x0e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, |
| 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, |
| 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x70, |
| 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x65, 0x78, 0x74, |
| 0x52, 0x0d, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, |
| 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, |
| 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xe0, 0x01, 0x0a, 0x11, |
| 0x54, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, |
| 0x65, 0x12, 0x4d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, |
| 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, |
| 0x54, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, |
| 0x65, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, |
| 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, |
| 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, |
| 0x6f, 0x6e, 0x22, 0x5a, 0x0a, 0x08, 0x44, 0x69, 0x66, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, |
| 0x0a, 0x15, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, |
| 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x54, |
| 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, |
| 0x0e, 0x0a, 0x0a, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10, 0x03, 0x12, |
| 0x0d, 0x0a, 0x09, 0x55, 0x54, 0x54, 0x45, 0x52, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x04, 0x22, 0xda, |
| 0x05, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, |
| 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x5e, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, |
| 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, |
| 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, |
| 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, |
| 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, |
| 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, |
| 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x63, |
| 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x8e, 0x01, 0x0a, |
| 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x12, |
| 0x39, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, |
| 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, |
| 0x67, 0x65, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x66, 0x6c, |
| 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, |
| 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x48, 0x00, 0x52, |
| 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0xab, 0x03, |
| 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x06, |
| 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, |
| 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, |
| 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, |
| 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, |
| 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, |
| 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x58, 0x0a, 0x06, |
| 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, |
| 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, |
| 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, |
| 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, |
| 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, |
| 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, |
| 0x12, 0x5b, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, |
| 0x6f, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, |
| 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, |
| 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x72, |
| 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x52, 0x0a, |
| 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x06, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, |
| 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, |
| 0x72, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, |
| 0x72, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xaa, 0x04, 0x0a, 0x1c, |
| 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, |
| 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x62, 0x0a, 0x09, |
| 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, |
| 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, |
| 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, |
| 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x76, |
| 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x73, |
| 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, |
| 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, |
| 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0xfe, 0x02, 0x0a, 0x08, 0x43, 0x6f, 0x76, 0x65, |
| 0x72, 0x61, 0x67, 0x65, 0x12, 0x54, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x67, 0x72, |
| 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, |
| 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, |
| 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, |
| 0x72, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x71, 0x0a, 0x0b, 0x74, 0x72, |
| 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, |
| 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, |
| 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, |
| 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x76, |
| 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, |
| 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, |
| 0x0e, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, |
| 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, |
| 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x81, 0x01, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, |
| 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, |
| 0x6e, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, |
| 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, |
| 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0f, 0x74, |
| 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x18, |
| 0x0a, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, |
| 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x22, 0xea, 0x01, 0x0a, 0x0e, 0x49, 0x6e, 0x74, |
| 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x07, 0x69, |
| 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, |
| 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, |
| 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x65, |
| 0x6e, 0x74, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, |
| 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, |
| 0x72, 0x65, 0x1a, 0x61, 0x0a, 0x06, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x06, |
| 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xfa, 0x41, |
| 0x22, 0x0a, 0x20, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x74, |
| 0x65, 0x6e, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, |
| 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, |
| 0x76, 0x65, 0x72, 0x65, 0x64, 0x22, 0xa4, 0x02, 0x0a, 0x18, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, |
| 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, |
| 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x64, 0x69, 0x61, 0x6c, 0x6f, |
| 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, |
| 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, |
| 0x74, 0x12, 0x5d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, |
| 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, |
| 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, |
| 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, |
| 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, |
| 0x22, 0x6a, 0x0a, 0x0c, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, |
| 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, |
| 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, |
| 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50, |
| 0x41, 0x47, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, |
| 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, |
| 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x03, 0x22, 0x99, 0x03, 0x0a, |
| 0x19, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, |
| 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x61, 0x67, |
| 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, |
| 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, |
| 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, |
| 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, |
| 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x48, 0x00, |
| 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, |
| 0x12, 0x64, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, |
| 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, |
| 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, |
| 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, |
| 0x48, 0x00, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, |
| 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x6f, 0x0a, 0x14, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, |
| 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x06, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, |
| 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, |
| 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, |
| 0x65, 0x48, 0x00, 0x52, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, |
| 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, |
| 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, |
| 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, |
| 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, |
| 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, |
| 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, |
| 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, |
| 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, |
| 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, |
| 0x6e, 0x12, 0x54, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, |
| 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, |
| 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x56, 0x69, 0x65, |
| 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0x43, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x43, |
| 0x61, 0x73, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x45, 0x53, 0x54, 0x5f, |
| 0x43, 0x41, 0x53, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, |
| 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49, 0x43, |
| 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x22, 0x87, 0x01, 0x0a, |
| 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, |
| 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, |
| 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, |
| 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, |
| 0x61, 0x73, 0x65, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x26, |
| 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, |
| 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, |
| 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa3, 0x01, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, |
| 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, |
| 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, |
| 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x6e, 0x61, |
| 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, |
| 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, |
| 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xa6, 0x01, 0x0a, |
| 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, |
| 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, |
| 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x74, 0x65, |
| 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, |
| 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, |
| 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65, 0x73, |
| 0x74, 0x43, 0x61, 0x73, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, |
| 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, |
| 0x49, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, |
| 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, |
| 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, |
| 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, |
| 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, |
| 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x54, 0x0a, 0x12, |
| 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, |
| 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, |
| 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, |
| 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, |
| 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, |
| 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, |
| 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0b, 0x65, 0x6e, 0x76, |
| 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, |
| 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, |
| 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, |
| 0x6d, 0x2f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, |
| 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x5c, 0x0a, 0x13, 0x52, 0x75, |
| 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, |
| 0x65, 0x12, 0x45, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, |
| 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, |
| 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x54, |
| 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, |
| 0xfa, 0x01, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, |
| 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, |
| 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, |
| 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, |
| 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, |
| 0x12, 0x4f, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, |
| 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, |
| 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, |
| 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x73, 0x18, |
| 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, |
| 0x65, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x22, 0x64, 0x0a, 0x19, |
| 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, |
| 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x07, 0x72, 0x65, 0x73, |
| 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, |
| 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, |
| 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, |
| 0x74, 0x73, 0x22, 0x5d, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, |
| 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, |
| 0x40, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, |
| 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, |
| 0x54, 0x65, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, |
| 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, |
| 0x44, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, |
| 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, |
| 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x08, 0x74, 0x65, 0x73, |
| 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, |
| 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, |
| 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, |
| 0x73, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, |
| 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x16, 0x49, |
| 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, |
| 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, |
| 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x67, 0x63, |
| 0x73, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, |
| 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, |
| 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x0a, 0x17, 0x49, 0x6d, |
| 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, |
| 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, |
| 0x20, 0x03, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, |
| 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, |
| 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x05, 0x6e, |
| 0x61, 0x6d, 0x65, 0x73, 0x22, 0x5f, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, |
| 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, |
| 0x44, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, |
| 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, |
| 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, |
| 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x0d, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, |
| 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x44, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, |
| 0x63, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, |
| 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, |
| 0x61, 0x73, 0x65, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x2a, 0x0a, |
| 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, |
| 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc0, 0x02, 0x0a, 0x16, 0x45, 0x78, |
| 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, |
| 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, |
| 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, |
| 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, |
| 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73, |
| 0x55, 0x72, 0x69, 0x12, 0x61, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x6f, 0x72, 0x6d, |
| 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, |
| 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, |
| 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, |
| 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, |
| 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, |
| 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x3d, |
| 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1b, 0x0a, 0x17, |
| 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, |
| 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4c, 0x4f, |
| 0x42, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x02, 0x42, 0x0d, 0x0a, |
| 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0x0a, 0x17, |
| 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, |
| 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73, 0x55, |
| 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x0d, |
| 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x19, 0x0a, |
| 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, |
| 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xba, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, |
| 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, |
| 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, |
| 0x28, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, |
| 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, |
| 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, |
| 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, |
| 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, |
| 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, |
| 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa0, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, |
| 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, |
| 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, |
| 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, |
| 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, |
| 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, |
| 0x0f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, |
| 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, |
| 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, |
| 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x60, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, |
| 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x64, 0x69, 0x61, 0x6c, |
| 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, |
| 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, |
| 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0x41, 0x0a, 0x0a, 0x54, 0x65, |
| 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x45, 0x53, 0x54, |
| 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, |
| 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x53, 0x53, 0x45, 0x44, 0x10, |
| 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, 0x99, 0x15, |
| 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x0d, |
| 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x33, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, |
| 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, |
| 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, |
| 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, |
| 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, |
| 0x12, 0x36, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, |
| 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, |
| 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, |
| 0x74, 0x12, 0xc2, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, |
| 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, |
| 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, |
| 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x56, |
| 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x42, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, |
| 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, |
| 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, |
| 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x62, |
| 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x06, |
| 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb0, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x54, 0x65, |
| 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, |
| 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, |
| 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, |
| 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, |
| 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x33, 0x2f, |
| 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, |
| 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, |
| 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, |
| 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xcd, 0x01, 0x0a, 0x0e, 0x43, 0x72, |
| 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x34, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, |
| 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x72, 0x65, |
| 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, |
| 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, |
| 0x93, 0x02, 0x43, 0x22, 0x36, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, |
| 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, |
| 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x09, 0x74, 0x65, 0x73, |
| 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, |
| 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x12, 0xdc, 0x01, 0x0a, 0x0e, 0x55, 0x70, |
| 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x34, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, |
| 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x64, |
| 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, |
| 0x76, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x22, 0x6b, 0x82, 0xd3, 0xe4, |
| 0x93, 0x02, 0x4d, 0x32, 0x40, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, |
| 0x61, 0x73, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, |
| 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, |
| 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, |
| 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, |
| 0xda, 0x41, 0x15, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2c, 0x75, 0x70, 0x64, |
| 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xd3, 0x01, 0x0a, 0x0b, 0x52, 0x75, 0x6e, |
| 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, |
| 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, |
| 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, |
| 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93, |
| 0x02, 0x3f, 0x22, 0x3a, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, |
| 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, |
| 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x3a, 0x01, |
| 0x2a, 0xca, 0x41, 0x2a, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, |
| 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, |
| 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf1, |
| 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, |
| 0x61, 0x73, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, |
| 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, |
| 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, |
| 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x82, |
| 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x22, 0x3f, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, |
| 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, |
| 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, |
| 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x62, 0x61, |
| 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x36, 0x0a, 0x19, 0x42, 0x61, |
| 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, |
| 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, |
| 0x74, 0x61, 0x12, 0xd7, 0x01, 0x0a, 0x11, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, |
| 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, |
| 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, |
| 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, |
| 0x33, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, |
| 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, |
| 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x3d, |
| 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, |
| 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x63, 0x61, 0x6c, 0x63, 0x75, |
| 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0xe6, 0x01, 0x0a, |
| 0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, |
| 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, |
| 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, |
| 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x3d, |
| 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, |
| 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, |
| 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, |
| 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, |
| 0xca, 0x41, 0x32, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, |
| 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x49, 0x6d, |
| 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, |
| 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe6, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, |
| 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, |
| 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, |
| 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, |
| 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, |
| 0x7d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x3d, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, |
| 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, |
| 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, |
| 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, |
| 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x32, 0x0a, 0x17, 0x45, 0x78, |
| 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, |
| 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, |
| 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xdf, |
| 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, |
| 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, |
| 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, |
| 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, |
| 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, |
| 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x82, |
| 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, |
| 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, |
| 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, |
| 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, |
| 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, |
| 0x12, 0xcc, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, |
| 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, |
| 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, |
| 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, |
| 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x2e, |
| 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x4f, |
| 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, |
| 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, |
| 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, |
| 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, |
| 0x78, 0xca, 0x41, 0x19, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x59, |
| 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, |
| 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0xc1, 0x01, 0x0a, 0x21, 0x63, 0x6f, |
| 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, |
| 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x42, |
| 0x0d, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, |
| 0x5a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, |
| 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, |
| 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x3b, 0x63, |
| 0x78, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x02, 0x44, 0x46, 0xaa, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, |
| 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x78, 0x2e, 0x56, 0x33, 0xea, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x44, 0x69, 0x61, 0x6c, 0x6f, |
| 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x3a, 0x3a, 0x43, 0x58, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, |
| 0x72, 0x6f, 0x74, 0x6f, 0x33, |
| } |
| |
| var ( |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescOnce sync.Once |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescData = file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDesc |
| ) |
| |
| func file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescGZIP() []byte { |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescOnce.Do(func() { |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescData) |
| }) |
| return file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDescData |
| } |
| |
| var file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes = make([]protoimpl.EnumInfo, 5) |
| var file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes = make([]protoimpl.MessageInfo, 40) |
| var file_google_cloud_dialogflow_cx_v3_test_case_proto_goTypes = []interface{}{ |
| (TestResult)(0), // 0: google.cloud.dialogflow.cx.v3.TestResult |
| (TestRunDifference_DiffType)(0), // 1: google.cloud.dialogflow.cx.v3.TestRunDifference.DiffType |
| (CalculateCoverageRequest_CoverageType)(0), // 2: google.cloud.dialogflow.cx.v3.CalculateCoverageRequest.CoverageType |
| (ListTestCasesRequest_TestCaseView)(0), // 3: google.cloud.dialogflow.cx.v3.ListTestCasesRequest.TestCaseView |
| (ExportTestCasesRequest_DataFormat)(0), // 4: google.cloud.dialogflow.cx.v3.ExportTestCasesRequest.DataFormat |
| (*TestCase)(nil), // 5: google.cloud.dialogflow.cx.v3.TestCase |
| (*TestCaseResult)(nil), // 6: google.cloud.dialogflow.cx.v3.TestCaseResult |
| (*TestConfig)(nil), // 7: google.cloud.dialogflow.cx.v3.TestConfig |
| (*ConversationTurn)(nil), // 8: google.cloud.dialogflow.cx.v3.ConversationTurn |
| (*TestRunDifference)(nil), // 9: google.cloud.dialogflow.cx.v3.TestRunDifference |
| (*TransitionCoverage)(nil), // 10: google.cloud.dialogflow.cx.v3.TransitionCoverage |
| (*TransitionRouteGroupCoverage)(nil), // 11: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage |
| (*IntentCoverage)(nil), // 12: google.cloud.dialogflow.cx.v3.IntentCoverage |
| (*CalculateCoverageRequest)(nil), // 13: google.cloud.dialogflow.cx.v3.CalculateCoverageRequest |
| (*CalculateCoverageResponse)(nil), // 14: google.cloud.dialogflow.cx.v3.CalculateCoverageResponse |
| (*ListTestCasesRequest)(nil), // 15: google.cloud.dialogflow.cx.v3.ListTestCasesRequest |
| (*ListTestCasesResponse)(nil), // 16: google.cloud.dialogflow.cx.v3.ListTestCasesResponse |
| (*BatchDeleteTestCasesRequest)(nil), // 17: google.cloud.dialogflow.cx.v3.BatchDeleteTestCasesRequest |
| (*CreateTestCaseRequest)(nil), // 18: google.cloud.dialogflow.cx.v3.CreateTestCaseRequest |
| (*UpdateTestCaseRequest)(nil), // 19: google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest |
| (*GetTestCaseRequest)(nil), // 20: google.cloud.dialogflow.cx.v3.GetTestCaseRequest |
| (*RunTestCaseRequest)(nil), // 21: google.cloud.dialogflow.cx.v3.RunTestCaseRequest |
| (*RunTestCaseResponse)(nil), // 22: google.cloud.dialogflow.cx.v3.RunTestCaseResponse |
| (*RunTestCaseMetadata)(nil), // 23: google.cloud.dialogflow.cx.v3.RunTestCaseMetadata |
| (*BatchRunTestCasesRequest)(nil), // 24: google.cloud.dialogflow.cx.v3.BatchRunTestCasesRequest |
| (*BatchRunTestCasesResponse)(nil), // 25: google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse |
| (*BatchRunTestCasesMetadata)(nil), // 26: google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata |
| (*TestError)(nil), // 27: google.cloud.dialogflow.cx.v3.TestError |
| (*ImportTestCasesRequest)(nil), // 28: google.cloud.dialogflow.cx.v3.ImportTestCasesRequest |
| (*ImportTestCasesResponse)(nil), // 29: google.cloud.dialogflow.cx.v3.ImportTestCasesResponse |
| (*ImportTestCasesMetadata)(nil), // 30: google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata |
| (*TestCaseError)(nil), // 31: google.cloud.dialogflow.cx.v3.TestCaseError |
| (*ExportTestCasesRequest)(nil), // 32: google.cloud.dialogflow.cx.v3.ExportTestCasesRequest |
| (*ExportTestCasesResponse)(nil), // 33: google.cloud.dialogflow.cx.v3.ExportTestCasesResponse |
| (*ExportTestCasesMetadata)(nil), // 34: google.cloud.dialogflow.cx.v3.ExportTestCasesMetadata |
| (*ListTestCaseResultsRequest)(nil), // 35: google.cloud.dialogflow.cx.v3.ListTestCaseResultsRequest |
| (*ListTestCaseResultsResponse)(nil), // 36: google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse |
| (*GetTestCaseResultRequest)(nil), // 37: google.cloud.dialogflow.cx.v3.GetTestCaseResultRequest |
| (*ConversationTurn_UserInput)(nil), // 38: google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput |
| (*ConversationTurn_VirtualAgentOutput)(nil), // 39: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput |
| (*TransitionCoverage_TransitionNode)(nil), // 40: google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode |
| (*TransitionCoverage_Transition)(nil), // 41: google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition |
| (*TransitionRouteGroupCoverage_Coverage)(nil), // 42: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage |
| (*TransitionRouteGroupCoverage_Coverage_Transition)(nil), // 43: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.Transition |
| (*IntentCoverage_Intent)(nil), // 44: google.cloud.dialogflow.cx.v3.IntentCoverage.Intent |
| (*timestamp.Timestamp)(nil), // 45: google.protobuf.Timestamp |
| (*field_mask.FieldMask)(nil), // 46: google.protobuf.FieldMask |
| (*status.Status)(nil), // 47: google.rpc.Status |
| (*QueryInput)(nil), // 48: google.cloud.dialogflow.cx.v3.QueryInput |
| (*_struct.Struct)(nil), // 49: google.protobuf.Struct |
| (*Intent)(nil), // 50: google.cloud.dialogflow.cx.v3.Intent |
| (*Page)(nil), // 51: google.cloud.dialogflow.cx.v3.Page |
| (*ResponseMessage_Text)(nil), // 52: google.cloud.dialogflow.cx.v3.ResponseMessage.Text |
| (*Flow)(nil), // 53: google.cloud.dialogflow.cx.v3.Flow |
| (*TransitionRoute)(nil), // 54: google.cloud.dialogflow.cx.v3.TransitionRoute |
| (*EventHandler)(nil), // 55: google.cloud.dialogflow.cx.v3.EventHandler |
| (*TransitionRouteGroup)(nil), // 56: google.cloud.dialogflow.cx.v3.TransitionRouteGroup |
| (*empty.Empty)(nil), // 57: google.protobuf.Empty |
| (*longrunning.Operation)(nil), // 58: google.longrunning.Operation |
| } |
| var file_google_cloud_dialogflow_cx_v3_test_case_proto_depIdxs = []int32{ |
| 7, // 0: google.cloud.dialogflow.cx.v3.TestCase.test_config:type_name -> google.cloud.dialogflow.cx.v3.TestConfig |
| 8, // 1: google.cloud.dialogflow.cx.v3.TestCase.test_case_conversation_turns:type_name -> google.cloud.dialogflow.cx.v3.ConversationTurn |
| 45, // 2: google.cloud.dialogflow.cx.v3.TestCase.creation_time:type_name -> google.protobuf.Timestamp |
| 6, // 3: google.cloud.dialogflow.cx.v3.TestCase.last_test_result:type_name -> google.cloud.dialogflow.cx.v3.TestCaseResult |
| 8, // 4: google.cloud.dialogflow.cx.v3.TestCaseResult.conversation_turns:type_name -> google.cloud.dialogflow.cx.v3.ConversationTurn |
| 0, // 5: google.cloud.dialogflow.cx.v3.TestCaseResult.test_result:type_name -> google.cloud.dialogflow.cx.v3.TestResult |
| 45, // 6: google.cloud.dialogflow.cx.v3.TestCaseResult.test_time:type_name -> google.protobuf.Timestamp |
| 38, // 7: google.cloud.dialogflow.cx.v3.ConversationTurn.user_input:type_name -> google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput |
| 39, // 8: google.cloud.dialogflow.cx.v3.ConversationTurn.virtual_agent_output:type_name -> google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput |
| 1, // 9: google.cloud.dialogflow.cx.v3.TestRunDifference.type:type_name -> google.cloud.dialogflow.cx.v3.TestRunDifference.DiffType |
| 41, // 10: google.cloud.dialogflow.cx.v3.TransitionCoverage.transitions:type_name -> google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition |
| 42, // 11: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.coverages:type_name -> google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage |
| 44, // 12: google.cloud.dialogflow.cx.v3.IntentCoverage.intents:type_name -> google.cloud.dialogflow.cx.v3.IntentCoverage.Intent |
| 2, // 13: google.cloud.dialogflow.cx.v3.CalculateCoverageRequest.type:type_name -> google.cloud.dialogflow.cx.v3.CalculateCoverageRequest.CoverageType |
| 12, // 14: google.cloud.dialogflow.cx.v3.CalculateCoverageResponse.intent_coverage:type_name -> google.cloud.dialogflow.cx.v3.IntentCoverage |
| 10, // 15: google.cloud.dialogflow.cx.v3.CalculateCoverageResponse.transition_coverage:type_name -> google.cloud.dialogflow.cx.v3.TransitionCoverage |
| 11, // 16: google.cloud.dialogflow.cx.v3.CalculateCoverageResponse.route_group_coverage:type_name -> google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage |
| 3, // 17: google.cloud.dialogflow.cx.v3.ListTestCasesRequest.view:type_name -> google.cloud.dialogflow.cx.v3.ListTestCasesRequest.TestCaseView |
| 5, // 18: google.cloud.dialogflow.cx.v3.ListTestCasesResponse.test_cases:type_name -> google.cloud.dialogflow.cx.v3.TestCase |
| 5, // 19: google.cloud.dialogflow.cx.v3.CreateTestCaseRequest.test_case:type_name -> google.cloud.dialogflow.cx.v3.TestCase |
| 5, // 20: google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest.test_case:type_name -> google.cloud.dialogflow.cx.v3.TestCase |
| 46, // 21: google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest.update_mask:type_name -> google.protobuf.FieldMask |
| 6, // 22: google.cloud.dialogflow.cx.v3.RunTestCaseResponse.result:type_name -> google.cloud.dialogflow.cx.v3.TestCaseResult |
| 6, // 23: google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse.results:type_name -> google.cloud.dialogflow.cx.v3.TestCaseResult |
| 27, // 24: google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata.errors:type_name -> google.cloud.dialogflow.cx.v3.TestError |
| 47, // 25: google.cloud.dialogflow.cx.v3.TestError.status:type_name -> google.rpc.Status |
| 45, // 26: google.cloud.dialogflow.cx.v3.TestError.test_time:type_name -> google.protobuf.Timestamp |
| 31, // 27: google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata.errors:type_name -> google.cloud.dialogflow.cx.v3.TestCaseError |
| 5, // 28: google.cloud.dialogflow.cx.v3.TestCaseError.test_case:type_name -> google.cloud.dialogflow.cx.v3.TestCase |
| 47, // 29: google.cloud.dialogflow.cx.v3.TestCaseError.status:type_name -> google.rpc.Status |
| 4, // 30: google.cloud.dialogflow.cx.v3.ExportTestCasesRequest.data_format:type_name -> google.cloud.dialogflow.cx.v3.ExportTestCasesRequest.DataFormat |
| 6, // 31: google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse.test_case_results:type_name -> google.cloud.dialogflow.cx.v3.TestCaseResult |
| 48, // 32: google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput.input:type_name -> google.cloud.dialogflow.cx.v3.QueryInput |
| 49, // 33: google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput.injected_parameters:type_name -> google.protobuf.Struct |
| 49, // 34: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.session_parameters:type_name -> google.protobuf.Struct |
| 9, // 35: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.differences:type_name -> google.cloud.dialogflow.cx.v3.TestRunDifference |
| 49, // 36: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.diagnostic_info:type_name -> google.protobuf.Struct |
| 50, // 37: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.triggered_intent:type_name -> google.cloud.dialogflow.cx.v3.Intent |
| 51, // 38: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.current_page:type_name -> google.cloud.dialogflow.cx.v3.Page |
| 52, // 39: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.text_responses:type_name -> google.cloud.dialogflow.cx.v3.ResponseMessage.Text |
| 47, // 40: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.status:type_name -> google.rpc.Status |
| 51, // 41: google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode.page:type_name -> google.cloud.dialogflow.cx.v3.Page |
| 53, // 42: google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode.flow:type_name -> google.cloud.dialogflow.cx.v3.Flow |
| 40, // 43: google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition.source:type_name -> google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode |
| 40, // 44: google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition.target:type_name -> google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode |
| 54, // 45: google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition.transition_route:type_name -> google.cloud.dialogflow.cx.v3.TransitionRoute |
| 55, // 46: google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition.event_handler:type_name -> google.cloud.dialogflow.cx.v3.EventHandler |
| 56, // 47: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.route_group:type_name -> google.cloud.dialogflow.cx.v3.TransitionRouteGroup |
| 43, // 48: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.transitions:type_name -> google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.Transition |
| 54, // 49: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.Transition.transition_route:type_name -> google.cloud.dialogflow.cx.v3.TransitionRoute |
| 15, // 50: google.cloud.dialogflow.cx.v3.TestCases.ListTestCases:input_type -> google.cloud.dialogflow.cx.v3.ListTestCasesRequest |
| 17, // 51: google.cloud.dialogflow.cx.v3.TestCases.BatchDeleteTestCases:input_type -> google.cloud.dialogflow.cx.v3.BatchDeleteTestCasesRequest |
| 20, // 52: google.cloud.dialogflow.cx.v3.TestCases.GetTestCase:input_type -> google.cloud.dialogflow.cx.v3.GetTestCaseRequest |
| 18, // 53: google.cloud.dialogflow.cx.v3.TestCases.CreateTestCase:input_type -> google.cloud.dialogflow.cx.v3.CreateTestCaseRequest |
| 19, // 54: google.cloud.dialogflow.cx.v3.TestCases.UpdateTestCase:input_type -> google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest |
| 21, // 55: google.cloud.dialogflow.cx.v3.TestCases.RunTestCase:input_type -> google.cloud.dialogflow.cx.v3.RunTestCaseRequest |
| 24, // 56: google.cloud.dialogflow.cx.v3.TestCases.BatchRunTestCases:input_type -> google.cloud.dialogflow.cx.v3.BatchRunTestCasesRequest |
| 13, // 57: google.cloud.dialogflow.cx.v3.TestCases.CalculateCoverage:input_type -> google.cloud.dialogflow.cx.v3.CalculateCoverageRequest |
| 28, // 58: google.cloud.dialogflow.cx.v3.TestCases.ImportTestCases:input_type -> google.cloud.dialogflow.cx.v3.ImportTestCasesRequest |
| 32, // 59: google.cloud.dialogflow.cx.v3.TestCases.ExportTestCases:input_type -> google.cloud.dialogflow.cx.v3.ExportTestCasesRequest |
| 35, // 60: google.cloud.dialogflow.cx.v3.TestCases.ListTestCaseResults:input_type -> google.cloud.dialogflow.cx.v3.ListTestCaseResultsRequest |
| 37, // 61: google.cloud.dialogflow.cx.v3.TestCases.GetTestCaseResult:input_type -> google.cloud.dialogflow.cx.v3.GetTestCaseResultRequest |
| 16, // 62: google.cloud.dialogflow.cx.v3.TestCases.ListTestCases:output_type -> google.cloud.dialogflow.cx.v3.ListTestCasesResponse |
| 57, // 63: google.cloud.dialogflow.cx.v3.TestCases.BatchDeleteTestCases:output_type -> google.protobuf.Empty |
| 5, // 64: google.cloud.dialogflow.cx.v3.TestCases.GetTestCase:output_type -> google.cloud.dialogflow.cx.v3.TestCase |
| 5, // 65: google.cloud.dialogflow.cx.v3.TestCases.CreateTestCase:output_type -> google.cloud.dialogflow.cx.v3.TestCase |
| 5, // 66: google.cloud.dialogflow.cx.v3.TestCases.UpdateTestCase:output_type -> google.cloud.dialogflow.cx.v3.TestCase |
| 58, // 67: google.cloud.dialogflow.cx.v3.TestCases.RunTestCase:output_type -> google.longrunning.Operation |
| 58, // 68: google.cloud.dialogflow.cx.v3.TestCases.BatchRunTestCases:output_type -> google.longrunning.Operation |
| 14, // 69: google.cloud.dialogflow.cx.v3.TestCases.CalculateCoverage:output_type -> google.cloud.dialogflow.cx.v3.CalculateCoverageResponse |
| 58, // 70: google.cloud.dialogflow.cx.v3.TestCases.ImportTestCases:output_type -> google.longrunning.Operation |
| 58, // 71: google.cloud.dialogflow.cx.v3.TestCases.ExportTestCases:output_type -> google.longrunning.Operation |
| 36, // 72: google.cloud.dialogflow.cx.v3.TestCases.ListTestCaseResults:output_type -> google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse |
| 6, // 73: google.cloud.dialogflow.cx.v3.TestCases.GetTestCaseResult:output_type -> google.cloud.dialogflow.cx.v3.TestCaseResult |
| 62, // [62:74] is the sub-list for method output_type |
| 50, // [50:62] is the sub-list for method input_type |
| 50, // [50:50] is the sub-list for extension type_name |
| 50, // [50:50] is the sub-list for extension extendee |
| 0, // [0:50] is the sub-list for field type_name |
| } |
| |
| func init() { file_google_cloud_dialogflow_cx_v3_test_case_proto_init() } |
| func file_google_cloud_dialogflow_cx_v3_test_case_proto_init() { |
| if File_google_cloud_dialogflow_cx_v3_test_case_proto != nil { |
| return |
| } |
| file_google_cloud_dialogflow_cx_v3_flow_proto_init() |
| file_google_cloud_dialogflow_cx_v3_intent_proto_init() |
| file_google_cloud_dialogflow_cx_v3_page_proto_init() |
| file_google_cloud_dialogflow_cx_v3_response_message_proto_init() |
| file_google_cloud_dialogflow_cx_v3_session_proto_init() |
| file_google_cloud_dialogflow_cx_v3_transition_route_group_proto_init() |
| if !protoimpl.UnsafeEnabled { |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TestCase); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TestCaseResult); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TestConfig); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ConversationTurn); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TestRunDifference); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TransitionCoverage); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TransitionRouteGroupCoverage); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*IntentCoverage); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CalculateCoverageRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CalculateCoverageResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListTestCasesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListTestCasesResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchDeleteTestCasesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CreateTestCaseRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UpdateTestCaseRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetTestCaseRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RunTestCaseRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RunTestCaseResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RunTestCaseMetadata); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchRunTestCasesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchRunTestCasesResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchRunTestCasesMetadata); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TestError); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ImportTestCasesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ImportTestCasesResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ImportTestCasesMetadata); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TestCaseError); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ExportTestCasesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ExportTestCasesResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ExportTestCasesMetadata); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListTestCaseResultsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListTestCaseResultsResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetTestCaseResultRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ConversationTurn_UserInput); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ConversationTurn_VirtualAgentOutput); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TransitionCoverage_TransitionNode); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TransitionCoverage_Transition); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TransitionRouteGroupCoverage_Coverage); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TransitionRouteGroupCoverage_Coverage_Transition); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*IntentCoverage_Intent); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[9].OneofWrappers = []interface{}{ |
| (*CalculateCoverageResponse_IntentCoverage)(nil), |
| (*CalculateCoverageResponse_TransitionCoverage)(nil), |
| (*CalculateCoverageResponse_RouteGroupCoverage)(nil), |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[23].OneofWrappers = []interface{}{ |
| (*ImportTestCasesRequest_GcsUri)(nil), |
| (*ImportTestCasesRequest_Content)(nil), |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[27].OneofWrappers = []interface{}{ |
| (*ExportTestCasesRequest_GcsUri)(nil), |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[28].OneofWrappers = []interface{}{ |
| (*ExportTestCasesResponse_GcsUri)(nil), |
| (*ExportTestCasesResponse_Content)(nil), |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[35].OneofWrappers = []interface{}{ |
| (*TransitionCoverage_TransitionNode_Page)(nil), |
| (*TransitionCoverage_TransitionNode_Flow)(nil), |
| } |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes[36].OneofWrappers = []interface{}{ |
| (*TransitionCoverage_Transition_TransitionRoute)(nil), |
| (*TransitionCoverage_Transition_EventHandler)(nil), |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDesc, |
| NumEnums: 5, |
| NumMessages: 40, |
| NumExtensions: 0, |
| NumServices: 1, |
| }, |
| GoTypes: file_google_cloud_dialogflow_cx_v3_test_case_proto_goTypes, |
| DependencyIndexes: file_google_cloud_dialogflow_cx_v3_test_case_proto_depIdxs, |
| EnumInfos: file_google_cloud_dialogflow_cx_v3_test_case_proto_enumTypes, |
| MessageInfos: file_google_cloud_dialogflow_cx_v3_test_case_proto_msgTypes, |
| }.Build() |
| File_google_cloud_dialogflow_cx_v3_test_case_proto = out.File |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_rawDesc = nil |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_goTypes = nil |
| file_google_cloud_dialogflow_cx_v3_test_case_proto_depIdxs = nil |
| } |
| |
| // Reference imports to suppress errors if they are not otherwise used. |
| var _ context.Context |
| var _ grpc.ClientConnInterface |
| |
| // This is a compile-time assertion to ensure that this generated file |
| // is compatible with the grpc package it is being compiled against. |
| const _ = grpc.SupportPackageIsVersion6 |
| |
| // TestCasesClient is the client API for TestCases service. |
| // |
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. |
| type TestCasesClient interface { |
| // Fetches a list of test cases for a given agent. |
| ListTestCases(ctx context.Context, in *ListTestCasesRequest, opts ...grpc.CallOption) (*ListTestCasesResponse, error) |
| // Batch deletes test cases. |
| BatchDeleteTestCases(ctx context.Context, in *BatchDeleteTestCasesRequest, opts ...grpc.CallOption) (*empty.Empty, error) |
| // Gets a test case. |
| GetTestCase(ctx context.Context, in *GetTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) |
| // Creates a test case for the given agent. |
| CreateTestCase(ctx context.Context, in *CreateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) |
| // Updates the specified test case. |
| UpdateTestCase(ctx context.Context, in *UpdateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) |
| // Kicks off a test case run. |
| // |
| // This method is a [long-running |
| // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). |
| // The returned `Operation` type has the following method-specific fields: |
| // |
| // - `metadata`: [RunTestCaseMetadata][google.cloud.dialogflow.cx.v3.RunTestCaseMetadata] |
| // - `response`: [RunTestCaseResponse][google.cloud.dialogflow.cx.v3.RunTestCaseResponse] |
| RunTestCase(ctx context.Context, in *RunTestCaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Kicks off a batch run of test cases. |
| // |
| // This method is a [long-running |
| // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). |
| // The returned `Operation` type has the following method-specific fields: |
| // |
| // - `metadata`: [BatchRunTestCasesMetadata][google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata] |
| // - `response`: [BatchRunTestCasesResponse][google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse] |
| BatchRunTestCases(ctx context.Context, in *BatchRunTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Calculates the test coverage for an agent. |
| CalculateCoverage(ctx context.Context, in *CalculateCoverageRequest, opts ...grpc.CallOption) (*CalculateCoverageResponse, error) |
| // Imports the test cases from a Cloud Storage bucket or a local file. It |
| // always creates new test cases and won't overwrite any existing ones. The |
| // provided ID in the imported test case is neglected. |
| // |
| // This method is a [long-running |
| // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). |
| // The returned `Operation` type has the following method-specific fields: |
| // |
| // - `metadata`: [ImportTestCasesMetadata][google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata] |
| // - `response`: [ImportTestCasesResponse][google.cloud.dialogflow.cx.v3.ImportTestCasesResponse] |
| ImportTestCases(ctx context.Context, in *ImportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Exports the test cases under the agent to a Cloud Storage bucket or a local |
| // file. Filter can be applied to export a subset of test cases. |
| // |
| // This method is a [long-running |
| // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). |
| // The returned `Operation` type has the following method-specific fields: |
| // |
| // - `metadata`: [ExportTestCasesMetadata][google.cloud.dialogflow.cx.v3.ExportTestCasesMetadata] |
| // - `response`: [ExportTestCasesResponse][google.cloud.dialogflow.cx.v3.ExportTestCasesResponse] |
| ExportTestCases(ctx context.Context, in *ExportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Fetches a list of results for a given test case. |
| ListTestCaseResults(ctx context.Context, in *ListTestCaseResultsRequest, opts ...grpc.CallOption) (*ListTestCaseResultsResponse, error) |
| // Gets a test case result. |
| GetTestCaseResult(ctx context.Context, in *GetTestCaseResultRequest, opts ...grpc.CallOption) (*TestCaseResult, error) |
| } |
| |
| type testCasesClient struct { |
| cc grpc.ClientConnInterface |
| } |
| |
| func NewTestCasesClient(cc grpc.ClientConnInterface) TestCasesClient { |
| return &testCasesClient{cc} |
| } |
| |
| func (c *testCasesClient) ListTestCases(ctx context.Context, in *ListTestCasesRequest, opts ...grpc.CallOption) (*ListTestCasesResponse, error) { |
| out := new(ListTestCasesResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/ListTestCases", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *testCasesClient) BatchDeleteTestCases(ctx context.Context, in *BatchDeleteTestCasesRequest, opts ...grpc.CallOption) (*empty.Empty, error) { |
| out := new(empty.Empty) |
| err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/BatchDeleteTestCases", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *testCasesClient) GetTestCase(ctx context.Context, in *GetTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) { |
| out := new(TestCase) |
| err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/GetTestCase", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *testCasesClient) CreateTestCase(ctx context.Context, in *CreateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) { |
| out := new(TestCase) |
| err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/CreateTestCase", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *testCasesClient) UpdateTestCase(ctx context.Context, in *UpdateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) { |
| out := new(TestCase) |
| err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/UpdateTestCase", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *testCasesClient) RunTestCase(ctx context.Context, in *RunTestCaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/RunTestCase", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *testCasesClient) BatchRunTestCases(ctx context.Context, in *BatchRunTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/BatchRunTestCases", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *testCasesClient) CalculateCoverage(ctx context.Context, in *CalculateCoverageRequest, opts ...grpc.CallOption) (*CalculateCoverageResponse, error) { |
| out := new(CalculateCoverageResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/CalculateCoverage", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *testCasesClient) ImportTestCases(ctx context.Context, in *ImportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/ImportTestCases", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *testCasesClient) ExportTestCases(ctx context.Context, in *ExportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/ExportTestCases", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *testCasesClient) ListTestCaseResults(ctx context.Context, in *ListTestCaseResultsRequest, opts ...grpc.CallOption) (*ListTestCaseResultsResponse, error) { |
| out := new(ListTestCaseResultsResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/ListTestCaseResults", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *testCasesClient) GetTestCaseResult(ctx context.Context, in *GetTestCaseResultRequest, opts ...grpc.CallOption) (*TestCaseResult, error) { |
| out := new(TestCaseResult) |
| err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3.TestCases/GetTestCaseResult", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| // TestCasesServer is the server API for TestCases service. |
| type TestCasesServer interface { |
| // Fetches a list of test cases for a given agent. |
| ListTestCases(context.Context, *ListTestCasesRequest) (*ListTestCasesResponse, error) |
| // Batch deletes test cases. |
| BatchDeleteTestCases(context.Context, *BatchDeleteTestCasesRequest) (*empty.Empty, error) |
| // Gets a test case. |
| GetTestCase(context.Context, *GetTestCaseRequest) (*TestCase, error) |
| // Creates a test case for the given agent. |
| CreateTestCase(context.Context, *CreateTestCaseRequest) (*TestCase, error) |
| // Updates the specified test case. |
| UpdateTestCase(context.Context, *UpdateTestCaseRequest) (*TestCase, error) |
| // Kicks off a test case run. |
| // |
| // This method is a [long-running |
| // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). |
| // The returned `Operation` type has the following method-specific fields: |
| // |
| // - `metadata`: [RunTestCaseMetadata][google.cloud.dialogflow.cx.v3.RunTestCaseMetadata] |
| // - `response`: [RunTestCaseResponse][google.cloud.dialogflow.cx.v3.RunTestCaseResponse] |
| RunTestCase(context.Context, *RunTestCaseRequest) (*longrunning.Operation, error) |
| // Kicks off a batch run of test cases. |
| // |
| // This method is a [long-running |
| // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). |
| // The returned `Operation` type has the following method-specific fields: |
| // |
| // - `metadata`: [BatchRunTestCasesMetadata][google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata] |
| // - `response`: [BatchRunTestCasesResponse][google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse] |
| BatchRunTestCases(context.Context, *BatchRunTestCasesRequest) (*longrunning.Operation, error) |
| // Calculates the test coverage for an agent. |
| CalculateCoverage(context.Context, *CalculateCoverageRequest) (*CalculateCoverageResponse, error) |
| // Imports the test cases from a Cloud Storage bucket or a local file. It |
| // always creates new test cases and won't overwrite any existing ones. The |
| // provided ID in the imported test case is neglected. |
| // |
| // This method is a [long-running |
| // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). |
| // The returned `Operation` type has the following method-specific fields: |
| // |
| // - `metadata`: [ImportTestCasesMetadata][google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata] |
| // - `response`: [ImportTestCasesResponse][google.cloud.dialogflow.cx.v3.ImportTestCasesResponse] |
| ImportTestCases(context.Context, *ImportTestCasesRequest) (*longrunning.Operation, error) |
| // Exports the test cases under the agent to a Cloud Storage bucket or a local |
| // file. Filter can be applied to export a subset of test cases. |
| // |
| // This method is a [long-running |
| // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). |
| // The returned `Operation` type has the following method-specific fields: |
| // |
| // - `metadata`: [ExportTestCasesMetadata][google.cloud.dialogflow.cx.v3.ExportTestCasesMetadata] |
| // - `response`: [ExportTestCasesResponse][google.cloud.dialogflow.cx.v3.ExportTestCasesResponse] |
| ExportTestCases(context.Context, *ExportTestCasesRequest) (*longrunning.Operation, error) |
| // Fetches a list of results for a given test case. |
| ListTestCaseResults(context.Context, *ListTestCaseResultsRequest) (*ListTestCaseResultsResponse, error) |
| // Gets a test case result. |
| GetTestCaseResult(context.Context, *GetTestCaseResultRequest) (*TestCaseResult, error) |
| } |
| |
| // UnimplementedTestCasesServer can be embedded to have forward compatible implementations. |
| type UnimplementedTestCasesServer struct { |
| } |
| |
| func (*UnimplementedTestCasesServer) ListTestCases(context.Context, *ListTestCasesRequest) (*ListTestCasesResponse, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method ListTestCases not implemented") |
| } |
| func (*UnimplementedTestCasesServer) BatchDeleteTestCases(context.Context, *BatchDeleteTestCasesRequest) (*empty.Empty, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method BatchDeleteTestCases not implemented") |
| } |
| func (*UnimplementedTestCasesServer) GetTestCase(context.Context, *GetTestCaseRequest) (*TestCase, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method GetTestCase not implemented") |
| } |
| func (*UnimplementedTestCasesServer) CreateTestCase(context.Context, *CreateTestCaseRequest) (*TestCase, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method CreateTestCase not implemented") |
| } |
| func (*UnimplementedTestCasesServer) UpdateTestCase(context.Context, *UpdateTestCaseRequest) (*TestCase, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method UpdateTestCase not implemented") |
| } |
| func (*UnimplementedTestCasesServer) RunTestCase(context.Context, *RunTestCaseRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method RunTestCase not implemented") |
| } |
| func (*UnimplementedTestCasesServer) BatchRunTestCases(context.Context, *BatchRunTestCasesRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method BatchRunTestCases not implemented") |
| } |
| func (*UnimplementedTestCasesServer) CalculateCoverage(context.Context, *CalculateCoverageRequest) (*CalculateCoverageResponse, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method CalculateCoverage not implemented") |
| } |
| func (*UnimplementedTestCasesServer) ImportTestCases(context.Context, *ImportTestCasesRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method ImportTestCases not implemented") |
| } |
| func (*UnimplementedTestCasesServer) ExportTestCases(context.Context, *ExportTestCasesRequest) (*longrunning.Operation, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method ExportTestCases not implemented") |
| } |
| func (*UnimplementedTestCasesServer) ListTestCaseResults(context.Context, *ListTestCaseResultsRequest) (*ListTestCaseResultsResponse, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method ListTestCaseResults not implemented") |
| } |
| func (*UnimplementedTestCasesServer) GetTestCaseResult(context.Context, *GetTestCaseResultRequest) (*TestCaseResult, error) { |
| return nil, status1.Errorf(codes.Unimplemented, "method GetTestCaseResult not implemented") |
| } |
| |
| func RegisterTestCasesServer(s *grpc.Server, srv TestCasesServer) { |
| s.RegisterService(&_TestCases_serviceDesc, srv) |
| } |
| |
| func _TestCases_ListTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ListTestCasesRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(TestCasesServer).ListTestCases(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/ListTestCases", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(TestCasesServer).ListTestCases(ctx, req.(*ListTestCasesRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _TestCases_BatchDeleteTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(BatchDeleteTestCasesRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(TestCasesServer).BatchDeleteTestCases(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/BatchDeleteTestCases", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(TestCasesServer).BatchDeleteTestCases(ctx, req.(*BatchDeleteTestCasesRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _TestCases_GetTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GetTestCaseRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(TestCasesServer).GetTestCase(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/GetTestCase", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(TestCasesServer).GetTestCase(ctx, req.(*GetTestCaseRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _TestCases_CreateTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(CreateTestCaseRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(TestCasesServer).CreateTestCase(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/CreateTestCase", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(TestCasesServer).CreateTestCase(ctx, req.(*CreateTestCaseRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _TestCases_UpdateTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UpdateTestCaseRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(TestCasesServer).UpdateTestCase(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/UpdateTestCase", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(TestCasesServer).UpdateTestCase(ctx, req.(*UpdateTestCaseRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _TestCases_RunTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(RunTestCaseRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(TestCasesServer).RunTestCase(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/RunTestCase", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(TestCasesServer).RunTestCase(ctx, req.(*RunTestCaseRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _TestCases_BatchRunTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(BatchRunTestCasesRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(TestCasesServer).BatchRunTestCases(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/BatchRunTestCases", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(TestCasesServer).BatchRunTestCases(ctx, req.(*BatchRunTestCasesRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _TestCases_CalculateCoverage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(CalculateCoverageRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(TestCasesServer).CalculateCoverage(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/CalculateCoverage", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(TestCasesServer).CalculateCoverage(ctx, req.(*CalculateCoverageRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _TestCases_ImportTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ImportTestCasesRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(TestCasesServer).ImportTestCases(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/ImportTestCases", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(TestCasesServer).ImportTestCases(ctx, req.(*ImportTestCasesRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _TestCases_ExportTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ExportTestCasesRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(TestCasesServer).ExportTestCases(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/ExportTestCases", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(TestCasesServer).ExportTestCases(ctx, req.(*ExportTestCasesRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _TestCases_ListTestCaseResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ListTestCaseResultsRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(TestCasesServer).ListTestCaseResults(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/ListTestCaseResults", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(TestCasesServer).ListTestCaseResults(ctx, req.(*ListTestCaseResultsRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _TestCases_GetTestCaseResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GetTestCaseResultRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(TestCasesServer).GetTestCaseResult(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dialogflow.cx.v3.TestCases/GetTestCaseResult", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(TestCasesServer).GetTestCaseResult(ctx, req.(*GetTestCaseResultRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| var _TestCases_serviceDesc = grpc.ServiceDesc{ |
| ServiceName: "google.cloud.dialogflow.cx.v3.TestCases", |
| HandlerType: (*TestCasesServer)(nil), |
| Methods: []grpc.MethodDesc{ |
| { |
| MethodName: "ListTestCases", |
| Handler: _TestCases_ListTestCases_Handler, |
| }, |
| { |
| MethodName: "BatchDeleteTestCases", |
| Handler: _TestCases_BatchDeleteTestCases_Handler, |
| }, |
| { |
| MethodName: "GetTestCase", |
| Handler: _TestCases_GetTestCase_Handler, |
| }, |
| { |
| MethodName: "CreateTestCase", |
| Handler: _TestCases_CreateTestCase_Handler, |
| }, |
| { |
| MethodName: "UpdateTestCase", |
| Handler: _TestCases_UpdateTestCase_Handler, |
| }, |
| { |
| MethodName: "RunTestCase", |
| Handler: _TestCases_RunTestCase_Handler, |
| }, |
| { |
| MethodName: "BatchRunTestCases", |
| Handler: _TestCases_BatchRunTestCases_Handler, |
| }, |
| { |
| MethodName: "CalculateCoverage", |
| Handler: _TestCases_CalculateCoverage_Handler, |
| }, |
| { |
| MethodName: "ImportTestCases", |
| Handler: _TestCases_ImportTestCases_Handler, |
| }, |
| { |
| MethodName: "ExportTestCases", |
| Handler: _TestCases_ExportTestCases_Handler, |
| }, |
| { |
| MethodName: "ListTestCaseResults", |
| Handler: _TestCases_ListTestCaseResults_Handler, |
| }, |
| { |
| MethodName: "GetTestCaseResult", |
| Handler: _TestCases_GetTestCaseResult_Handler, |
| }, |
| }, |
| Streams: []grpc.StreamDesc{}, |
| Metadata: "google/cloud/dialogflow/cx/v3/test_case.proto", |
| } |