-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathservices.proto
213 lines (171 loc) · 10.3 KB
/
services.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
/*----------------------------------------------------------------
* Copyright (c) ThoughtWorks, Inc.
* Licensed under the Apache License, Version 2.0
* See LICENSE in the project root for license information.
*----------------------------------------------------------------*/
syntax = "proto3";
package gauge.messages;
option csharp_namespace = "Gauge.Messages";
option java_package = "com.thoughtworks.gauge";
option go_package = "github.com/getgauge/gauge-proto/go/gauge_messages";
import "messages.proto";
service Runner {
// ValidateStep is a RPC to validate a given step.
//
// Accepts a StepValidateRequest message and returns a StepValidateResponse message
rpc ValidateStep (StepValidateRequest) returns (StepValidateResponse);
// SuiteDataStoreInit is a RPC to initialize the suite level data store.
//
// Accepts a Empty message and returns a ExecutionStatusResponse message
rpc InitializeSuiteDataStore(SuiteDataStoreInitRequest) returns (ExecutionStatusResponse);
// ExecutionStarting is a RPC to tell runner to execute Suite level hooks.
//
// Accepts a ExecutionStartingRequest message and returns a ExecutionStatusResponse message
rpc StartExecution(ExecutionStartingRequest) returns (ExecutionStatusResponse);
// SpecDataStoreInit is a RPC to initialize the spec level data store.
//
// Accepts a Empty message and returns a ExecutionStatusResponse message
rpc InitializeSpecDataStore(SpecDataStoreInitRequest) returns (ExecutionStatusResponse);
// SpecExecutionStarting is a RPC to tell runner to execute spec level hooks.
//
// Accepts a SpecExecutionStartingRequest message and returns a ExecutionStatusResponse message
rpc StartSpecExecution(SpecExecutionStartingRequest) returns (ExecutionStatusResponse);
// ScenarioDataStoreInit is a RPC to initialize the scenario level data store.
//
// Accepts a Empty message and returns a ExecutionStatusResponse message
rpc InitializeScenarioDataStore(ScenarioDataStoreInitRequest) returns (ExecutionStatusResponse);
// ScenarioExecutionStarting is a RPC to tell runner to execute scenario level hooks.
//
// Accepts a ScenarioExecutionStartingRequest message and returns a ExecutionStatusResponse message
rpc StartScenarioExecution(ScenarioExecutionStartingRequest) returns (ExecutionStatusResponse);
// StepExecutionStarting is a RPC to tell runner to execute step level hooks.
//
// Accepts a StepExecutionStartingRequest message and returns a ExecutionStatusResponse message
rpc StartStepExecution(StepExecutionStartingRequest) returns (ExecutionStatusResponse);
// ExecuteStep is a RPC to tell runner to execute a step .
//
// Accepts a ExecuteStepRequest message and returns a ExecutionStatusResponse message
rpc ExecuteStep(ExecuteStepRequest) returns (ExecutionStatusResponse);
// StepExecutionEnding is a RPC to tell runner to execute step level hooks.
//
// Accepts a StepExecutionEndingRequest message and returns a ExecutionStatusResponse message
rpc FinishStepExecution(StepExecutionEndingRequest) returns (ExecutionStatusResponse);
// ScenarioExecutionEnding is a RPC to tell runner to execute Scenario level hooks.
//
// Accepts a ScenarioExecutionEndingRequest message and returns a ExecutionStatusResponse message
rpc FinishScenarioExecution(ScenarioExecutionEndingRequest) returns (ExecutionStatusResponse);
// SpecExecutionEnding is a RPC to tell runner to execute spec level hooks.
//
// Accepts a SpecExecutionEndingRequest message and returns a ExecutionStatusResponse message
rpc FinishSpecExecution(SpecExecutionEndingRequest) returns (ExecutionStatusResponse);
// ExecutionEnding is a RPC to tell runner to execute suite level hooks.
//
// Accepts a ExecutionEndingRequest message and returns a ExecutionStatusResponse message
rpc FinishExecution(ExecutionEndingRequest) returns (ExecutionStatusResponse);
// CacheFile is a RPC to tell runner to load/reload/unload a implementation file.
//
// Accepts a CacheFileRequest message and returns a Empty message
rpc CacheFile (CacheFileRequest) returns (Empty);
// GetStepName is a RPC to get information about the given step.
//
// Accepts a StepNameRequest message and returns a StepNameResponse message.
rpc GetStepName (StepNameRequest) returns (StepNameResponse);
// GetGlobPatterns is a RPC to get the file path pattern which needs to be cached.
//
// Accepts a Empty message and returns a ImplementationFileGlobPatternResponse message.
rpc GetGlobPatterns (Empty) returns (ImplementationFileGlobPatternResponse);
// GetStepNames is a RPC to get all the available steps from the runner.
//
// Accepts a StepNamesRequest message and returns a StepNamesResponse
rpc GetStepNames (StepNamesRequest) returns (StepNamesResponse);
// GetStepPositions is a RPC to get positions of all available steps in a given file.
//
// Accepts a StepPositionsRequest message and returns a StepPositionsResponse message
rpc GetStepPositions (StepPositionsRequest) returns (StepPositionsResponse);
// GetImplementationFiles is a RPC get all the existing implementation files.
//
// Accepts a Empty and returns a ImplementationFileListResponse message.
rpc GetImplementationFiles (Empty) returns (ImplementationFileListResponse);
// ImplementStub is a RPC to to ask runner to add a given implementation to given file.
//
// Accepts a StubImplementationCodeRequest and returns a FileDiff message.
rpc ImplementStub (StubImplementationCodeRequest) returns (FileDiff);
// Refactor is a RPC to refactor a given step in implementation file.
//
// Accepts a RefactorRequest message and returns a RefactorResponse message.
rpc Refactor (RefactorRequest) returns (RefactorResponse);
// Kill is a RPC tell plugin to stop grpc server and kill the plugin process.
//
// Accepts a KillProcessRequest message and returns a Empty message.
rpc Kill (KillProcessRequest) returns (Empty);
// NotifyConceptExecutionStarting is a RPC to tell plugins that the concept execution has started.
//
// Accepts a ConceptExecutionStartingRequest message and returns an ExecutionStatusResponse message
rpc NotifyConceptExecutionStarting(ConceptExecutionStartingRequest) returns (ExecutionStatusResponse);
// NotifyConceptExecutionEnding is a RPC to tell plugins that the concept execution has finished.
//
// Accepts a ConceptExecutionEndingRequest message and returns an ExecutionStatusResponse message
rpc NotifyConceptExecutionEnding(ConceptExecutionEndingRequest) returns (ExecutionStatusResponse);
}
// Reporter services is meant for reporting plugins, or others plugins which are interested the live events
service Reporter {
// NotifyExecutionStarting is a RPC to tell plugins that the execution has started.
//
// Accepts a ExecutionStartingRequest message and returns a Empty message
rpc NotifyExecutionStarting(ExecutionStartingRequest) returns (Empty);
// NotifySpecExecutionStarting is a RPC to tell plugins that the specification execution has started.
//
// Accepts a SpecExecutionStartingRequest message and returns a Empty message
rpc NotifySpecExecutionStarting(SpecExecutionStartingRequest) returns (Empty);
// NotifyScenarioExecutionStarting is a RPC to tell plugins that the scenario execution has started.
//
// Accepts a ScenarioExecutionStartingRequest message and returns a Empty message
rpc NotifyScenarioExecutionStarting(ScenarioExecutionStartingRequest) returns (Empty);
// NotifyConceptExecutionStarting is a RPC to tell plugins that the concept execution has started.
//
// Accepts a ConceptExecutionStartingRequest message and returns a Empty message
rpc NotifyConceptExecutionStarting(ConceptExecutionStartingRequest) returns (Empty);
// NotifyConceptExecutionEnding is a RPC to tell plugins that the concept execution has finished.
//
// Accepts a ConceptExecutionEndingRequest message and returns a Empty message
rpc NotifyConceptExecutionEnding(ConceptExecutionEndingRequest) returns (Empty);
// NotifyStepExecutionStarting is a RPC to tell plugins that the step execution has started.
//
// Accepts a StepExecutionStartingRequest message and returns a Empty message
rpc NotifyStepExecutionStarting(StepExecutionStartingRequest) returns (Empty);
// NotifyStepExecutionEnding is a RPC to tell plugins that the step execution has finished.
//
// Accepts a StepExecutionStartingRequest message and returns a Empty message
rpc NotifyStepExecutionEnding(StepExecutionEndingRequest) returns (Empty);
// NotifyScenarioExecutionEnding is a RPC to tell plugins that the scenario execution has finished.
//
// Accepts a ScenarioExecutionEndingRequest message and returns a Empty message
rpc NotifyScenarioExecutionEnding(ScenarioExecutionEndingRequest) returns (Empty);
// NotifySpecExecutionEnding is a RPC to tell plugins that the specification execution has finished.
//
// Accepts a SpecExecutionStartingRequest message and returns a Empty message
rpc NotifySpecExecutionEnding(SpecExecutionEndingRequest) returns (Empty);
// NotifyExecutionEnding is a RPC to tell plugins that the execution has finished.
//
// Accepts a ExecutionEndingRequest message and returns a Empty message
rpc NotifyExecutionEnding(ExecutionEndingRequest) returns (Empty);
// NotifySuiteResult is a RPC to tell about the end result of execution
//
// Accepts a SuiteExecutionResult message and returns a Empty message.
rpc NotifySuiteResult(SuiteExecutionResult) returns (Empty);
// Kill is a RPC tell plugin to stop grpc server and kill the plugin process.
//
// Accepts a KillProcessRequest message and returns a Empty message.
rpc Kill (KillProcessRequest) returns (Empty);
}
// Reporter services is meant for documentation plugins
service Documenter {
// GenerateDocs is a RPC tell plugin to generate docs from the spec details.
//
// Accepts a SpecDetails message and returns a Empty message.
rpc GenerateDocs (SpecDetails) returns (Empty);
// Kill is a RPC tell plugin to stop grpc server and kill the plugin process.
//
// Accepts a KillProcessRequest message and returns a Empty message.
rpc Kill(KillProcessRequest) returns (Empty);
}