api-testing/pkg/server/server.proto

142 lines
2.7 KiB
Protocol Buffer

syntax = "proto3";
option go_package = "github.com/linuxsuren/api-testing/pkg/server";
package server;
service Runner {
rpc Run (TestTask) returns (TestResult) {}
rpc Sample(Empty) returns (HelloReply) {}
rpc GetVersion(Empty) returns (HelloReply) {}
rpc GetSuites(Empty) returns (Suites) {}
rpc CreateTestSuite(TestSuiteIdentity) returns (HelloReply) {}
rpc GetTestSuite(TestSuiteIdentity) returns (TestSuite) {}
rpc UpdateTestSuite(TestSuite) returns (HelloReply) {}
rpc DeleteTestSuite(TestSuiteIdentity) returns (HelloReply) {}
rpc ListTestCase(TestSuiteIdentity) returns (Suite) {}
rpc RunTestCase(TestCaseIdentity) returns (TestCaseResult) {}
rpc GetTestCase(TestCaseIdentity) returns (TestCase) {}
rpc CreateTestCase(TestCaseWithSuite) returns (HelloReply) {}
rpc UpdateTestCase(TestCaseWithSuite) returns (HelloReply) {}
rpc DeleteTestCase(TestCaseIdentity) returns (HelloReply) {}
rpc PopularHeaders(Empty) returns (Pairs) {}
rpc GetSuggestedAPIs(TestSuiteIdentity) returns (TestCases) {}
rpc FunctionsQuery(SimpleQuery) returns (Pairs) {}
}
message Suites {
map<string, Items> data = 1;
}
message Items {
repeated string data = 1;
}
message TestCaseIdentity {
string suite = 1;
string testcase = 2;
}
message TestSuite {
string name = 1;
string api = 2;
APISpec spec = 3;
}
message APISpec {
string kind = 1;
string url = 2;
}
message TestSuiteIdentity {
string name = 1;
string api = 2;
}
message TestTask {
string data = 1;
string kind = 2;
string caseName = 3;
string level = 4;
map<string, string> env = 5;
}
message TestResult {
string message = 1;
string error = 2;
repeated TestCaseResult testCaseResult = 3;
}
message HelloReply {
string message = 1;
string error = 2;
}
message Suite {
string name = 1;
string api = 2;
repeated TestCase items = 3;
}
message TestCaseWithSuite {
string suiteName = 1;
TestCase data = 2;
}
message TestCases {
repeated TestCase data = 1;
}
message TestCase {
string name = 1;
Request request = 2;
Response response = 3;
}
message Request {
string api = 1;
string method = 2;
repeated Pair header = 3;
repeated Pair query = 4;
repeated Pair form = 5;
string body = 6;
}
message Response {
int32 statusCode = 1;
string body = 2;
repeated Pair header = 3;
repeated Pair bodyFieldsExpect = 4;
repeated string verify = 5;
string schema = 6;
}
message TestCaseResult {
int32 statusCode = 1;
string body = 2;
repeated Pair header = 3;
string error = 4;
string id = 5;
string output = 6;
}
message Pair {
string key = 1;
string value = 2;
}
message Pairs {
repeated Pair data = 1;
}
message SimpleQuery {
string name = 1;
}
message Empty {
}