@contract-case/case-connector 0.6.5 → 0.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/README.md +6 -1
- package/dist/bin/case-connector.d.ts +3 -0
- package/dist/bin/case-connector.d.ts.map +1 -0
- package/dist/bin/case-connector.js +6 -0
- package/dist/bin/case-connector.js.map +1 -0
- package/dist/src/connectors/config.d.ts +5 -0
- package/dist/src/connectors/config.d.ts.map +1 -0
- package/dist/src/connectors/config.js +13 -0
- package/dist/src/connectors/config.js.map +1 -0
- package/dist/src/connectors/define.d.ts +30 -0
- package/dist/src/connectors/define.d.ts.map +1 -0
- package/dist/src/connectors/define.js +68 -0
- package/dist/src/connectors/define.js.map +1 -0
- package/dist/src/connectors/grpc/UnreachableError.d.ts +4 -0
- package/dist/src/connectors/grpc/UnreachableError.d.ts.map +1 -0
- package/dist/src/connectors/grpc/UnreachableError.js +10 -0
- package/dist/src/connectors/grpc/UnreachableError.js.map +1 -0
- package/dist/src/connectors/grpc/contract-case-stream-temp.d.ts +6 -0
- package/dist/src/connectors/grpc/contract-case-stream-temp.d.ts.map +1 -0
- package/dist/src/connectors/grpc/contract-case-stream-temp.js +178 -0
- package/dist/src/connectors/grpc/contract-case-stream-temp.js.map +1 -0
- package/dist/src/connectors/grpc/executeCall.d.ts +5 -0
- package/dist/src/connectors/grpc/executeCall.d.ts.map +1 -0
- package/dist/src/connectors/grpc/executeCall.js +14 -0
- package/dist/src/connectors/grpc/executeCall.js.map +1 -0
- package/dist/src/connectors/grpc/promiseHandler/promiseHandler.d.ts +25 -0
- package/dist/src/connectors/grpc/promiseHandler/promiseHandler.d.ts.map +1 -0
- package/dist/src/connectors/grpc/promiseHandler/promiseHandler.js +60 -0
- package/dist/src/connectors/grpc/promiseHandler/promiseHandler.js.map +1 -0
- package/dist/src/connectors/grpc/proto/contract_case_stream_grpc_pb.d.ts +22 -0
- package/dist/src/connectors/grpc/proto/contract_case_stream_grpc_pb.d.ts.map +1 -0
- package/dist/src/connectors/grpc/proto/contract_case_stream_grpc_pb.js +39 -0
- package/dist/src/connectors/grpc/proto/contract_case_stream_grpc_pb.js.map +1 -0
- package/dist/src/connectors/grpc/proto/contract_case_stream_pb.d.ts +2 -0
- package/dist/src/connectors/grpc/proto/contract_case_stream_pb.d.ts.map +1 -0
- package/dist/src/connectors/grpc/proto/contract_case_stream_pb.js +6979 -0
- package/dist/src/connectors/grpc/proto/contract_case_stream_pb.js.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/config/config.d.ts +5 -0
- package/dist/src/connectors/grpc/requestMappers/config/config.d.ts.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/config/config.js +66 -0
- package/dist/src/connectors/grpc/requestMappers/config/config.js.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/config/index.d.ts +2 -0
- package/dist/src/connectors/grpc/requestMappers/config/index.d.ts.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/config/index.js +18 -0
- package/dist/src/connectors/grpc/requestMappers/config/index.js.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/config/stateHandlers.d.ts +5 -0
- package/dist/src/connectors/grpc/requestMappers/config/stateHandlers.d.ts.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/config/stateHandlers.js +24 -0
- package/dist/src/connectors/grpc/requestMappers/config/stateHandlers.js.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/index.d.ts +4 -0
- package/dist/src/connectors/grpc/requestMappers/index.d.ts.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/index.js +20 -0
- package/dist/src/connectors/grpc/requestMappers/index.js.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/json.d.ts +4 -0
- package/dist/src/connectors/grpc/requestMappers/json.d.ts.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/json.js +20 -0
- package/dist/src/connectors/grpc/requestMappers/json.js.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/result.d.ts +4 -0
- package/dist/src/connectors/grpc/requestMappers/result.d.ts.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/result.js +46 -0
- package/dist/src/connectors/grpc/requestMappers/result.js.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/values.d.ts +5 -0
- package/dist/src/connectors/grpc/requestMappers/values.d.ts.map +1 -0
- package/dist/src/connectors/grpc/requestMappers/values.js +26 -0
- package/dist/src/connectors/grpc/requestMappers/values.js.map +1 -0
- package/dist/src/connectors/grpc/responseMappers/index.d.ts +4 -0
- package/dist/src/connectors/grpc/responseMappers/index.d.ts.map +1 -0
- package/dist/src/connectors/grpc/responseMappers/index.js +20 -0
- package/dist/src/connectors/grpc/responseMappers/index.js.map +1 -0
- package/dist/src/connectors/grpc/responseMappers/json.d.ts +4 -0
- package/dist/src/connectors/grpc/responseMappers/json.d.ts.map +1 -0
- package/dist/src/connectors/grpc/responseMappers/json.js +18 -0
- package/dist/src/connectors/grpc/responseMappers/json.js.map +1 -0
- package/dist/src/connectors/grpc/responseMappers/logMessages.d.ts +15 -0
- package/dist/src/connectors/grpc/responseMappers/logMessages.d.ts.map +1 -0
- package/dist/src/connectors/grpc/responseMappers/logMessages.js +37 -0
- package/dist/src/connectors/grpc/responseMappers/logMessages.js.map +1 -0
- package/dist/src/connectors/grpc/responseMappers/result.d.ts +4 -0
- package/dist/src/connectors/grpc/responseMappers/result.d.ts.map +1 -0
- package/dist/src/connectors/grpc/responseMappers/result.js +32 -0
- package/dist/src/connectors/grpc/responseMappers/result.js.map +1 -0
- package/dist/src/connectors/storage/definer.d.ts +10 -0
- package/dist/src/connectors/storage/definer.d.ts.map +1 -0
- package/dist/src/connectors/storage/definer.js +37 -0
- package/dist/src/connectors/storage/definer.js.map +1 -0
- package/dist/src/connectors/storage/verifier.d.ts +11 -0
- package/dist/src/connectors/storage/verifier.d.ts.map +1 -0
- package/dist/src/connectors/storage/verifier.js +35 -0
- package/dist/src/connectors/storage/verifier.js.map +1 -0
- package/dist/src/connectors/verify.d.ts +26 -0
- package/dist/src/connectors/verify.d.ts.map +1 -0
- package/dist/src/connectors/verify.js +46 -0
- package/dist/src/connectors/verify.js.map +1 -0
- package/dist/src/domain/errors/ConnectorError.d.ts +4 -0
- package/dist/src/domain/errors/ConnectorError.d.ts.map +1 -0
- package/dist/src/domain/errors/ConnectorError.js +10 -0
- package/dist/src/domain/errors/ConnectorError.js.map +1 -0
- package/dist/src/domain/errors/errors.d.ts +4 -0
- package/dist/src/domain/errors/errors.d.ts.map +1 -0
- package/dist/src/domain/errors/errors.js +9 -0
- package/dist/src/domain/errors/errors.js.map +1 -0
- package/dist/src/domain/errors/index.d.ts +3 -0
- package/dist/src/domain/errors/index.d.ts.map +1 -0
- package/dist/src/domain/errors/index.js +19 -0
- package/dist/src/domain/errors/index.js.map +1 -0
- package/dist/src/domain/maintainerLog.d.ts +2 -0
- package/dist/src/domain/maintainerLog.d.ts.map +1 -0
- package/dist/src/domain/maintainerLog.js +9 -0
- package/dist/src/domain/maintainerLog.js.map +1 -0
- package/dist/src/domain/types.d.ts +27 -0
- package/dist/src/domain/types.d.ts.map +1 -0
- package/dist/src/domain/types.js +3 -0
- package/dist/src/domain/types.js.map +1 -0
- package/dist/src/index.d.ts +43 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +44 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/versionString.d.ts +2 -0
- package/dist/src/versionString.d.ts.map +1 -0
- package/dist/src/versionString.js +35 -0
- package/dist/src/versionString.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +18 -6
- package/proto/contract_case_pure_rpc.proto +106 -0
- package/proto/contract_case_stream.proto +303 -0
- package/src/connectors/grpc/proto/contract_case_stream_grpc_pb.d.ts +82 -0
- package/src/connectors/grpc/proto/contract_case_stream_grpc_pb.js +46 -0
- package/src/connectors/grpc/proto/contract_case_stream_pb.d.ts +1537 -0
- package/src/connectors/grpc/proto/contract_case_stream_pb.js +8693 -0
- package/tsconfig.build.json +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contract-case/case-connector",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.7",
|
|
4
4
|
"description": "Connector to allow ContractCase to run as a server. Use only if you're creating a custom wrapper for a new language",
|
|
5
5
|
"author": "Timothy Jones <timothy.l.jones@gmail.com> (https://github.com/TimothyJones)",
|
|
6
6
|
"homepage": "https://case.contract-testing.io/docs",
|
|
@@ -13,7 +13,13 @@
|
|
|
13
13
|
"type": "git",
|
|
14
14
|
"url": "git+ssh://git@github.com/case-contract-testing/case.git"
|
|
15
15
|
},
|
|
16
|
+
"bin": {
|
|
17
|
+
"case-connector": "./dist/bin/case-connector.js"
|
|
18
|
+
},
|
|
16
19
|
"scripts": {
|
|
20
|
+
"build:proto": "npm run build:proto:js && npm run build:proto:ts && npm run format:fix",
|
|
21
|
+
"build:proto:js": "grpc_tools_node_protoc --js_out=import_style=commonjs,binary:src/connectors/grpc --grpc_out=grpc_js:src/connectors/grpc ./proto/contract_case_stream.proto",
|
|
22
|
+
"build:proto:ts": "grpc_tools_node_protoc --js_out=import_style=commonjs,binary:src/connectors/grpc --grpc_out=grpc_js:src/connectors/grpc --plugin=protoc-gen-grpc=../../node_modules/grpc_tools_node_protoc_ts/bin/protoc-gen-ts ./proto/contract_case_stream.proto",
|
|
17
23
|
"build": "rimraf dist && tsc --project tsconfig.build.json",
|
|
18
24
|
"lint": "eslint src --ext .ts --config .eslintrc.json",
|
|
19
25
|
"lint:fix": "eslint src --fix --ext .ts --config .eslintrc.json",
|
|
@@ -27,17 +33,23 @@
|
|
|
27
33
|
"devDependencies": {
|
|
28
34
|
"@contract-case/case-maintainer-config": "0.0.3",
|
|
29
35
|
"@contract-case/eslint-config-case-maintainer": "0.0.3",
|
|
30
|
-
"@types/
|
|
31
|
-
"@types/
|
|
36
|
+
"@types/google-protobuf": "^3.15.12",
|
|
37
|
+
"@types/jest": "^29.5.11",
|
|
38
|
+
"@types/uuid": "^9.0.6",
|
|
39
|
+
"grpc-tools": "^1.12.4",
|
|
40
|
+
"grpc_tools_node_protoc_ts": "^5.3.3",
|
|
32
41
|
"prettier": "^3.0.3",
|
|
33
42
|
"rimraf": "^5.0.1",
|
|
34
43
|
"ts-jest": "^29.1.0",
|
|
35
44
|
"ts-node": "^10.9.1"
|
|
36
45
|
},
|
|
37
46
|
"dependencies": {
|
|
38
|
-
"@contract-case/case-boundary": "0.
|
|
47
|
+
"@contract-case/case-boundary": "0.9.2",
|
|
48
|
+
"@grpc/grpc-js": "^1.9.13",
|
|
49
|
+
"@grpc/proto-loader": "^0.7.10",
|
|
50
|
+
"google-protobuf": "^3.21.2",
|
|
39
51
|
"read-pkg-up": "^7.0.1",
|
|
40
|
-
"uuid": "^9.0.
|
|
52
|
+
"uuid": "^9.0.1"
|
|
41
53
|
},
|
|
42
54
|
"stability": "stable",
|
|
43
55
|
"types": "build/index.d.ts",
|
|
@@ -77,5 +89,5 @@
|
|
|
77
89
|
}
|
|
78
90
|
}
|
|
79
91
|
},
|
|
80
|
-
"gitHead": "
|
|
92
|
+
"gitHead": "745040a8495f2baa1612b672aa22e7244d916c69"
|
|
81
93
|
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
import "google/protobuf/struct.proto";
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
*******************************************************************************
|
|
7
|
+
*******************************************************************************
|
|
8
|
+
* WARNING: UNUSED *
|
|
9
|
+
*******************************************************************************
|
|
10
|
+
*******************************************************************************
|
|
11
|
+
*
|
|
12
|
+
* This is a (currently) unused draft, where each message is an RPC call
|
|
13
|
+
*
|
|
14
|
+
* See contract_case_stream.proto for the current actual proto definition
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
// Types
|
|
18
|
+
message ContractCaseConfig {
|
|
19
|
+
message UsernamePassword {
|
|
20
|
+
string username = 1;
|
|
21
|
+
string password = 2;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
message StateHandler {
|
|
25
|
+
// TODO
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
message TriggerFunction {
|
|
29
|
+
// TODO
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
string provider_name = 1;
|
|
33
|
+
string consumer_name = 2;
|
|
34
|
+
string log_level = 3;
|
|
35
|
+
string contract_dir = 4;
|
|
36
|
+
string contract_filename = 5;
|
|
37
|
+
string publish = 6;
|
|
38
|
+
string broker_ci_access_token = 7;
|
|
39
|
+
string broker_base_url = 8;
|
|
40
|
+
UsernamePassword broker_basic_auth = 9;
|
|
41
|
+
|
|
42
|
+
bool print_results = 10;
|
|
43
|
+
bool throw_on_fail = 11;
|
|
44
|
+
|
|
45
|
+
map<string, StateHandler> state_handlers = 12;
|
|
46
|
+
map<string, TriggerFunction> trigger_function = 13;
|
|
47
|
+
|
|
48
|
+
TriggerFunction trigger_and_test = 14;
|
|
49
|
+
|
|
50
|
+
string base_url_under_test = 15; // Long term, this will be moved
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
message ILogPrinter {
|
|
54
|
+
// TODO
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
message IResultPrinter {
|
|
58
|
+
// TODO
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Responses
|
|
62
|
+
message DefinitionHandle {
|
|
63
|
+
string definition_id = 1;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
message BoundaryResult {
|
|
67
|
+
// TODO
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Requests
|
|
71
|
+
message BeginDefinitionRequest {
|
|
72
|
+
ContractCaseConfig config = 1;
|
|
73
|
+
ILogPrinter log_printer = 2;
|
|
74
|
+
IResultPrinter result_printer = 3;
|
|
75
|
+
repeated string caller_versions = 4;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
message RunExampleRequest {
|
|
79
|
+
DefinitionHandle handle = 1;
|
|
80
|
+
google.protobuf.Struct example_definition = 2;
|
|
81
|
+
ContractCaseConfig config = 3;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
message RunRejectingExampleRequest {
|
|
85
|
+
DefinitionHandle handle = 1;
|
|
86
|
+
google.protobuf.Struct example_definition = 2;
|
|
87
|
+
ContractCaseConfig config = 3;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
message StripMatchersRequest {
|
|
91
|
+
DefinitionHandle handle = 1;
|
|
92
|
+
google.protobuf.Struct matcher_or_data = 2;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
message EndDefinitionRequest {
|
|
96
|
+
DefinitionHandle handle = 1;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
service ContractCaseDefiner {
|
|
100
|
+
rpc BeginDefinition(BeginDefinitionRequest) returns (DefinitionHandle) {}
|
|
101
|
+
rpc RunExample(RunExampleRequest) returns (BoundaryResult) {}
|
|
102
|
+
rpc RunRejectingExample(RunRejectingExampleRequest) returns (BoundaryResult) {
|
|
103
|
+
}
|
|
104
|
+
rpc StripMatchers(StripMatchersRequest) returns (BoundaryResult) {}
|
|
105
|
+
rpc EndDefinition(EndDefinitionRequest) returns (BoundaryResult) {}
|
|
106
|
+
}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package io.contract_testing.contractcase.grpc;
|
|
4
|
+
|
|
5
|
+
import "google/protobuf/struct.proto";
|
|
6
|
+
import "google/protobuf/wrappers.proto";
|
|
7
|
+
|
|
8
|
+
option java_package = "io.contract_testing.contractcase.grpc";
|
|
9
|
+
|
|
10
|
+
message ContractCaseConfig {
|
|
11
|
+
message UsernamePassword {
|
|
12
|
+
google.protobuf.StringValue username = 1;
|
|
13
|
+
google.protobuf.StringValue password = 2;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
google.protobuf.StringValue provider_name = 1;
|
|
17
|
+
google.protobuf.StringValue consumer_name = 2;
|
|
18
|
+
google.protobuf.StringValue log_level = 3;
|
|
19
|
+
google.protobuf.StringValue contract_dir = 4;
|
|
20
|
+
google.protobuf.StringValue contract_filename = 5;
|
|
21
|
+
google.protobuf.StringValue publish = 6;
|
|
22
|
+
google.protobuf.StringValue broker_ci_access_token = 7;
|
|
23
|
+
google.protobuf.StringValue broker_base_url = 8;
|
|
24
|
+
UsernamePassword broker_basic_auth = 9;
|
|
25
|
+
|
|
26
|
+
google.protobuf.BoolValue print_results = 10;
|
|
27
|
+
google.protobuf.BoolValue throw_on_fail = 11;
|
|
28
|
+
|
|
29
|
+
repeated StateHandlerHandle state_handlers = 12;
|
|
30
|
+
map<string, TriggerFunctionHandle> trigger_and_tests = 13;
|
|
31
|
+
|
|
32
|
+
TriggerFunctionHandle trigger_and_test = 14;
|
|
33
|
+
|
|
34
|
+
google.protobuf.StringValue base_url_under_test =
|
|
35
|
+
15; // Long term, this will be moved
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Indicates a successful response with no payload
|
|
39
|
+
message ResultSuccess {
|
|
40
|
+
}
|
|
41
|
+
message ResultSuccessHasMapPayload {
|
|
42
|
+
google.protobuf.Struct map = 1;
|
|
43
|
+
}
|
|
44
|
+
message ResultSuccessHasAnyPayload {
|
|
45
|
+
google.protobuf.Value payload = 1;
|
|
46
|
+
}
|
|
47
|
+
message ResultFailure {
|
|
48
|
+
google.protobuf.StringValue kind = 1;
|
|
49
|
+
google.protobuf.StringValue message = 2;
|
|
50
|
+
google.protobuf.StringValue location = 3;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
message BoundaryResult {
|
|
54
|
+
oneof value {
|
|
55
|
+
ResultSuccess success = 1;
|
|
56
|
+
ResultSuccessHasMapPayload success_has_map = 2;
|
|
57
|
+
ResultSuccessHasAnyPayload success_has_any = 3;
|
|
58
|
+
ResultFailure failure = 4;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
message StateHandlerHandle {
|
|
63
|
+
enum Stage {
|
|
64
|
+
STAGE_SETUP_UNSPECIFIED = 0;
|
|
65
|
+
STAGE_TEARDOWN = 1;
|
|
66
|
+
}
|
|
67
|
+
// The name of the state
|
|
68
|
+
google.protobuf.StringValue handle = 1;
|
|
69
|
+
// Whether this is a setup or a teardown handler
|
|
70
|
+
Stage stage = 2;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
message TriggerFunctionHandle {
|
|
74
|
+
google.protobuf.StringValue handle = 1;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Requests from client
|
|
78
|
+
message BeginDefinitionRequest {
|
|
79
|
+
ContractCaseConfig config = 1;
|
|
80
|
+
repeated google.protobuf.StringValue caller_versions = 4;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
message RunExampleRequest {
|
|
84
|
+
google.protobuf.Struct example_definition = 2;
|
|
85
|
+
ContractCaseConfig config = 3;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
message RunRejectingExampleRequest {
|
|
89
|
+
google.protobuf.Struct example_definition = 2;
|
|
90
|
+
ContractCaseConfig config = 3;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
message StripMatchersRequest {
|
|
94
|
+
google.protobuf.Struct matcher_or_data = 2;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
message EndDefinitionRequest {
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
message StateHandlerResponse {
|
|
101
|
+
StateHandlerHandle state_handler_handle = 1;
|
|
102
|
+
BoundaryResult result = 2;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
message LogPrinterResponse {
|
|
106
|
+
BoundaryResult result = 1;
|
|
107
|
+
}
|
|
108
|
+
message ResultPrinterResponse {
|
|
109
|
+
BoundaryResult result = 1;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Responses from server
|
|
113
|
+
|
|
114
|
+
message RunStateHandlerRequest {
|
|
115
|
+
StateHandlerHandle state_handler_handle = 1;
|
|
116
|
+
}
|
|
117
|
+
message TriggerFunctionRequest {
|
|
118
|
+
TriggerFunctionHandle trigger_function = 1;
|
|
119
|
+
google.protobuf.Struct config = 2;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
message LogRequest {
|
|
123
|
+
/**
|
|
124
|
+
* A `LogLevel` google.protobuf.StringValue , either `error`, `warn`,
|
|
125
|
+
* `debug`, `maintainerDebug` or `deepMaintainerDebug` Use this to
|
|
126
|
+
* programmatically decide any colour formatting.. (although `none` is a
|
|
127
|
+
* possible log level, this function will never be called with `none`).
|
|
128
|
+
*/
|
|
129
|
+
google.protobuf.StringValue level = 1;
|
|
130
|
+
/**
|
|
131
|
+
* The timestamp generated by ContractCase, ready for printing. No extra
|
|
132
|
+
* formatting is necessary
|
|
133
|
+
*/
|
|
134
|
+
google.protobuf.StringValue timestamp = 2;
|
|
135
|
+
/**
|
|
136
|
+
* The version google.protobuf.StringValue for the current ContractCase
|
|
137
|
+
* stack (at low log levels, this is just the core version)
|
|
138
|
+
*/
|
|
139
|
+
google.protobuf.StringValue version = 3;
|
|
140
|
+
/**
|
|
141
|
+
* A rendered version of the LogLevel. Do not rely on this value
|
|
142
|
+
* programmatically, use the `level` parameter instead.
|
|
143
|
+
*/
|
|
144
|
+
google.protobuf.StringValue type_string = 4;
|
|
145
|
+
/**
|
|
146
|
+
* A google.protobuf.StringValue that represents the location that this log
|
|
147
|
+
* came from
|
|
148
|
+
*/
|
|
149
|
+
google.protobuf.StringValue location = 5;
|
|
150
|
+
/**
|
|
151
|
+
* The main message of this log line
|
|
152
|
+
*/
|
|
153
|
+
google.protobuf.StringValue message = 6;
|
|
154
|
+
/**
|
|
155
|
+
* Any additional output to print on extra lines (you may want to indent this
|
|
156
|
+
* when printing)
|
|
157
|
+
*/
|
|
158
|
+
google.protobuf.StringValue additional = 7;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
message PrintMatchErrorRequest {
|
|
162
|
+
/**
|
|
163
|
+
* The red highlighted blob, eg "MATCHING ERROR" or "TRIGGER FUNCTION ERROR".
|
|
164
|
+
* Could be any google.protobuf.StringValue .
|
|
165
|
+
*/
|
|
166
|
+
google.protobuf.StringValue kind = 1;
|
|
167
|
+
/**
|
|
168
|
+
* A summary of the error. Could be any google.protobuf.StringValue .
|
|
169
|
+
*/
|
|
170
|
+
google.protobuf.StringValue message = 2;
|
|
171
|
+
/**
|
|
172
|
+
* The location the error happened, for printing at the top of the error
|
|
173
|
+
* message
|
|
174
|
+
*/
|
|
175
|
+
google.protobuf.StringValue location = 3;
|
|
176
|
+
/**
|
|
177
|
+
* The tag line for the location the error happened, for printing after the
|
|
178
|
+
* error message. This might have more information than the `location` above.
|
|
179
|
+
*/
|
|
180
|
+
google.protobuf.StringValue location_tag = 4;
|
|
181
|
+
/**
|
|
182
|
+
* The machine-readable type for the cause of this error, for printing after
|
|
183
|
+
* the error message to make it easy to search for.
|
|
184
|
+
*/
|
|
185
|
+
google.protobuf.StringValue error_type_tag = 5;
|
|
186
|
+
/**
|
|
187
|
+
* A google.protobuf.StringValue representation of the expected data (may
|
|
188
|
+
* contain newlines)
|
|
189
|
+
*/
|
|
190
|
+
google.protobuf.StringValue expected = 6;
|
|
191
|
+
/**
|
|
192
|
+
* A google.protobuf.StringValue representation of the actual data received
|
|
193
|
+
* (may contain newlines)
|
|
194
|
+
*/
|
|
195
|
+
google.protobuf.StringValue actual = 7;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
message PrintMessageErrorRequest {
|
|
199
|
+
/**
|
|
200
|
+
* The red highlighted blob, eg "MATCHING ERROR" or "TRIGGER FUNCTION ERROR".
|
|
201
|
+
* Could be any google.protobuf.StringValue .
|
|
202
|
+
*/
|
|
203
|
+
google.protobuf.StringValue kind = 1;
|
|
204
|
+
/**
|
|
205
|
+
* A summary of the error. Could be any google.protobuf.StringValue .
|
|
206
|
+
*/
|
|
207
|
+
google.protobuf.StringValue message = 2;
|
|
208
|
+
/**
|
|
209
|
+
* The location the error happened, for printing at the top of the error
|
|
210
|
+
* message
|
|
211
|
+
*/
|
|
212
|
+
google.protobuf.StringValue location = 3;
|
|
213
|
+
/**
|
|
214
|
+
* The tag line for the location the error happened, for printing after the
|
|
215
|
+
* error message. This might have more information than the `location` above.
|
|
216
|
+
*/
|
|
217
|
+
google.protobuf.StringValue location_tag = 4;
|
|
218
|
+
/**
|
|
219
|
+
* The machine-readable type for the cause of this error, for printing after
|
|
220
|
+
* the error message to make it easy to search for.
|
|
221
|
+
*/
|
|
222
|
+
google.protobuf.StringValue error_type_tag = 5;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
message PrintTestTitleRequest {
|
|
226
|
+
/**
|
|
227
|
+
* Either 'success' to indicate success, or 'failure' to indicate failure
|
|
228
|
+
*/
|
|
229
|
+
google.protobuf.StringValue kind = 1;
|
|
230
|
+
/**
|
|
231
|
+
* An icon for the start of the line (usually a single character emoji, but
|
|
232
|
+
* could be any google.protobuf.StringValue )
|
|
233
|
+
*/
|
|
234
|
+
google.protobuf.StringValue icon = 2;
|
|
235
|
+
/**
|
|
236
|
+
* The title to print (will not include newlines)
|
|
237
|
+
*/
|
|
238
|
+
google.protobuf.StringValue title = 3;
|
|
239
|
+
/**
|
|
240
|
+
* Any additional text to print after the title (may include newlines)
|
|
241
|
+
*/
|
|
242
|
+
google.protobuf.StringValue additional_text = 4;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
message BeginDefinitionResponse {
|
|
246
|
+
BoundaryResult result = 1;
|
|
247
|
+
}
|
|
248
|
+
message RunExampleResponse {
|
|
249
|
+
BoundaryResult result = 1;
|
|
250
|
+
}
|
|
251
|
+
message RunRejectingExampleResponse {
|
|
252
|
+
BoundaryResult result = 1;
|
|
253
|
+
}
|
|
254
|
+
message StripMatchersResponse {
|
|
255
|
+
BoundaryResult result = 1;
|
|
256
|
+
}
|
|
257
|
+
message EndDefinitionResponse {
|
|
258
|
+
BoundaryResult result = 1;
|
|
259
|
+
}
|
|
260
|
+
message TriggerFunctionResponse {
|
|
261
|
+
BoundaryResult result = 1;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
message DefinitionRequest {
|
|
265
|
+
google.protobuf.StringValue id = 1;
|
|
266
|
+
oneof kind {
|
|
267
|
+
// From user calls
|
|
268
|
+
BeginDefinitionRequest begin_definition = 2;
|
|
269
|
+
RunExampleRequest run_example = 3;
|
|
270
|
+
RunRejectingExampleRequest run_rejecting_example = 4;
|
|
271
|
+
StripMatchersRequest strip_matchers = 5;
|
|
272
|
+
EndDefinitionRequest end_definition = 6;
|
|
273
|
+
// Answering server questions
|
|
274
|
+
StateHandlerResponse state_handler_response = 7;
|
|
275
|
+
LogPrinterResponse log_printer_response = 8;
|
|
276
|
+
ResultPrinterResponse result_printer_response = 9;
|
|
277
|
+
TriggerFunctionResponse trigger_function_response = 10;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
message DefinitionResponse {
|
|
282
|
+
google.protobuf.StringValue id = 1;
|
|
283
|
+
oneof kind {
|
|
284
|
+
// These could come at any time
|
|
285
|
+
RunStateHandlerRequest run_state_handler = 2;
|
|
286
|
+
LogRequest log_request = 3;
|
|
287
|
+
PrintMatchErrorRequest print_match_error_request = 4;
|
|
288
|
+
PrintMessageErrorRequest print_message_error_request = 5;
|
|
289
|
+
PrintTestTitleRequest print_test_title_request = 6;
|
|
290
|
+
TriggerFunctionRequest trigger_function_request = 12;
|
|
291
|
+
// These indicate the end of an RPC call
|
|
292
|
+
BeginDefinitionResponse begin_definition_response = 7;
|
|
293
|
+
RunExampleResponse run_example_response = 8;
|
|
294
|
+
RunRejectingExampleResponse run_rejecting_example_response = 9;
|
|
295
|
+
StripMatchersResponse strip_matchers_response = 10;
|
|
296
|
+
EndDefinitionResponse end_definition_response = 11;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
service ContractCase {
|
|
301
|
+
rpc ContractDefinition(stream DefinitionRequest)
|
|
302
|
+
returns (stream DefinitionResponse) {}
|
|
303
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// package: io.contract_testing.contractcase.grpc
|
|
2
|
+
// file: proto/contract_case_stream.proto
|
|
3
|
+
|
|
4
|
+
/* tslint:disable */
|
|
5
|
+
/* eslint-disable */
|
|
6
|
+
|
|
7
|
+
import * as grpc from '@grpc/grpc-js';
|
|
8
|
+
import * as proto_contract_case_stream_pb from '../proto/contract_case_stream_pb';
|
|
9
|
+
import * as google_protobuf_struct_pb from 'google-protobuf/google/protobuf/struct_pb';
|
|
10
|
+
import * as google_protobuf_wrappers_pb from 'google-protobuf/google/protobuf/wrappers_pb';
|
|
11
|
+
|
|
12
|
+
interface IContractCaseService
|
|
13
|
+
extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
|
|
14
|
+
contractDefinition: IContractCaseService_IContractDefinition;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
interface IContractCaseService_IContractDefinition
|
|
18
|
+
extends grpc.MethodDefinition<
|
|
19
|
+
proto_contract_case_stream_pb.DefinitionRequest,
|
|
20
|
+
proto_contract_case_stream_pb.DefinitionResponse
|
|
21
|
+
> {
|
|
22
|
+
path: '/io.contract_testing.contractcase.grpc.ContractCase/ContractDefinition';
|
|
23
|
+
requestStream: true;
|
|
24
|
+
responseStream: true;
|
|
25
|
+
requestSerialize: grpc.serialize<proto_contract_case_stream_pb.DefinitionRequest>;
|
|
26
|
+
requestDeserialize: grpc.deserialize<proto_contract_case_stream_pb.DefinitionRequest>;
|
|
27
|
+
responseSerialize: grpc.serialize<proto_contract_case_stream_pb.DefinitionResponse>;
|
|
28
|
+
responseDeserialize: grpc.deserialize<proto_contract_case_stream_pb.DefinitionResponse>;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export const ContractCaseService: IContractCaseService;
|
|
32
|
+
|
|
33
|
+
export interface IContractCaseServer extends grpc.UntypedServiceImplementation {
|
|
34
|
+
contractDefinition: grpc.handleBidiStreamingCall<
|
|
35
|
+
proto_contract_case_stream_pb.DefinitionRequest,
|
|
36
|
+
proto_contract_case_stream_pb.DefinitionResponse
|
|
37
|
+
>;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface IContractCaseClient {
|
|
41
|
+
contractDefinition(): grpc.ClientDuplexStream<
|
|
42
|
+
proto_contract_case_stream_pb.DefinitionRequest,
|
|
43
|
+
proto_contract_case_stream_pb.DefinitionResponse
|
|
44
|
+
>;
|
|
45
|
+
contractDefinition(
|
|
46
|
+
options: Partial<grpc.CallOptions>,
|
|
47
|
+
): grpc.ClientDuplexStream<
|
|
48
|
+
proto_contract_case_stream_pb.DefinitionRequest,
|
|
49
|
+
proto_contract_case_stream_pb.DefinitionResponse
|
|
50
|
+
>;
|
|
51
|
+
contractDefinition(
|
|
52
|
+
metadata: grpc.Metadata,
|
|
53
|
+
options?: Partial<grpc.CallOptions>,
|
|
54
|
+
): grpc.ClientDuplexStream<
|
|
55
|
+
proto_contract_case_stream_pb.DefinitionRequest,
|
|
56
|
+
proto_contract_case_stream_pb.DefinitionResponse
|
|
57
|
+
>;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export class ContractCaseClient
|
|
61
|
+
extends grpc.Client
|
|
62
|
+
implements IContractCaseClient
|
|
63
|
+
{
|
|
64
|
+
constructor(
|
|
65
|
+
address: string,
|
|
66
|
+
credentials: grpc.ChannelCredentials,
|
|
67
|
+
options?: Partial<grpc.ClientOptions>,
|
|
68
|
+
);
|
|
69
|
+
public contractDefinition(
|
|
70
|
+
options?: Partial<grpc.CallOptions>,
|
|
71
|
+
): grpc.ClientDuplexStream<
|
|
72
|
+
proto_contract_case_stream_pb.DefinitionRequest,
|
|
73
|
+
proto_contract_case_stream_pb.DefinitionResponse
|
|
74
|
+
>;
|
|
75
|
+
public contractDefinition(
|
|
76
|
+
metadata?: grpc.Metadata,
|
|
77
|
+
options?: Partial<grpc.CallOptions>,
|
|
78
|
+
): grpc.ClientDuplexStream<
|
|
79
|
+
proto_contract_case_stream_pb.DefinitionRequest,
|
|
80
|
+
proto_contract_case_stream_pb.DefinitionResponse
|
|
81
|
+
>;
|
|
82
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// GENERATED CODE -- DO NOT EDIT!
|
|
2
|
+
|
|
3
|
+
'use strict';
|
|
4
|
+
var grpc = require('@grpc/grpc-js');
|
|
5
|
+
var proto_contract_case_stream_pb = require('../proto/contract_case_stream_pb.js');
|
|
6
|
+
var google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');
|
|
7
|
+
var google_protobuf_wrappers_pb = require('google-protobuf/google/protobuf/wrappers_pb.js');
|
|
8
|
+
|
|
9
|
+
function serialize_io_contract_testing_contractcase_grpc_DefinitionRequest(arg) {
|
|
10
|
+
if (!(arg instanceof proto_contract_case_stream_pb.DefinitionRequest)) {
|
|
11
|
+
throw new Error('Expected argument of type io.contract_testing.contractcase.grpc.DefinitionRequest');
|
|
12
|
+
}
|
|
13
|
+
return Buffer.from(arg.serializeBinary());
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function deserialize_io_contract_testing_contractcase_grpc_DefinitionRequest(buffer_arg) {
|
|
17
|
+
return proto_contract_case_stream_pb.DefinitionRequest.deserializeBinary(new Uint8Array(buffer_arg));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function serialize_io_contract_testing_contractcase_grpc_DefinitionResponse(arg) {
|
|
21
|
+
if (!(arg instanceof proto_contract_case_stream_pb.DefinitionResponse)) {
|
|
22
|
+
throw new Error('Expected argument of type io.contract_testing.contractcase.grpc.DefinitionResponse');
|
|
23
|
+
}
|
|
24
|
+
return Buffer.from(arg.serializeBinary());
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function deserialize_io_contract_testing_contractcase_grpc_DefinitionResponse(buffer_arg) {
|
|
28
|
+
return proto_contract_case_stream_pb.DefinitionResponse.deserializeBinary(new Uint8Array(buffer_arg));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
var ContractCaseService = exports.ContractCaseService = {
|
|
33
|
+
contractDefinition: {
|
|
34
|
+
path: '/io.contract_testing.contractcase.grpc.ContractCase/ContractDefinition',
|
|
35
|
+
requestStream: true,
|
|
36
|
+
responseStream: true,
|
|
37
|
+
requestType: proto_contract_case_stream_pb.DefinitionRequest,
|
|
38
|
+
responseType: proto_contract_case_stream_pb.DefinitionResponse,
|
|
39
|
+
requestSerialize: serialize_io_contract_testing_contractcase_grpc_DefinitionRequest,
|
|
40
|
+
requestDeserialize: deserialize_io_contract_testing_contractcase_grpc_DefinitionRequest,
|
|
41
|
+
responseSerialize: serialize_io_contract_testing_contractcase_grpc_DefinitionResponse,
|
|
42
|
+
responseDeserialize: deserialize_io_contract_testing_contractcase_grpc_DefinitionResponse,
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
exports.ContractCaseClient = grpc.makeGenericClientConstructor(ContractCaseService);
|