@onlineapps/service-validator-core 1.0.2
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/README.md +127 -0
- package/coverage/clover.xml +468 -0
- package/coverage/coverage-final.json +8 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +146 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +210 -0
- package/coverage/lcov-report/src/index.html +116 -0
- package/coverage/lcov-report/src/index.js.html +643 -0
- package/coverage/lcov-report/src/security/certificateManager.js.html +799 -0
- package/coverage/lcov-report/src/security/index.html +131 -0
- package/coverage/lcov-report/src/security/tokenManager.js.html +622 -0
- package/coverage/lcov-report/src/validators/connectorValidator.js.html +787 -0
- package/coverage/lcov-report/src/validators/endpointValidator.js.html +577 -0
- package/coverage/lcov-report/src/validators/healthValidator.js.html +655 -0
- package/coverage/lcov-report/src/validators/index.html +161 -0
- package/coverage/lcov-report/src/validators/openApiValidator.js.html +517 -0
- package/coverage/lcov.info +982 -0
- package/jest.config.js +21 -0
- package/package.json +31 -0
- package/src/index.js +212 -0
- package/src/security/ValidationProofVerifier.js +178 -0
- package/src/security/certificateManager.js +239 -0
- package/src/security/tokenManager.js +194 -0
- package/src/validators/connectorValidator.js +235 -0
- package/src/validators/endpointValidator.js +165 -0
- package/src/validators/healthValidator.js +191 -0
- package/src/validators/openApiValidator.js +145 -0
- package/test/component/validation-flow.test.js +353 -0
- package/test/integration/real-validation.test.js +548 -0
- package/test/unit/ValidationCore.test.js +320 -0
package/README.md
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# @onlineapps/service-validator-core
|
|
2
|
+
|
|
3
|
+
Core validation logic for microservices with two-stage validation support.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @onlineapps/service-validator-core
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```javascript
|
|
14
|
+
const ValidationCore = require('@onlineapps/service-validator-core');
|
|
15
|
+
|
|
16
|
+
const validator = new ValidationCore({
|
|
17
|
+
strictMode: true,
|
|
18
|
+
requiredConnectors: [
|
|
19
|
+
'connector-logger',
|
|
20
|
+
'connector-storage',
|
|
21
|
+
'connector-registry-client',
|
|
22
|
+
'connector-mq-client',
|
|
23
|
+
'connector-cookbook'
|
|
24
|
+
]
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
// Validate service data
|
|
28
|
+
const results = await validator.validate({
|
|
29
|
+
openApiSpec: { /* OpenAPI 3.0 spec */ },
|
|
30
|
+
endpoints: [ /* endpoint definitions */ ],
|
|
31
|
+
metadata: { /* service metadata */ },
|
|
32
|
+
health: '/health'
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
// Generate pre-validation token
|
|
36
|
+
if (results.success) {
|
|
37
|
+
const token = await validator.generatePreValidationToken(results, 'my-service');
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Generate certificate (system validator only)
|
|
41
|
+
if (results.success) {
|
|
42
|
+
const certificate = await validator.generateCertificate(
|
|
43
|
+
results,
|
|
44
|
+
'my-service',
|
|
45
|
+
'1.0.0'
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Features
|
|
51
|
+
|
|
52
|
+
### Validators
|
|
53
|
+
|
|
54
|
+
#### OpenApiValidator
|
|
55
|
+
Validates OpenAPI 3.0 and Swagger 2.0 specifications:
|
|
56
|
+
- Valid OpenAPI/Swagger format
|
|
57
|
+
- All paths documented
|
|
58
|
+
- Response schemas defined
|
|
59
|
+
- Required fields present
|
|
60
|
+
|
|
61
|
+
#### EndpointValidator
|
|
62
|
+
Validates endpoint definitions:
|
|
63
|
+
- Endpoints match OpenAPI spec
|
|
64
|
+
- Handler functions exist
|
|
65
|
+
- Proper HTTP methods used
|
|
66
|
+
- Path parameters defined
|
|
67
|
+
|
|
68
|
+
#### ConnectorValidator
|
|
69
|
+
Checks required connectors:
|
|
70
|
+
- Required connectors present in package.json
|
|
71
|
+
- Correct versions installed
|
|
72
|
+
- Proper initialization in code
|
|
73
|
+
|
|
74
|
+
#### HealthValidator
|
|
75
|
+
Validates health check configuration:
|
|
76
|
+
- `/health` endpoint exists
|
|
77
|
+
- Returns proper status format
|
|
78
|
+
- Accessible without authentication
|
|
79
|
+
|
|
80
|
+
### Security
|
|
81
|
+
- **TokenManager** - Generates and verifies pre-validation tokens
|
|
82
|
+
- **CertificateManager** - Issues and verifies cryptographic certificates
|
|
83
|
+
|
|
84
|
+
## API
|
|
85
|
+
|
|
86
|
+
### ValidationCore(config)
|
|
87
|
+
|
|
88
|
+
Creates a new validation instance.
|
|
89
|
+
|
|
90
|
+
**Options:**
|
|
91
|
+
- `strictMode` (boolean) - Strict validation mode
|
|
92
|
+
- `requiredConnectors` (array) - List of required connector names
|
|
93
|
+
- `issuer` (string) - Certificate issuer name
|
|
94
|
+
|
|
95
|
+
### validate(serviceData)
|
|
96
|
+
|
|
97
|
+
Validates service configuration.
|
|
98
|
+
|
|
99
|
+
**Returns:** Validation results object with `success`, `errors`, `warnings`, and `checks`.
|
|
100
|
+
|
|
101
|
+
### generatePreValidationToken(results, serviceName)
|
|
102
|
+
|
|
103
|
+
Generates a pre-validation token for successful validation.
|
|
104
|
+
|
|
105
|
+
**Returns:** Object with `{token, secret, tokenId}` (configurable expiry via TOKEN_EXPIRY env var, single-use).
|
|
106
|
+
|
|
107
|
+
### generateCertificate(results, serviceName, version)
|
|
108
|
+
|
|
109
|
+
Generates a validation certificate.
|
|
110
|
+
|
|
111
|
+
**Returns:** Certificate object with cryptographic signature.
|
|
112
|
+
|
|
113
|
+
### verifyCertificate(certificate)
|
|
114
|
+
|
|
115
|
+
Verifies a validation certificate.
|
|
116
|
+
|
|
117
|
+
**Returns:** Boolean indicating certificate validity.
|
|
118
|
+
|
|
119
|
+
## Related Documentation
|
|
120
|
+
|
|
121
|
+
- **[⭐ Complete Two-Tier Validation System](/docs/modules/validator.md)** - Full architecture and flow
|
|
122
|
+
- [validator-client](/shared/validator/validator-client/README.md) - Local pre-validation client
|
|
123
|
+
- [api_services_validator](/api/api_services_validator/README.md) - System validator service
|
|
124
|
+
|
|
125
|
+
## License
|
|
126
|
+
|
|
127
|
+
MIT
|
|
@@ -0,0 +1,468 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<coverage generated="1758207448231" clover="3.2.0">
|
|
3
|
+
<project timestamp="1758207448232" name="All files">
|
|
4
|
+
<metrics statements="432" coveredstatements="222" conditionals="383" coveredconditionals="159" methods="52" coveredmethods="27" elements="867" coveredelements="408" complexity="0" loc="432" ncloc="432" packages="3" files="7" classes="7"/>
|
|
5
|
+
<package name="src">
|
|
6
|
+
<metrics statements="56" coveredstatements="55" conditionals="47" coveredconditionals="44" methods="7" coveredmethods="7"/>
|
|
7
|
+
<file name="index.js" path="/var/www/html/oa_drive/shared/validator-core/src/index.js">
|
|
8
|
+
<metrics statements="56" coveredstatements="55" conditionals="47" coveredconditionals="44" methods="7" coveredmethods="7"/>
|
|
9
|
+
<line num="1" count="3" type="stmt"/>
|
|
10
|
+
<line num="2" count="3" type="stmt"/>
|
|
11
|
+
<line num="3" count="3" type="stmt"/>
|
|
12
|
+
<line num="4" count="3" type="stmt"/>
|
|
13
|
+
<line num="5" count="3" type="stmt"/>
|
|
14
|
+
<line num="6" count="3" type="stmt"/>
|
|
15
|
+
<line num="10" count="42" type="stmt"/>
|
|
16
|
+
<line num="22" count="42" type="stmt"/>
|
|
17
|
+
<line num="29" count="42" type="stmt"/>
|
|
18
|
+
<line num="30" count="42" type="stmt"/>
|
|
19
|
+
<line num="39" count="16" type="stmt"/>
|
|
20
|
+
<line num="48" count="16" type="stmt"/>
|
|
21
|
+
<line num="50" count="16" type="cond" truecount="2" falsecount="0"/>
|
|
22
|
+
<line num="51" count="6" type="stmt"/>
|
|
23
|
+
<line num="52" count="5" type="stmt"/>
|
|
24
|
+
<line num="53" count="5" type="cond" truecount="2" falsecount="0"/>
|
|
25
|
+
<line num="54" count="1" type="stmt"/>
|
|
26
|
+
<line num="58" count="15" type="cond" truecount="2" falsecount="0"/>
|
|
27
|
+
<line num="59" count="4" type="stmt"/>
|
|
28
|
+
<line num="60" count="4" type="stmt"/>
|
|
29
|
+
<line num="61" count="4" type="cond" truecount="1" falsecount="1"/>
|
|
30
|
+
<line num="62" count="0" type="stmt"/>
|
|
31
|
+
<line num="66" count="15" type="cond" truecount="2" falsecount="0"/>
|
|
32
|
+
<line num="67" count="11" type="stmt"/>
|
|
33
|
+
<line num="68" count="11" type="stmt"/>
|
|
34
|
+
<line num="69" count="11" type="cond" truecount="2" falsecount="0"/>
|
|
35
|
+
<line num="70" count="8" type="stmt"/>
|
|
36
|
+
<line num="71" count="8" type="cond" truecount="2" falsecount="0"/>
|
|
37
|
+
<line num="72" count="3" type="stmt"/>
|
|
38
|
+
<line num="77" count="15" type="cond" truecount="2" falsecount="0"/>
|
|
39
|
+
<line num="78" count="5" type="stmt"/>
|
|
40
|
+
<line num="79" count="5" type="stmt"/>
|
|
41
|
+
<line num="80" count="5" type="cond" truecount="2" falsecount="0"/>
|
|
42
|
+
<line num="81" count="2" type="stmt"/>
|
|
43
|
+
<line num="85" count="15" type="stmt"/>
|
|
44
|
+
<line num="86" count="15" type="stmt"/>
|
|
45
|
+
<line num="89" count="1" type="stmt"/>
|
|
46
|
+
<line num="90" count="1" type="stmt"/>
|
|
47
|
+
<line num="93" count="16" type="stmt"/>
|
|
48
|
+
<line num="103" count="4" type="cond" truecount="2" falsecount="0"/>
|
|
49
|
+
<line num="104" count="1" type="stmt"/>
|
|
50
|
+
<line num="107" count="3" type="stmt"/>
|
|
51
|
+
<line num="120" count="5" type="stmt"/>
|
|
52
|
+
<line num="131" count="5" type="cond" truecount="2" falsecount="0"/>
|
|
53
|
+
<line num="132" count="2" type="stmt"/>
|
|
54
|
+
<line num="135" count="3" type="stmt"/>
|
|
55
|
+
<line num="150" count="2" type="stmt"/>
|
|
56
|
+
<line num="159" count="7" type="stmt"/>
|
|
57
|
+
<line num="161" count="7" type="cond" truecount="4" falsecount="0"/>
|
|
58
|
+
<line num="162" count="2" type="stmt"/>
|
|
59
|
+
<line num="165" count="5" type="stmt"/>
|
|
60
|
+
<line num="166" count="108" type="stmt"/>
|
|
61
|
+
<line num="167" count="217" type="cond" truecount="2" falsecount="0"/>
|
|
62
|
+
<line num="168" count="215" type="stmt"/>
|
|
63
|
+
<line num="183" count="5" type="stmt"/>
|
|
64
|
+
<line num="187" count="3" type="stmt"/>
|
|
65
|
+
</file>
|
|
66
|
+
</package>
|
|
67
|
+
<package name="src.security">
|
|
68
|
+
<metrics statements="108" coveredstatements="44" conditionals="69" coveredconditionals="33" methods="23" coveredmethods="9"/>
|
|
69
|
+
<file name="certificateManager.js" path="/var/www/html/oa_drive/shared/validator-core/src/security/certificateManager.js">
|
|
70
|
+
<metrics statements="58" coveredstatements="21" conditionals="32" coveredconditionals="15" methods="13" coveredmethods="5"/>
|
|
71
|
+
<line num="1" count="3" type="stmt"/>
|
|
72
|
+
<line num="5" count="42" type="cond" truecount="2" falsecount="0"/>
|
|
73
|
+
<line num="6" count="42" type="cond" truecount="2" falsecount="0"/>
|
|
74
|
+
<line num="7" count="42" type="cond" truecount="2" falsecount="0"/>
|
|
75
|
+
<line num="8" count="42" type="cond" truecount="2" falsecount="0"/>
|
|
76
|
+
<line num="16" count="42" type="stmt"/>
|
|
77
|
+
<line num="28" count="42" type="stmt"/>
|
|
78
|
+
<line num="37" count="1" type="stmt"/>
|
|
79
|
+
<line num="38" count="1" type="stmt"/>
|
|
80
|
+
<line num="39" count="1" type="stmt"/>
|
|
81
|
+
<line num="40" count="1" type="stmt"/>
|
|
82
|
+
<line num="42" count="1" type="stmt"/>
|
|
83
|
+
<line num="66" count="1" type="stmt"/>
|
|
84
|
+
<line num="68" count="1" type="stmt"/>
|
|
85
|
+
<line num="77" count="0" type="stmt"/>
|
|
86
|
+
<line num="79" count="0" type="stmt"/>
|
|
87
|
+
<line num="80" count="0" type="stmt"/>
|
|
88
|
+
<line num="81" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
89
|
+
<line num="82" count="0" type="stmt"/>
|
|
90
|
+
<line num="86" count="0" type="stmt"/>
|
|
91
|
+
<line num="87" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
92
|
+
<line num="88" count="0" type="stmt"/>
|
|
93
|
+
<line num="92" count="0" type="stmt"/>
|
|
94
|
+
<line num="93" count="0" type="stmt"/>
|
|
95
|
+
<line num="94" count="0" type="stmt"/>
|
|
96
|
+
<line num="96" count="0" type="stmt"/>
|
|
97
|
+
<line num="97" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
98
|
+
<line num="98" count="0" type="stmt"/>
|
|
99
|
+
<line num="102" count="0" type="stmt"/>
|
|
100
|
+
<line num="103" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
101
|
+
<line num="104" count="0" type="stmt"/>
|
|
102
|
+
<line num="108" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
103
|
+
<line num="109" count="0" type="stmt"/>
|
|
104
|
+
<line num="112" count="0" type="stmt"/>
|
|
105
|
+
<line num="114" count="0" type="stmt"/>
|
|
106
|
+
<line num="115" count="0" type="stmt"/>
|
|
107
|
+
<line num="125" count="1" type="stmt"/>
|
|
108
|
+
<line num="126" count="1" type="stmt"/>
|
|
109
|
+
<line num="127" count="1" type="stmt"/>
|
|
110
|
+
<line num="128" count="1" type="stmt"/>
|
|
111
|
+
<line num="138" count="0" type="stmt"/>
|
|
112
|
+
<line num="139" count="0" type="stmt"/>
|
|
113
|
+
<line num="140" count="0" type="stmt"/>
|
|
114
|
+
<line num="141" count="0" type="stmt"/>
|
|
115
|
+
<line num="150" count="1" type="stmt"/>
|
|
116
|
+
<line num="151" count="1" type="stmt"/>
|
|
117
|
+
<line num="162" count="0" type="stmt"/>
|
|
118
|
+
<line num="173" count="0" type="stmt"/>
|
|
119
|
+
<line num="181" count="0" type="stmt"/>
|
|
120
|
+
<line num="191" count="0" type="stmt"/>
|
|
121
|
+
<line num="205" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
122
|
+
<line num="206" count="0" type="stmt"/>
|
|
123
|
+
<line num="209" count="0" type="stmt"/>
|
|
124
|
+
<line num="218" count="0" type="stmt"/>
|
|
125
|
+
<line num="219" count="0" type="stmt"/>
|
|
126
|
+
<line num="220" count="0" type="stmt"/>
|
|
127
|
+
<line num="222" count="0" type="stmt"/>
|
|
128
|
+
<line num="239" count="3" type="stmt"/>
|
|
129
|
+
</file>
|
|
130
|
+
<file name="tokenManager.js" path="/var/www/html/oa_drive/shared/validator-core/src/security/tokenManager.js">
|
|
131
|
+
<metrics statements="50" coveredstatements="23" conditionals="37" coveredconditionals="18" methods="10" coveredmethods="4"/>
|
|
132
|
+
<line num="1" count="3" type="stmt"/>
|
|
133
|
+
<line num="2" count="3" type="stmt"/>
|
|
134
|
+
<line num="6" count="42" type="cond" truecount="3" falsecount="0"/>
|
|
135
|
+
<line num="7" count="42" type="cond" truecount="2" falsecount="0"/>
|
|
136
|
+
<line num="8" count="42" type="cond" truecount="2" falsecount="0"/>
|
|
137
|
+
<line num="9" count="42" type="cond" truecount="2" falsecount="0"/>
|
|
138
|
+
<line num="10" count="42" type="stmt"/>
|
|
139
|
+
<line num="18" count="42" type="stmt"/>
|
|
140
|
+
<line num="27" count="1" type="stmt"/>
|
|
141
|
+
<line num="29" count="1" type="stmt"/>
|
|
142
|
+
<line num="37" count="1" type="stmt"/>
|
|
143
|
+
<line num="42" count="1" type="stmt"/>
|
|
144
|
+
<line num="51" count="2" type="stmt"/>
|
|
145
|
+
<line num="53" count="2" type="stmt"/>
|
|
146
|
+
<line num="59" count="1" type="cond" truecount="3" falsecount="1"/>
|
|
147
|
+
<line num="60" count="0" type="stmt"/>
|
|
148
|
+
<line num="64" count="1" type="cond" truecount="1" falsecount="1"/>
|
|
149
|
+
<line num="65" count="1" type="stmt"/>
|
|
150
|
+
<line num="68" count="1" type="cond" truecount="1" falsecount="1"/>
|
|
151
|
+
<line num="69" count="0" type="stmt"/>
|
|
152
|
+
<line num="73" count="1" type="stmt"/>
|
|
153
|
+
<line num="75" count="1" type="cond" truecount="1" falsecount="1"/>
|
|
154
|
+
<line num="76" count="0" type="stmt"/>
|
|
155
|
+
<line num="77" count="1" type="cond" truecount="1" falsecount="1"/>
|
|
156
|
+
<line num="78" count="1" type="stmt"/>
|
|
157
|
+
<line num="80" count="0" type="stmt"/>
|
|
158
|
+
<line num="91" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
159
|
+
<line num="92" count="0" type="stmt"/>
|
|
160
|
+
<line num="95" count="0" type="stmt"/>
|
|
161
|
+
<line num="112" count="0" type="stmt"/>
|
|
162
|
+
<line num="114" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
163
|
+
<line num="115" count="0" type="stmt"/>
|
|
164
|
+
<line num="118" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
165
|
+
<line num="119" count="0" type="stmt"/>
|
|
166
|
+
<line num="122" count="0" type="stmt"/>
|
|
167
|
+
<line num="131" count="0" type="stmt"/>
|
|
168
|
+
<line num="132" count="0" type="stmt"/>
|
|
169
|
+
<line num="140" count="0" type="stmt"/>
|
|
170
|
+
<line num="142" count="0" type="stmt"/>
|
|
171
|
+
<line num="143" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
172
|
+
<line num="144" count="0" type="stmt"/>
|
|
173
|
+
<line num="147" count="0" type="stmt"/>
|
|
174
|
+
<line num="151" count="0" type="stmt"/>
|
|
175
|
+
<line num="161" count="0" type="stmt"/>
|
|
176
|
+
<line num="162" count="0" type="stmt"/>
|
|
177
|
+
<line num="163" count="0" type="cond" truecount="0" falsecount="3"/>
|
|
178
|
+
<line num="165" count="0" type="stmt"/>
|
|
179
|
+
<line num="175" count="0" type="stmt"/>
|
|
180
|
+
<line num="176" count="0" type="stmt"/>
|
|
181
|
+
<line num="180" count="3" type="stmt"/>
|
|
182
|
+
</file>
|
|
183
|
+
</package>
|
|
184
|
+
<package name="src.validators">
|
|
185
|
+
<metrics statements="268" coveredstatements="123" conditionals="267" coveredconditionals="82" methods="22" coveredmethods="11"/>
|
|
186
|
+
<file name="connectorValidator.js" path="/var/www/html/oa_drive/shared/validator-core/src/validators/connectorValidator.js">
|
|
187
|
+
<metrics statements="76" coveredstatements="30" conditionals="81" coveredconditionals="15" methods="8" coveredmethods="4"/>
|
|
188
|
+
<line num="3" count="42" type="cond" truecount="1" falsecount="1"/>
|
|
189
|
+
<line num="18" count="5" type="stmt"/>
|
|
190
|
+
<line num="29" count="5" type="stmt"/>
|
|
191
|
+
<line num="30" count="5" type="cond" truecount="1" falsecount="1"/>
|
|
192
|
+
<line num="33" count="5" type="stmt"/>
|
|
193
|
+
<line num="34" count="25" type="stmt"/>
|
|
194
|
+
<line num="35" count="25" type="stmt"/>
|
|
195
|
+
<line num="37" count="25" type="cond" truecount="1" falsecount="1"/>
|
|
196
|
+
<line num="38" count="25" type="stmt"/>
|
|
197
|
+
<line num="39" count="25" type="stmt"/>
|
|
198
|
+
<line num="42" count="0" type="stmt"/>
|
|
199
|
+
<line num="44" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
200
|
+
<line num="46" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
201
|
+
<line num="47" count="0" type="stmt"/>
|
|
202
|
+
<line num="50" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
203
|
+
<line num="51" count="0" type="stmt"/>
|
|
204
|
+
<line num="56" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
205
|
+
<line num="57" count="0" type="stmt"/>
|
|
206
|
+
<line num="61" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
207
|
+
<line num="62" count="0" type="stmt"/>
|
|
208
|
+
<line num="67" count="0" type="stmt"/>
|
|
209
|
+
<line num="78" count="5" type="stmt"/>
|
|
210
|
+
<line num="79" count="19" type="cond" truecount="1" falsecount="1"/>
|
|
211
|
+
<line num="80" count="19" type="stmt"/>
|
|
212
|
+
<line num="85" count="5" type="stmt"/>
|
|
213
|
+
<line num="88" count="5" type="cond" truecount="3" falsecount="1"/>
|
|
214
|
+
<line num="89" count="5" type="stmt"/>
|
|
215
|
+
<line num="93" count="5" type="cond" truecount="1" falsecount="1"/>
|
|
216
|
+
<line num="94" count="5" type="stmt"/>
|
|
217
|
+
<line num="98" count="5" type="cond" truecount="1" falsecount="1"/>
|
|
218
|
+
<line num="99" count="5" type="stmt"/>
|
|
219
|
+
<line num="103" count="5" type="cond" truecount="1" falsecount="1"/>
|
|
220
|
+
<line num="104" count="5" type="stmt"/>
|
|
221
|
+
<line num="107" count="5" type="cond" truecount="1" falsecount="1"/>
|
|
222
|
+
<line num="108" count="5" type="stmt"/>
|
|
223
|
+
<line num="112" count="0" type="stmt"/>
|
|
224
|
+
<line num="113" count="0" type="stmt"/>
|
|
225
|
+
<line num="116" count="5" type="stmt"/>
|
|
226
|
+
<line num="126" count="5" type="cond" truecount="1" falsecount="1"/>
|
|
227
|
+
<line num="127" count="0" type="stmt"/>
|
|
228
|
+
<line num="128" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
229
|
+
<line num="129" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
230
|
+
<line num="130" count="0" type="stmt"/>
|
|
231
|
+
<line num="136" count="5" type="cond" truecount="1" falsecount="1"/>
|
|
232
|
+
<line num="137" count="0" type="stmt"/>
|
|
233
|
+
<line num="138" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
234
|
+
<line num="139" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
235
|
+
<line num="140" count="0" type="stmt"/>
|
|
236
|
+
<line num="146" count="5" type="cond" truecount="1" falsecount="1"/>
|
|
237
|
+
<line num="147" count="0" type="stmt"/>
|
|
238
|
+
<line num="148" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
239
|
+
<line num="149" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
240
|
+
<line num="150" count="0" type="stmt"/>
|
|
241
|
+
<line num="156" count="5" type="cond" truecount="1" falsecount="1"/>
|
|
242
|
+
<line num="157" count="0" type="stmt"/>
|
|
243
|
+
<line num="158" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
244
|
+
<line num="159" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
245
|
+
<line num="160" count="0" type="stmt"/>
|
|
246
|
+
<line num="173" count="0" type="stmt"/>
|
|
247
|
+
<line num="174" count="0" type="stmt"/>
|
|
248
|
+
<line num="183" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
249
|
+
<line num="184" count="0" type="stmt"/>
|
|
250
|
+
<line num="195" count="0" type="stmt"/>
|
|
251
|
+
<line num="196" count="0" type="stmt"/>
|
|
252
|
+
<line num="197" count="0" type="stmt"/>
|
|
253
|
+
<line num="206" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
254
|
+
<line num="207" count="0" type="stmt"/>
|
|
255
|
+
<line num="209" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
256
|
+
<line num="210" count="0" type="stmt"/>
|
|
257
|
+
<line num="213" count="0" type="stmt"/>
|
|
258
|
+
<line num="217" count="0" type="stmt"/>
|
|
259
|
+
<line num="218" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
260
|
+
<line num="219" count="0" type="stmt"/>
|
|
261
|
+
<line num="220" count="0" type="stmt"/>
|
|
262
|
+
<line num="231" count="0" type="stmt"/>
|
|
263
|
+
<line num="235" count="3" type="stmt"/>
|
|
264
|
+
</file>
|
|
265
|
+
<file name="endpointValidator.js" path="/var/www/html/oa_drive/shared/validator-core/src/validators/endpointValidator.js">
|
|
266
|
+
<metrics statements="64" coveredstatements="34" conditionals="52" coveredconditionals="21" methods="5" coveredmethods="3"/>
|
|
267
|
+
<line num="8" count="2" type="stmt"/>
|
|
268
|
+
<line num="15" count="2" type="stmt"/>
|
|
269
|
+
<line num="17" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
270
|
+
<line num="18" count="0" type="stmt"/>
|
|
271
|
+
<line num="19" count="0" type="stmt"/>
|
|
272
|
+
<line num="20" count="0" type="stmt"/>
|
|
273
|
+
<line num="24" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
274
|
+
<line num="25" count="0" type="stmt"/>
|
|
275
|
+
<line num="26" count="0" type="stmt"/>
|
|
276
|
+
<line num="27" count="0" type="stmt"/>
|
|
277
|
+
<line num="30" count="2" type="stmt"/>
|
|
278
|
+
<line num="31" count="2" type="stmt"/>
|
|
279
|
+
<line num="32" count="2" type="stmt"/>
|
|
280
|
+
<line num="35" count="2" type="stmt"/>
|
|
281
|
+
<line num="36" count="53" type="stmt"/>
|
|
282
|
+
<line num="37" count="53" type="stmt"/>
|
|
283
|
+
<line num="40" count="53" type="cond" truecount="1" falsecount="1"/>
|
|
284
|
+
<line num="41" count="0" type="stmt"/>
|
|
285
|
+
<line num="42" count="0" type="stmt"/>
|
|
286
|
+
<line num="45" count="53" type="cond" truecount="1" falsecount="1"/>
|
|
287
|
+
<line num="46" count="0" type="stmt"/>
|
|
288
|
+
<line num="47" count="0" type="stmt"/>
|
|
289
|
+
<line num="51" count="53" type="cond" truecount="1" falsecount="1"/>
|
|
290
|
+
<line num="52" count="0" type="stmt"/>
|
|
291
|
+
<line num="56" count="53" type="stmt"/>
|
|
292
|
+
<line num="57" count="53" type="cond" truecount="1" falsecount="1"/>
|
|
293
|
+
<line num="58" count="0" type="stmt"/>
|
|
294
|
+
<line num="62" count="53" type="stmt"/>
|
|
295
|
+
<line num="63" count="53" type="cond" truecount="1" falsecount="1"/>
|
|
296
|
+
<line num="64" count="0" type="stmt"/>
|
|
297
|
+
<line num="66" count="53" type="stmt"/>
|
|
298
|
+
<line num="69" count="53" type="cond" truecount="1" falsecount="1"/>
|
|
299
|
+
<line num="70" count="53" type="cond" truecount="2" falsecount="2"/>
|
|
300
|
+
<line num="71" count="0" type="stmt"/>
|
|
301
|
+
<line num="76" count="53" type="cond" truecount="1" falsecount="1"/>
|
|
302
|
+
<line num="77" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
303
|
+
<line num="78" count="0" type="stmt"/>
|
|
304
|
+
<line num="83" count="53" type="cond" truecount="1" falsecount="1"/>
|
|
305
|
+
<line num="84" count="53" type="stmt"/>
|
|
306
|
+
<line num="88" count="53" type="cond" truecount="2" falsecount="2"/>
|
|
307
|
+
<line num="89" count="0" type="stmt"/>
|
|
308
|
+
<line num="94" count="2" type="stmt"/>
|
|
309
|
+
<line num="102" count="2" type="stmt"/>
|
|
310
|
+
<line num="103" count="53" type="cond" truecount="1" falsecount="1"/>
|
|
311
|
+
<line num="104" count="53" type="stmt"/>
|
|
312
|
+
<line num="109" count="2" type="cond" truecount="3" falsecount="1"/>
|
|
313
|
+
<line num="110" count="0" type="stmt"/>
|
|
314
|
+
<line num="113" count="2" type="cond" truecount="2" falsecount="2"/>
|
|
315
|
+
<line num="114" count="0" type="stmt"/>
|
|
316
|
+
<line num="117" count="10" type="stmt"/>
|
|
317
|
+
<line num="119" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
318
|
+
<line num="120" count="0" type="stmt"/>
|
|
319
|
+
<line num="124" count="0" type="stmt"/>
|
|
320
|
+
<line num="125" count="0" type="stmt"/>
|
|
321
|
+
<line num="128" count="2" type="stmt"/>
|
|
322
|
+
<line num="137" count="0" type="stmt"/>
|
|
323
|
+
<line num="145" count="0" type="stmt"/>
|
|
324
|
+
<line num="147" count="0" type="stmt"/>
|
|
325
|
+
<line num="148" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
326
|
+
<line num="149" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
327
|
+
<line num="151" count="0" type="stmt"/>
|
|
328
|
+
<line num="160" count="0" type="stmt"/>
|
|
329
|
+
<line num="161" count="0" type="stmt"/>
|
|
330
|
+
<line num="165" count="3" type="stmt"/>
|
|
331
|
+
</file>
|
|
332
|
+
<file name="healthValidator.js" path="/var/www/html/oa_drive/shared/validator-core/src/validators/healthValidator.js">
|
|
333
|
+
<metrics statements="72" coveredstatements="21" conditionals="90" coveredconditionals="21" methods="4" coveredmethods="1"/>
|
|
334
|
+
<line num="8" count="2" type="stmt"/>
|
|
335
|
+
<line num="15" count="2" type="stmt"/>
|
|
336
|
+
<line num="16" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
337
|
+
<line num="17" count="0" type="stmt"/>
|
|
338
|
+
<line num="18" count="0" type="stmt"/>
|
|
339
|
+
<line num="19" count="0" type="stmt"/>
|
|
340
|
+
<line num="23" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
341
|
+
<line num="25" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
342
|
+
<line num="26" count="0" type="stmt"/>
|
|
343
|
+
<line num="27" count="0" type="stmt"/>
|
|
344
|
+
<line num="29" count="0" type="stmt"/>
|
|
345
|
+
<line num="30" count="0" type="stmt"/>
|
|
346
|
+
<line num="31" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
347
|
+
<line num="33" count="2" type="cond" truecount="3" falsecount="1"/>
|
|
348
|
+
<line num="34" count="2" type="stmt"/>
|
|
349
|
+
<line num="35" count="2" type="stmt"/>
|
|
350
|
+
<line num="38" count="2" type="cond" truecount="2" falsecount="0"/>
|
|
351
|
+
<line num="39" count="2" type="cond" truecount="2" falsecount="2"/>
|
|
352
|
+
<line num="40" count="0" type="stmt"/>
|
|
353
|
+
<line num="41" count="0" type="stmt"/>
|
|
354
|
+
<line num="44" count="2" type="stmt"/>
|
|
355
|
+
<line num="45" count="2" type="stmt"/>
|
|
356
|
+
<line num="48" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
357
|
+
<line num="49" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
358
|
+
<line num="50" count="0" type="stmt"/>
|
|
359
|
+
<line num="52" count="0" type="stmt"/>
|
|
360
|
+
<line num="57" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
361
|
+
<line num="58" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
362
|
+
<line num="59" count="0" type="stmt"/>
|
|
363
|
+
<line num="61" count="0" type="stmt"/>
|
|
364
|
+
<line num="66" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
365
|
+
<line num="67" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
366
|
+
<line num="68" count="0" type="stmt"/>
|
|
367
|
+
<line num="70" count="0" type="stmt"/>
|
|
368
|
+
<line num="75" count="2" type="cond" truecount="3" falsecount="1"/>
|
|
369
|
+
<line num="76" count="0" type="stmt"/>
|
|
370
|
+
<line num="78" count="0" type="stmt"/>
|
|
371
|
+
<line num="79" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
372
|
+
<line num="80" count="0" type="stmt"/>
|
|
373
|
+
<line num="82" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
374
|
+
<line num="83" count="0" type="stmt"/>
|
|
375
|
+
<line num="89" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
376
|
+
<line num="90" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
377
|
+
<line num="91" count="0" type="stmt"/>
|
|
378
|
+
<line num="93" count="0" type="stmt"/>
|
|
379
|
+
<line num="96" count="0" type="stmt"/>
|
|
380
|
+
<line num="97" count="0" type="stmt"/>
|
|
381
|
+
<line num="101" count="2" type="cond" truecount="2" falsecount="2"/>
|
|
382
|
+
<line num="102" count="0" type="stmt"/>
|
|
383
|
+
<line num="105" count="2" type="cond" truecount="2" falsecount="2"/>
|
|
384
|
+
<line num="106" count="0" type="stmt"/>
|
|
385
|
+
<line num="110" count="0" type="stmt"/>
|
|
386
|
+
<line num="111" count="0" type="stmt"/>
|
|
387
|
+
<line num="114" count="2" type="stmt"/>
|
|
388
|
+
<line num="124" count="0" type="stmt"/>
|
|
389
|
+
<line num="155" count="0" type="stmt"/>
|
|
390
|
+
<line num="162" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
391
|
+
<line num="163" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
392
|
+
<line num="164" count="0" type="stmt"/>
|
|
393
|
+
<line num="165" count="0" type="stmt"/>
|
|
394
|
+
<line num="170" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
395
|
+
<line num="171" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
396
|
+
<line num="172" count="0" type="stmt"/>
|
|
397
|
+
<line num="173" count="0" type="stmt"/>
|
|
398
|
+
<line num="174" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
399
|
+
<line num="175" count="0" type="stmt"/>
|
|
400
|
+
<line num="176" count="0" type="stmt"/>
|
|
401
|
+
<line num="181" count="0" type="cond" truecount="0" falsecount="4"/>
|
|
402
|
+
<line num="182" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
403
|
+
<line num="183" count="0" type="stmt"/>
|
|
404
|
+
<line num="187" count="0" type="stmt"/>
|
|
405
|
+
<line num="191" count="3" type="stmt"/>
|
|
406
|
+
</file>
|
|
407
|
+
<file name="openApiValidator.js" path="/var/www/html/oa_drive/shared/validator-core/src/validators/openApiValidator.js">
|
|
408
|
+
<metrics statements="56" coveredstatements="38" conditionals="44" coveredconditionals="25" methods="5" coveredmethods="3"/>
|
|
409
|
+
<line num="8" count="2" type="stmt"/>
|
|
410
|
+
<line num="15" count="2" type="stmt"/>
|
|
411
|
+
<line num="17" count="2" type="cond" truecount="2" falsecount="2"/>
|
|
412
|
+
<line num="18" count="0" type="stmt"/>
|
|
413
|
+
<line num="19" count="0" type="stmt"/>
|
|
414
|
+
<line num="21" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
415
|
+
<line num="25" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
416
|
+
<line num="26" count="0" type="stmt"/>
|
|
417
|
+
<line num="27" count="0" type="stmt"/>
|
|
418
|
+
<line num="29" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
419
|
+
<line num="30" count="0" type="stmt"/>
|
|
420
|
+
<line num="32" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
421
|
+
<line num="33" count="0" type="stmt"/>
|
|
422
|
+
<line num="35" count="2" type="stmt"/>
|
|
423
|
+
<line num="36" count="2" type="stmt"/>
|
|
424
|
+
<line num="40" count="2" type="cond" truecount="3" falsecount="1"/>
|
|
425
|
+
<line num="41" count="0" type="stmt"/>
|
|
426
|
+
<line num="42" count="0" type="stmt"/>
|
|
427
|
+
<line num="44" count="2" type="stmt"/>
|
|
428
|
+
<line num="45" count="2" type="stmt"/>
|
|
429
|
+
<line num="46" count="2" type="stmt"/>
|
|
430
|
+
<line num="47" count="2" type="stmt"/>
|
|
431
|
+
<line num="48" count="2" type="stmt"/>
|
|
432
|
+
<line num="52" count="2" type="cond" truecount="4" falsecount="0"/>
|
|
433
|
+
<line num="53" count="1" type="stmt"/>
|
|
434
|
+
<line num="54" count="1" type="cond" truecount="2" falsecount="2"/>
|
|
435
|
+
<line num="55" count="0" type="stmt"/>
|
|
436
|
+
<line num="58" count="2" type="cond" truecount="1" falsecount="1"/>
|
|
437
|
+
<line num="59" count="0" type="stmt"/>
|
|
438
|
+
<line num="63" count="0" type="stmt"/>
|
|
439
|
+
<line num="64" count="0" type="stmt"/>
|
|
440
|
+
<line num="67" count="2" type="stmt"/>
|
|
441
|
+
<line num="76" count="2" type="stmt"/>
|
|
442
|
+
<line num="82" count="2" type="stmt"/>
|
|
443
|
+
<line num="84" count="2" type="stmt"/>
|
|
444
|
+
<line num="86" count="4" type="cond" truecount="1" falsecount="1"/>
|
|
445
|
+
<line num="87" count="0" type="stmt"/>
|
|
446
|
+
<line num="91" count="4" type="stmt"/>
|
|
447
|
+
<line num="92" count="4" type="stmt"/>
|
|
448
|
+
<line num="95" count="4" type="cond" truecount="1" falsecount="1"/>
|
|
449
|
+
<line num="96" count="0" type="stmt"/>
|
|
450
|
+
<line num="100" count="4" type="stmt"/>
|
|
451
|
+
<line num="101" count="4" type="stmt"/>
|
|
452
|
+
<line num="102" count="4" type="stmt"/>
|
|
453
|
+
<line num="105" count="4" type="cond" truecount="1" falsecount="1"/>
|
|
454
|
+
<line num="106" count="0" type="stmt"/>
|
|
455
|
+
<line num="107" count="4" type="cond" truecount="1" falsecount="1"/>
|
|
456
|
+
<line num="108" count="0" type="stmt"/>
|
|
457
|
+
<line num="112" count="4" type="cond" truecount="4" falsecount="0"/>
|
|
458
|
+
<line num="113" count="1" type="stmt"/>
|
|
459
|
+
<line num="117" count="4" type="cond" truecount="1" falsecount="1"/>
|
|
460
|
+
<line num="118" count="4" type="stmt"/>
|
|
461
|
+
<line num="123" count="2" type="stmt"/>
|
|
462
|
+
<line num="132" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
463
|
+
<line num="141" count="0" type="cond" truecount="0" falsecount="2"/>
|
|
464
|
+
<line num="145" count="3" type="stmt"/>
|
|
465
|
+
</file>
|
|
466
|
+
</package>
|
|
467
|
+
</project>
|
|
468
|
+
</coverage>
|