nonnative 1.83.0 → 1.84.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +47 -5
- data/Gemfile.lock +36 -29
- data/README.md +43 -9
- data/lib/nonnative/configuration.rb +4 -1
- data/lib/nonnative/cucumber.rb +30 -0
- data/lib/nonnative/version.rb +1 -1
- data/lib/nonnative.rb +6 -0
- data/nonnative.gemspec +1 -0
- metadata +23 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ff480fe0c80d2f8aea2767d81dc0d64a5467875ee4c7aae41e29db61d8297bb4
|
|
4
|
+
data.tar.gz: fb5c830a040acd4531f5106e51afce5b5b15d6b608a1dbb41fce4239983651d1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4608d44faf23a3f00adc43b91343e1a002bd06af4d8ef7609ebfff34652e2bdbe8ee999fb987c1c52ed0ad4c631045d04ebd40130ea19f88196c5e447ea7549f
|
|
7
|
+
data.tar.gz: c8b62a28660022f0f5bc40d6e28223c0b64231798c1c1eea63979d9d69b39a0251045196d76ad185399d713ea0aea31aaf5c775ec5c41f6a2c0bc7dcc7d20f6e
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,48 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
6
6
|
|
|
7
7
|
## Unreleased
|
|
8
8
|
|
|
9
|
+
## [v1.84.1](https://github.com/alexfalkowski/nonnative/releases/tag/v1.84.1) - 2024-12-17
|
|
10
|
+
|
|
11
|
+
- [`1fb44bd`](https://github.com/alexfalkowski/nonnative/commit/1fb44bdb781b6d5d9f88e3d6565eca848aad189e) fix(config): make sure we set properties (#467)
|
|
12
|
+
|
|
13
|
+
## [v1.84.0](https://github.com/alexfalkowski/nonnative/releases/tag/v1.84.0) - 2024-12-17
|
|
14
|
+
|
|
15
|
+
- [`14daed4`](https://github.com/alexfalkowski/nonnative/commit/14daed43ab1d64baa32d004d875409784813590c) feat(cucumber): add ability to control faults (#466)
|
|
16
|
+
|
|
17
|
+
## [v1.83.8](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.8) - 2024-12-13
|
|
18
|
+
|
|
19
|
+
- [`64a5686`](https://github.com/alexfalkowski/nonnative/commit/64a568628ad845cc274c0b5dbe18a9d77c806be7) fix(deps): bump rubocop from 1.69.1 to 1.69.2 (#465)
|
|
20
|
+
- [`fcdf19e`](https://github.com/alexfalkowski/nonnative/commit/fcdf19e96220c5a9e5dab558c0965f86fe693f03) build(deps): bump bin from `cf4a7d3` to `10049eb` (#464)
|
|
21
|
+
|
|
22
|
+
## [v1.83.7](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.7) - 2024-12-04
|
|
23
|
+
|
|
24
|
+
- [`9f70167`](https://github.com/alexfalkowski/nonnative/commit/9f70167f308c78bf8d8686fbf453977cf72d80c7) fix(deps): bump grpc from 1.67.0 to 1.68.1 (#462)
|
|
25
|
+
|
|
26
|
+
## [v1.83.6](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.6) - 2024-12-04
|
|
27
|
+
|
|
28
|
+
- [`194daad`](https://github.com/alexfalkowski/nonnative/commit/194daad98aabbbb616e1f79d4425d10501e9feeb) fix(deps): bump rubocop from 1.69.0 to 1.69.1 (#463)
|
|
29
|
+
|
|
30
|
+
## [v1.83.5](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.5) - 2024-11-27
|
|
31
|
+
|
|
32
|
+
- [`4431063`](https://github.com/alexfalkowski/nonnative/commit/44310634ec5a19ea9e60fee9084a31fd8ae1dbf3) fix(deps): bump rubocop from 1.68.0 to 1.69.0 (#461)
|
|
33
|
+
|
|
34
|
+
## [v1.83.4](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.4) - 2024-11-25
|
|
35
|
+
|
|
36
|
+
- [`85641f3`](https://github.com/alexfalkowski/nonnative/commit/85641f3d31c7b4289a01aa3f9a5e7fc90e546fcf) fix(deps): bump puma from 6.4.3 to 6.5.0 (#460)
|
|
37
|
+
- [`2108665`](https://github.com/alexfalkowski/nonnative/commit/210866595806aa3ec27e7de94098fcf1157433bb) fix(deps): bump ruby-lsp from 0.22.0 to 0.22.1 (#459)
|
|
38
|
+
|
|
39
|
+
## [v1.83.3](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.3) - 2024-11-21
|
|
40
|
+
|
|
41
|
+
- [`dd188d2`](https://github.com/alexfalkowski/nonnative/commit/dd188d2821943b21c53390af3046c993e9293393) fix(deps): bump sinatra from 4.1.0 to 4.1.1 (#457)
|
|
42
|
+
|
|
43
|
+
## [v1.83.2](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.2) - 2024-11-21
|
|
44
|
+
|
|
45
|
+
- [`88c2e8b`](https://github.com/alexfalkowski/nonnative/commit/88c2e8bebdd66a91d2fd05d266774605195c0bd7) fix(deps): bump ruby-lsp from 0.21.3 to 0.22.0 (#458)
|
|
46
|
+
|
|
47
|
+
## [v1.83.1](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.1) - 2024-11-19
|
|
48
|
+
|
|
49
|
+
- [`4a68ac0`](https://github.com/alexfalkowski/nonnative/commit/4a68ac08a523af60dc2882451152e159ca4977ba) fix(deps): bump sinatra from 4.0.0 to 4.1.0 (#456)
|
|
50
|
+
|
|
9
51
|
## [v1.83.0](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.0) - 2024-11-06
|
|
10
52
|
|
|
11
53
|
- [`7e69c40`](https://github.com/alexfalkowski/nonnative/commit/7e69c40dcdae1f9f6e0051ce19421a661c68a7f8) feat(sinatra): update sinatra (>= 4, < 5) (#455)
|
|
@@ -1345,7 +1387,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
1345
1387
|
- [`787e490`](https://github.com/alexfalkowski/nonnative/commit/787e490b71884c8dcd0920778b88fd94d520dfab) feat: remove logs
|
|
1346
1388
|
- [`1b3b01c`](https://github.com/alexfalkowski/nonnative/commit/1b3b01c17cb3b634e17a68e8e88404ff66fa6be5) feat: add puma (4.3.3)
|
|
1347
1389
|
- [`4e0c55d`](https://github.com/alexfalkowski/nonnative/commit/4e0c55d8b4776c0e1142b1fcc66d7816fde6c875) Merge pull request #27 from alexfalkowski/feature/add-tests
|
|
1348
|
-
- [`111d81d`](https://github.com/alexfalkowski/nonnative/commit/111d81da298a7203c08fa5725e2310736b613fb9) feat: successfully starting of HTTP servers
|
|
1390
|
+
- [`111d81d`](https://github.com/alexfalkowski/nonnative/commit/111d81da298a7203c08fa5725e2310736b613fb9) feat: successfully starting of HTTP servers programmatically with not found message
|
|
1349
1391
|
- [`047efaf`](https://github.com/alexfalkowski/nonnative/commit/047efaf9d6e2b721d92ce17fa348326b07705008) test: cover post
|
|
1350
1392
|
- [`c38d8a3`](https://github.com/alexfalkowski/nonnative/commit/c38d8a34b54f4bf7036d0794fa788015a9de9043) Merge pull request #26 from alexfalkowski/feature/debt
|
|
1351
1393
|
- [`cb93b23`](https://github.com/alexfalkowski/nonnative/commit/cb93b23a3c8ae463b656fb4a43e2b7dab83db2f5) fix: add comments
|
|
@@ -1372,14 +1414,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
1372
1414
|
- [`3719e3c`](https://github.com/alexfalkowski/nonnative/commit/3719e3ce45c44ddfa26da87e41cc1604e2dcd88d) refactor: move to greeter file
|
|
1373
1415
|
- [`d9f58b2`](https://github.com/alexfalkowski/nonnative/commit/d9f58b212e729f3316b3d790078610d2312e100d) Merge pull request #22 from alexfalkowski/feature/observability
|
|
1374
1416
|
- [`1df039d`](https://github.com/alexfalkowski/nonnative/commit/1df039d931aa04ce105e91b9bfb6452d9a0ce64a) build: bump to version 1.7.0
|
|
1375
|
-
- [`4536904`](https://github.com/alexfalkowski/nonnative/commit/45369041a8d95e240b5533d2132b60fa4d31278f) feat: successfully starting of HTTP servers
|
|
1376
|
-
- [`be9ae06`](https://github.com/alexfalkowski/nonnative/commit/be9ae06952e83af666f654a9782b596673709c87) feat: successfully starting of HTTP servers
|
|
1417
|
+
- [`4536904`](https://github.com/alexfalkowski/nonnative/commit/45369041a8d95e240b5533d2132b60fa4d31278f) feat: successfully starting of HTTP servers programmatically and getting metrics
|
|
1418
|
+
- [`be9ae06`](https://github.com/alexfalkowski/nonnative/commit/be9ae06952e83af666f654a9782b596673709c87) feat: successfully starting of HTTP servers programmatically and getting health
|
|
1377
1419
|
- [`fdb61da`](https://github.com/alexfalkowski/nonnative/commit/fdb61da719e6cf3d35db7d8af6acea19481a8ff9) feat: use ruby 2.6.6
|
|
1378
1420
|
- [`87f6e0f`](https://github.com/alexfalkowski/nonnative/commit/87f6e0feb0c2a504d773bc1d77e5c00a403c6365) Merge pull request #21 from alexfalkowski/feature/fake-servers
|
|
1379
1421
|
- [`1093f30`](https://github.com/alexfalkowski/nonnative/commit/1093f30717f1891a4644c63c4fea3d0640599578) build: bump to version 1.6.0
|
|
1380
1422
|
- [`7aa120e`](https://github.com/alexfalkowski/nonnative/commit/7aa120e282eca41384c73f0c233b348f489b7e60) docs: add examples for http and grpc
|
|
1381
|
-
- [`cc92276`](https://github.com/alexfalkowski/nonnative/commit/cc9227620ecb8133277871967eb835f67943ccad) feat: successfully starting of grpc servers
|
|
1382
|
-
- [`93373f1`](https://github.com/alexfalkowski/nonnative/commit/93373f1b85d50328b54ee49236f55acd2c5c0180) feat: successfully starting of HTTP servers
|
|
1423
|
+
- [`cc92276`](https://github.com/alexfalkowski/nonnative/commit/cc9227620ecb8133277871967eb835f67943ccad) feat: successfully starting of grpc servers programmatically
|
|
1424
|
+
- [`93373f1`](https://github.com/alexfalkowski/nonnative/commit/93373f1b85d50328b54ee49236f55acd2c5c0180) feat: successfully starting of HTTP servers programmatically
|
|
1383
1425
|
- [`d27904b`](https://github.com/alexfalkowski/nonnative/commit/d27904b7e6c4c9b510ae860e42a7d10a4cc0035f) test: rename to tcp
|
|
1384
1426
|
- [`42c10e9`](https://github.com/alexfalkowski/nonnative/commit/42c10e99e951450efce4a529b75f18a0f4f5fd36) test: add grpc-tools (~> 1.28)
|
|
1385
1427
|
- [`6cabe9e`](https://github.com/alexfalkowski/nonnative/commit/6cabe9e6e6107405459be0cdf93afc9fae742d6e) feat: add grpc (~> 1.28)
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
nonnative (1.
|
|
4
|
+
nonnative (1.84.1)
|
|
5
5
|
concurrent-ruby (>= 1, < 2)
|
|
6
6
|
config (>= 5, < 6)
|
|
7
7
|
cucumber (>= 7, < 10)
|
|
@@ -11,6 +11,7 @@ PATH
|
|
|
11
11
|
rest-client (>= 2, < 3)
|
|
12
12
|
rspec-benchmark (>= 0, < 1)
|
|
13
13
|
rspec-expectations (>= 3, < 4)
|
|
14
|
+
rspec-wait (>= 1, < 2)
|
|
14
15
|
sinatra (>= 4, < 5)
|
|
15
16
|
|
|
16
17
|
GEM
|
|
@@ -62,68 +63,69 @@ GEM
|
|
|
62
63
|
get_process_mem (1.0.0)
|
|
63
64
|
bigdecimal (>= 2.0)
|
|
64
65
|
ffi (~> 1.0)
|
|
65
|
-
google-protobuf (4.
|
|
66
|
+
google-protobuf (4.29.1-arm64-darwin)
|
|
66
67
|
bigdecimal
|
|
67
68
|
rake (>= 13)
|
|
68
|
-
google-protobuf (4.
|
|
69
|
+
google-protobuf (4.29.1-x86_64-darwin)
|
|
69
70
|
bigdecimal
|
|
70
71
|
rake (>= 13)
|
|
71
|
-
google-protobuf (4.
|
|
72
|
+
google-protobuf (4.29.1-x86_64-linux)
|
|
72
73
|
bigdecimal
|
|
73
74
|
rake (>= 13)
|
|
74
75
|
googleapis-common-protos-types (1.16.0)
|
|
75
76
|
google-protobuf (>= 3.18, < 5.a)
|
|
76
|
-
grpc (1.
|
|
77
|
+
grpc (1.68.1-arm64-darwin)
|
|
77
78
|
google-protobuf (>= 3.25, < 5.0)
|
|
78
79
|
googleapis-common-protos-types (~> 1.0)
|
|
79
|
-
grpc (1.
|
|
80
|
+
grpc (1.68.1-x86_64-darwin)
|
|
80
81
|
google-protobuf (>= 3.25, < 5.0)
|
|
81
82
|
googleapis-common-protos-types (~> 1.0)
|
|
82
|
-
grpc (1.
|
|
83
|
+
grpc (1.68.1-x86_64-linux)
|
|
83
84
|
google-protobuf (>= 3.25, < 5.0)
|
|
84
85
|
googleapis-common-protos-types (~> 1.0)
|
|
85
86
|
http-accept (1.7.0)
|
|
86
|
-
http-cookie (1.0.
|
|
87
|
+
http-cookie (1.0.8)
|
|
87
88
|
domain_name (~> 0.5)
|
|
88
|
-
json (2.
|
|
89
|
+
json (2.9.0)
|
|
89
90
|
language_server-protocol (3.17.0.3)
|
|
90
|
-
logger (1.6.
|
|
91
|
+
logger (1.6.3)
|
|
91
92
|
mime-types (3.6.0)
|
|
92
93
|
logger
|
|
93
94
|
mime-types-data (~> 3.2015)
|
|
94
|
-
mime-types-data (3.2024.
|
|
95
|
+
mime-types-data (3.2024.1203)
|
|
95
96
|
mini_mime (1.1.5)
|
|
96
97
|
multi_test (1.1.0)
|
|
97
98
|
mustermann (3.0.3)
|
|
98
99
|
ruby2_keywords (~> 0.0.1)
|
|
99
100
|
netrc (0.11.0)
|
|
100
101
|
nio4r (2.7.4)
|
|
101
|
-
ostruct (0.6.
|
|
102
|
+
ostruct (0.6.1)
|
|
102
103
|
parallel (1.26.3)
|
|
103
104
|
parser (3.3.6.0)
|
|
104
105
|
ast (~> 2.4.1)
|
|
105
106
|
racc
|
|
106
107
|
prism (1.2.0)
|
|
107
|
-
puma (6.
|
|
108
|
+
puma (6.5.0)
|
|
108
109
|
nio4r (~> 2.0)
|
|
109
110
|
racc (1.8.1)
|
|
110
111
|
rack (3.1.8)
|
|
111
|
-
rack-protection (4.
|
|
112
|
+
rack-protection (4.1.1)
|
|
112
113
|
base64 (>= 0.1.0)
|
|
114
|
+
logger (>= 1.6.0)
|
|
113
115
|
rack (>= 3.0.0, < 4)
|
|
114
116
|
rack-session (2.0.0)
|
|
115
117
|
rack (>= 3.0.0)
|
|
116
118
|
rainbow (3.1.1)
|
|
117
119
|
rake (13.2.1)
|
|
118
|
-
rbs (3.
|
|
120
|
+
rbs (3.7.0)
|
|
119
121
|
logger
|
|
120
|
-
regexp_parser (2.9.
|
|
122
|
+
regexp_parser (2.9.3)
|
|
121
123
|
rest-client (2.1.0)
|
|
122
124
|
http-accept (>= 1.7.0, < 2.0)
|
|
123
125
|
http-cookie (>= 1.0.2, < 2.0)
|
|
124
126
|
mime-types (>= 1.16, < 4.0)
|
|
125
127
|
netrc (~> 0.8)
|
|
126
|
-
rexml (3.
|
|
128
|
+
rexml (3.4.0)
|
|
127
129
|
rspec (3.13.0)
|
|
128
130
|
rspec-core (~> 3.13.0)
|
|
129
131
|
rspec-expectations (~> 3.13.0)
|
|
@@ -141,20 +143,22 @@ GEM
|
|
|
141
143
|
rspec-mocks (3.13.2)
|
|
142
144
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
143
145
|
rspec-support (~> 3.13.0)
|
|
144
|
-
rspec-support (3.13.
|
|
145
|
-
|
|
146
|
+
rspec-support (3.13.2)
|
|
147
|
+
rspec-wait (1.0.1)
|
|
148
|
+
rspec (>= 3.4)
|
|
149
|
+
rubocop (1.69.2)
|
|
146
150
|
json (~> 2.3)
|
|
147
151
|
language_server-protocol (>= 3.17.0)
|
|
148
152
|
parallel (~> 1.10)
|
|
149
153
|
parser (>= 3.3.0.2)
|
|
150
154
|
rainbow (>= 2.2.2, < 4.0)
|
|
151
|
-
regexp_parser (>= 2.
|
|
152
|
-
rubocop-ast (>= 1.
|
|
155
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
|
156
|
+
rubocop-ast (>= 1.36.2, < 2.0)
|
|
153
157
|
ruby-progressbar (~> 1.7)
|
|
154
|
-
unicode-display_width (>= 2.4.0, <
|
|
155
|
-
rubocop-ast (1.
|
|
158
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
|
159
|
+
rubocop-ast (1.37.0)
|
|
156
160
|
parser (>= 3.3.1.0)
|
|
157
|
-
ruby-lsp (0.
|
|
161
|
+
ruby-lsp (0.22.1)
|
|
158
162
|
language_server-protocol (~> 3.17.0)
|
|
159
163
|
prism (>= 1.2, < 2.0)
|
|
160
164
|
rbs (>= 3, < 4)
|
|
@@ -170,17 +174,20 @@ GEM
|
|
|
170
174
|
simplecov (~> 0.19)
|
|
171
175
|
simplecov-html (0.13.1)
|
|
172
176
|
simplecov_json_formatter (0.1.4)
|
|
173
|
-
sinatra (4.
|
|
177
|
+
sinatra (4.1.1)
|
|
178
|
+
logger (>= 1.6.0)
|
|
174
179
|
mustermann (~> 3.0)
|
|
175
180
|
rack (>= 3.0.0, < 4)
|
|
176
|
-
rack-protection (= 4.
|
|
181
|
+
rack-protection (= 4.1.1)
|
|
177
182
|
rack-session (>= 2.0.0, < 3)
|
|
178
183
|
tilt (~> 2.0)
|
|
179
|
-
sorbet-runtime (0.5.
|
|
180
|
-
sys-uname (1.3.
|
|
184
|
+
sorbet-runtime (0.5.11699)
|
|
185
|
+
sys-uname (1.3.1)
|
|
181
186
|
ffi (~> 1.1)
|
|
182
187
|
tilt (2.4.0)
|
|
183
|
-
unicode-display_width (
|
|
188
|
+
unicode-display_width (3.1.2)
|
|
189
|
+
unicode-emoji (~> 4.0, >= 4.0.4)
|
|
190
|
+
unicode-emoji (4.0.4)
|
|
184
191
|
|
|
185
192
|
PLATFORMS
|
|
186
193
|
arm64-darwin-22
|
data/README.md
CHANGED
|
@@ -35,6 +35,8 @@ Or install it yourself as:
|
|
|
35
35
|
|
|
36
36
|
Configure nonnative with the following:
|
|
37
37
|
|
|
38
|
+
- The version of the configuration (1.0).
|
|
39
|
+
- The URL of the service.
|
|
38
40
|
- Process, Server or Service that you want to start.
|
|
39
41
|
- A timeout value.
|
|
40
42
|
- A time to wait.
|
|
@@ -60,6 +62,9 @@ Setup it up programmatically:
|
|
|
60
62
|
require 'nonnative'
|
|
61
63
|
|
|
62
64
|
Nonnative.configure do |config|
|
|
65
|
+
config.version = '1.0'
|
|
66
|
+
config.url = 'http://localhost:4567'
|
|
67
|
+
|
|
63
68
|
config.process do |p|
|
|
64
69
|
p.name = 'start_1'
|
|
65
70
|
p.command = -> { 'features/support/bin/start 12_321' }
|
|
@@ -87,7 +92,8 @@ end
|
|
|
87
92
|
Setup it up through configuration:
|
|
88
93
|
|
|
89
94
|
```yaml
|
|
90
|
-
version: 1.0
|
|
95
|
+
version: "1.0"
|
|
96
|
+
url: http://localhost:4567
|
|
91
97
|
processes:
|
|
92
98
|
-
|
|
93
99
|
name: start_1
|
|
@@ -157,6 +163,9 @@ Setup it up programmatically:
|
|
|
157
163
|
require 'nonnative'
|
|
158
164
|
|
|
159
165
|
Nonnative.configure do |config|
|
|
166
|
+
config.version = '1.0'
|
|
167
|
+
config.url = 'http://localhost:4567'
|
|
168
|
+
|
|
160
169
|
config.server do |s|
|
|
161
170
|
s.name = 'server_1'
|
|
162
171
|
s.klass = Nonnative::EchoServer
|
|
@@ -178,7 +187,8 @@ end
|
|
|
178
187
|
Setup it up through configuration:
|
|
179
188
|
|
|
180
189
|
```yaml
|
|
181
|
-
version: 1.0
|
|
190
|
+
version: "1.0"
|
|
191
|
+
url: http://localhost:4567
|
|
182
192
|
servers:
|
|
183
193
|
-
|
|
184
194
|
name: server_1
|
|
@@ -236,6 +246,9 @@ Setup it up programmatically:
|
|
|
236
246
|
require 'nonnative'
|
|
237
247
|
|
|
238
248
|
Nonnative.configure do |config|
|
|
249
|
+
config.version = '1.0'
|
|
250
|
+
config.url = 'http://localhost:4567'
|
|
251
|
+
|
|
239
252
|
config.server do |s|
|
|
240
253
|
s.name = 'http_server_1'
|
|
241
254
|
s.klass = Nonnative::Features::HTTPServer
|
|
@@ -249,7 +262,8 @@ end
|
|
|
249
262
|
Setup it up through configuration:
|
|
250
263
|
|
|
251
264
|
```yaml
|
|
252
|
-
version: 1.0
|
|
265
|
+
version: "1.0"
|
|
266
|
+
url: http://localhost:4567
|
|
253
267
|
servers:
|
|
254
268
|
-
|
|
255
269
|
name: http_server_1
|
|
@@ -297,6 +311,9 @@ Setup it up programmatically:
|
|
|
297
311
|
require 'nonnative'
|
|
298
312
|
|
|
299
313
|
Nonnative.configure do |config|
|
|
314
|
+
config.version = '1.0'
|
|
315
|
+
config.url = 'http://localhost:4567'
|
|
316
|
+
|
|
300
317
|
config.server do |s|
|
|
301
318
|
s.name = 'grpc_server_1'
|
|
302
319
|
s.klass = Nonnative::Features::GRPCServer
|
|
@@ -310,7 +327,8 @@ end
|
|
|
310
327
|
Setup it up through configuration:
|
|
311
328
|
|
|
312
329
|
```yaml
|
|
313
|
-
version: 1.0
|
|
330
|
+
version: "1.0"
|
|
331
|
+
url: http://localhost:4567
|
|
314
332
|
servers:
|
|
315
333
|
-
|
|
316
334
|
name: grpc_server_1
|
|
@@ -340,6 +358,9 @@ Setup it up programmatically:
|
|
|
340
358
|
require 'nonnative'
|
|
341
359
|
|
|
342
360
|
Nonnative.configure do |config|
|
|
361
|
+
config.version = '1.0'
|
|
362
|
+
config.url = 'http://localhost:4567'
|
|
363
|
+
|
|
343
364
|
config.service do |s|
|
|
344
365
|
s.name = 'postgres'
|
|
345
366
|
p.port = 5432
|
|
@@ -355,7 +376,7 @@ end
|
|
|
355
376
|
Setup it up through configuration:
|
|
356
377
|
|
|
357
378
|
```yaml
|
|
358
|
-
version: 1.0
|
|
379
|
+
version: "1.0"
|
|
359
380
|
processes:
|
|
360
381
|
-
|
|
361
382
|
name: postgres
|
|
@@ -389,6 +410,9 @@ Setup it up programmatically:
|
|
|
389
410
|
require 'nonnative'
|
|
390
411
|
|
|
391
412
|
Nonnative.configure do |config|
|
|
413
|
+
config.version = '1.0'
|
|
414
|
+
config.url = 'http://localhost:4567'
|
|
415
|
+
|
|
392
416
|
config.process do |p|
|
|
393
417
|
p.proxy = {
|
|
394
418
|
kind: 'fault_injection',
|
|
@@ -405,7 +429,8 @@ end
|
|
|
405
429
|
Setup it up through configuration:
|
|
406
430
|
|
|
407
431
|
```yaml
|
|
408
|
-
version: 1.0
|
|
432
|
+
version: "1.0"
|
|
433
|
+
url: http://localhost:4567
|
|
409
434
|
processes:
|
|
410
435
|
-
|
|
411
436
|
proxy:
|
|
@@ -424,6 +449,9 @@ Setup it up programmatically:
|
|
|
424
449
|
require 'nonnative'
|
|
425
450
|
|
|
426
451
|
Nonnative.configure do |config|
|
|
452
|
+
config.version = '1.0'
|
|
453
|
+
config.url = 'http://localhost:4567'
|
|
454
|
+
|
|
427
455
|
config.server do |s|
|
|
428
456
|
s.proxy = {
|
|
429
457
|
kind: 'fault_injection',
|
|
@@ -440,7 +468,8 @@ end
|
|
|
440
468
|
Setup it up through configuration:
|
|
441
469
|
|
|
442
470
|
```yaml
|
|
443
|
-
version: 1.0
|
|
471
|
+
version: "1.0"
|
|
472
|
+
url: http://localhost:4567
|
|
444
473
|
servers:
|
|
445
474
|
-
|
|
446
475
|
proxy:
|
|
@@ -459,6 +488,9 @@ Setup it up programmatically:
|
|
|
459
488
|
require 'nonnative'
|
|
460
489
|
|
|
461
490
|
Nonnative.configure do |config|
|
|
491
|
+
config.version = '1.0'
|
|
492
|
+
config.url = 'http://localhost:4567'
|
|
493
|
+
|
|
462
494
|
config.service do |s|
|
|
463
495
|
s.proxy = {
|
|
464
496
|
kind: 'fault_injection',
|
|
@@ -475,7 +507,8 @@ end
|
|
|
475
507
|
Setup it up through configuration:
|
|
476
508
|
|
|
477
509
|
```yaml
|
|
478
|
-
version: 1.0
|
|
510
|
+
version: "1.0"
|
|
511
|
+
url: http://localhost:4567
|
|
479
512
|
services:
|
|
480
513
|
-
|
|
481
514
|
proxy:
|
|
@@ -585,7 +618,8 @@ Nonnative.go_executable(tools, 'reports', 'your_binary', 'sub_command', '--confi
|
|
|
585
618
|
Setup it up through configuration:
|
|
586
619
|
|
|
587
620
|
```yaml
|
|
588
|
-
version: 1.0
|
|
621
|
+
version: "1.0"
|
|
622
|
+
url: http://localhost:4567
|
|
589
623
|
processes:
|
|
590
624
|
-
|
|
591
625
|
name: go
|
|
@@ -8,11 +8,14 @@ module Nonnative
|
|
|
8
8
|
@services = []
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
attr_accessor :processes, :servers, :services
|
|
11
|
+
attr_accessor :version, :url, :processes, :servers, :services
|
|
12
12
|
|
|
13
13
|
def load_file(path)
|
|
14
14
|
cfg = Nonnative.configurations(path)
|
|
15
15
|
|
|
16
|
+
self.version = cfg.version
|
|
17
|
+
self.url = cfg.url
|
|
18
|
+
|
|
16
19
|
add_processes(cfg)
|
|
17
20
|
add_servers(cfg)
|
|
18
21
|
add_services(cfg)
|
data/lib/nonnative/cucumber.rb
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
World(RSpec::Benchmark::Matchers)
|
|
4
|
+
World(RSpec::Matchers)
|
|
5
|
+
World(RSpec::Wait)
|
|
4
6
|
|
|
5
7
|
Before('@startup') do
|
|
6
8
|
Nonnative.start
|
|
@@ -37,6 +39,20 @@ Given('I start the system') do
|
|
|
37
39
|
Nonnative.start
|
|
38
40
|
end
|
|
39
41
|
|
|
42
|
+
Given('I should see {string} as unhealthy') do |service|
|
|
43
|
+
opts = {
|
|
44
|
+
headers: { content_type: :json, accept: :json },
|
|
45
|
+
read_timeout: 10, open_timeout: 10
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
wait_for do
|
|
49
|
+
@response = Nonnative.observability.health(opts)
|
|
50
|
+
@response.code
|
|
51
|
+
end.to eq(503)
|
|
52
|
+
|
|
53
|
+
expect(@response.body).to include(service)
|
|
54
|
+
end
|
|
55
|
+
|
|
40
56
|
Then('I should reset the proxy for process {string}') do |name|
|
|
41
57
|
process = Nonnative.pool.process_by_name(name)
|
|
42
58
|
process.proxy.reset
|
|
@@ -77,3 +93,17 @@ end
|
|
|
77
93
|
Then('I should see a log entry of {string} in the file {string}') do |message, path|
|
|
78
94
|
expect(Nonnative.log_lines(path, ->(l) { l.include?(message) }).first).to include(message)
|
|
79
95
|
end
|
|
96
|
+
|
|
97
|
+
Then('I should see {string} as healthy') do |service|
|
|
98
|
+
opts = {
|
|
99
|
+
headers: { content_type: :json, accept: :json },
|
|
100
|
+
read_timeout: 10, open_timeout: 10
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
wait_for do
|
|
104
|
+
@response = Nonnative.observability.health(opts)
|
|
105
|
+
@response.code
|
|
106
|
+
end.to eq(200)
|
|
107
|
+
|
|
108
|
+
expect(@response.body).to_not include(service)
|
|
109
|
+
end
|
data/lib/nonnative/version.rb
CHANGED
data/lib/nonnative.rb
CHANGED
|
@@ -16,6 +16,8 @@ require 'config'
|
|
|
16
16
|
require 'cucumber'
|
|
17
17
|
require 'get_process_mem'
|
|
18
18
|
require 'rspec-benchmark'
|
|
19
|
+
require 'rspec/expectations'
|
|
20
|
+
require 'rspec/wait'
|
|
19
21
|
|
|
20
22
|
require 'nonnative/version'
|
|
21
23
|
require 'nonnative/error'
|
|
@@ -68,6 +70,10 @@ module Nonnative
|
|
|
68
70
|
Nonnative::GoCommand.new(tools, exec, output).executable(cmd, params)
|
|
69
71
|
end
|
|
70
72
|
|
|
73
|
+
def observability
|
|
74
|
+
@observability ||= Nonnative::Observability.new(configuration.url)
|
|
75
|
+
end
|
|
76
|
+
|
|
71
77
|
def configuration
|
|
72
78
|
@configuration ||= Nonnative::Configuration.new
|
|
73
79
|
end
|
data/nonnative.gemspec
CHANGED
|
@@ -33,5 +33,6 @@ Gem::Specification.new do |spec|
|
|
|
33
33
|
spec.add_dependency 'rest-client', '>= 2', '< 3'
|
|
34
34
|
spec.add_dependency 'rspec-benchmark', '>= 0', '< 1'
|
|
35
35
|
spec.add_dependency 'rspec-expectations', '>= 3', '< 4'
|
|
36
|
+
spec.add_dependency 'rspec-wait', '>= 1', '< 2'
|
|
36
37
|
spec.add_dependency 'sinatra', '>= 4', '< 5'
|
|
37
38
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nonnative
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.84.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alejandro Falkowski
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-
|
|
11
|
+
date: 2024-12-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: concurrent-ruby
|
|
@@ -190,6 +190,26 @@ dependencies:
|
|
|
190
190
|
- - "<"
|
|
191
191
|
- !ruby/object:Gem::Version
|
|
192
192
|
version: '4'
|
|
193
|
+
- !ruby/object:Gem::Dependency
|
|
194
|
+
name: rspec-wait
|
|
195
|
+
requirement: !ruby/object:Gem::Requirement
|
|
196
|
+
requirements:
|
|
197
|
+
- - ">="
|
|
198
|
+
- !ruby/object:Gem::Version
|
|
199
|
+
version: '1'
|
|
200
|
+
- - "<"
|
|
201
|
+
- !ruby/object:Gem::Version
|
|
202
|
+
version: '2'
|
|
203
|
+
type: :runtime
|
|
204
|
+
prerelease: false
|
|
205
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
206
|
+
requirements:
|
|
207
|
+
- - ">="
|
|
208
|
+
- !ruby/object:Gem::Version
|
|
209
|
+
version: '1'
|
|
210
|
+
- - "<"
|
|
211
|
+
- !ruby/object:Gem::Version
|
|
212
|
+
version: '2'
|
|
193
213
|
- !ruby/object:Gem::Dependency
|
|
194
214
|
name: sinatra
|
|
195
215
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -290,7 +310,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
290
310
|
- !ruby/object:Gem::Version
|
|
291
311
|
version: '0'
|
|
292
312
|
requirements: []
|
|
293
|
-
rubygems_version: 3.5.
|
|
313
|
+
rubygems_version: 3.5.22
|
|
294
314
|
signing_key:
|
|
295
315
|
specification_version: 4
|
|
296
316
|
summary: Allows you to keep using the power of ruby to test other systems
|