nonnative 1.83.0 → 1.84.0
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 +43 -5
- data/Gemfile.lock +36 -29
- data/README.md +34 -0
- data/lib/nonnative/configuration.rb +1 -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: 1a54190af331c4410928da35c7fed461a281029037585183b0ce36a1a113172b
|
4
|
+
data.tar.gz: 2835a5ebc4c5ec94027398c5e896b0c4c1490ae0b1187771dc91268ddff47b60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c50ea9468db90a56b0cceba79d71b7adcb0234c0ac5d9fc93b1849743f7db9e90ea663e279888cc001a3a740bb47ca4db0a373bcd0f8c125df3f5a1207a20eda
|
7
|
+
data.tar.gz: e4ee6103689a6b8c19124e411b58226c4556c1c86175d37ca7325c262bb27629274988abb490def987731b05d7c81ceb2043163ea4aeb01f2c7dc4df373706b4
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,44 @@ 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.0](https://github.com/alexfalkowski/nonnative/releases/tag/v1.84.0) - 2024-12-17
|
10
|
+
|
11
|
+
- [`14daed4`](https://github.com/alexfalkowski/nonnative/commit/14daed43ab1d64baa32d004d875409784813590c) feat(cucumber): add ability to control faults (#466)
|
12
|
+
|
13
|
+
## [v1.83.8](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.8) - 2024-12-13
|
14
|
+
|
15
|
+
- [`64a5686`](https://github.com/alexfalkowski/nonnative/commit/64a568628ad845cc274c0b5dbe18a9d77c806be7) fix(deps): bump rubocop from 1.69.1 to 1.69.2 (#465)
|
16
|
+
- [`fcdf19e`](https://github.com/alexfalkowski/nonnative/commit/fcdf19e96220c5a9e5dab558c0965f86fe693f03) build(deps): bump bin from `cf4a7d3` to `10049eb` (#464)
|
17
|
+
|
18
|
+
## [v1.83.7](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.7) - 2024-12-04
|
19
|
+
|
20
|
+
- [`9f70167`](https://github.com/alexfalkowski/nonnative/commit/9f70167f308c78bf8d8686fbf453977cf72d80c7) fix(deps): bump grpc from 1.67.0 to 1.68.1 (#462)
|
21
|
+
|
22
|
+
## [v1.83.6](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.6) - 2024-12-04
|
23
|
+
|
24
|
+
- [`194daad`](https://github.com/alexfalkowski/nonnative/commit/194daad98aabbbb616e1f79d4425d10501e9feeb) fix(deps): bump rubocop from 1.69.0 to 1.69.1 (#463)
|
25
|
+
|
26
|
+
## [v1.83.5](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.5) - 2024-11-27
|
27
|
+
|
28
|
+
- [`4431063`](https://github.com/alexfalkowski/nonnative/commit/44310634ec5a19ea9e60fee9084a31fd8ae1dbf3) fix(deps): bump rubocop from 1.68.0 to 1.69.0 (#461)
|
29
|
+
|
30
|
+
## [v1.83.4](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.4) - 2024-11-25
|
31
|
+
|
32
|
+
- [`85641f3`](https://github.com/alexfalkowski/nonnative/commit/85641f3d31c7b4289a01aa3f9a5e7fc90e546fcf) fix(deps): bump puma from 6.4.3 to 6.5.0 (#460)
|
33
|
+
- [`2108665`](https://github.com/alexfalkowski/nonnative/commit/210866595806aa3ec27e7de94098fcf1157433bb) fix(deps): bump ruby-lsp from 0.22.0 to 0.22.1 (#459)
|
34
|
+
|
35
|
+
## [v1.83.3](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.3) - 2024-11-21
|
36
|
+
|
37
|
+
- [`dd188d2`](https://github.com/alexfalkowski/nonnative/commit/dd188d2821943b21c53390af3046c993e9293393) fix(deps): bump sinatra from 4.1.0 to 4.1.1 (#457)
|
38
|
+
|
39
|
+
## [v1.83.2](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.2) - 2024-11-21
|
40
|
+
|
41
|
+
- [`88c2e8b`](https://github.com/alexfalkowski/nonnative/commit/88c2e8bebdd66a91d2fd05d266774605195c0bd7) fix(deps): bump ruby-lsp from 0.21.3 to 0.22.0 (#458)
|
42
|
+
|
43
|
+
## [v1.83.1](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.1) - 2024-11-19
|
44
|
+
|
45
|
+
- [`4a68ac0`](https://github.com/alexfalkowski/nonnative/commit/4a68ac08a523af60dc2882451152e159ca4977ba) fix(deps): bump sinatra from 4.0.0 to 4.1.0 (#456)
|
46
|
+
|
9
47
|
## [v1.83.0](https://github.com/alexfalkowski/nonnative/releases/tag/v1.83.0) - 2024-11-06
|
10
48
|
|
11
49
|
- [`7e69c40`](https://github.com/alexfalkowski/nonnative/commit/7e69c40dcdae1f9f6e0051ce19421a661c68a7f8) feat(sinatra): update sinatra (>= 4, < 5) (#455)
|
@@ -1345,7 +1383,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
1345
1383
|
- [`787e490`](https://github.com/alexfalkowski/nonnative/commit/787e490b71884c8dcd0920778b88fd94d520dfab) feat: remove logs
|
1346
1384
|
- [`1b3b01c`](https://github.com/alexfalkowski/nonnative/commit/1b3b01c17cb3b634e17a68e8e88404ff66fa6be5) feat: add puma (4.3.3)
|
1347
1385
|
- [`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
|
1386
|
+
- [`111d81d`](https://github.com/alexfalkowski/nonnative/commit/111d81da298a7203c08fa5725e2310736b613fb9) feat: successfully starting of HTTP servers programmatically with not found message
|
1349
1387
|
- [`047efaf`](https://github.com/alexfalkowski/nonnative/commit/047efaf9d6e2b721d92ce17fa348326b07705008) test: cover post
|
1350
1388
|
- [`c38d8a3`](https://github.com/alexfalkowski/nonnative/commit/c38d8a34b54f4bf7036d0794fa788015a9de9043) Merge pull request #26 from alexfalkowski/feature/debt
|
1351
1389
|
- [`cb93b23`](https://github.com/alexfalkowski/nonnative/commit/cb93b23a3c8ae463b656fb4a43e2b7dab83db2f5) fix: add comments
|
@@ -1372,14 +1410,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
1372
1410
|
- [`3719e3c`](https://github.com/alexfalkowski/nonnative/commit/3719e3ce45c44ddfa26da87e41cc1604e2dcd88d) refactor: move to greeter file
|
1373
1411
|
- [`d9f58b2`](https://github.com/alexfalkowski/nonnative/commit/d9f58b212e729f3316b3d790078610d2312e100d) Merge pull request #22 from alexfalkowski/feature/observability
|
1374
1412
|
- [`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
|
1413
|
+
- [`4536904`](https://github.com/alexfalkowski/nonnative/commit/45369041a8d95e240b5533d2132b60fa4d31278f) feat: successfully starting of HTTP servers programmatically and getting metrics
|
1414
|
+
- [`be9ae06`](https://github.com/alexfalkowski/nonnative/commit/be9ae06952e83af666f654a9782b596673709c87) feat: successfully starting of HTTP servers programmatically and getting health
|
1377
1415
|
- [`fdb61da`](https://github.com/alexfalkowski/nonnative/commit/fdb61da719e6cf3d35db7d8af6acea19481a8ff9) feat: use ruby 2.6.6
|
1378
1416
|
- [`87f6e0f`](https://github.com/alexfalkowski/nonnative/commit/87f6e0feb0c2a504d773bc1d77e5c00a403c6365) Merge pull request #21 from alexfalkowski/feature/fake-servers
|
1379
1417
|
- [`1093f30`](https://github.com/alexfalkowski/nonnative/commit/1093f30717f1891a4644c63c4fea3d0640599578) build: bump to version 1.6.0
|
1380
1418
|
- [`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
|
1419
|
+
- [`cc92276`](https://github.com/alexfalkowski/nonnative/commit/cc9227620ecb8133277871967eb835f67943ccad) feat: successfully starting of grpc servers programmatically
|
1420
|
+
- [`93373f1`](https://github.com/alexfalkowski/nonnative/commit/93373f1b85d50328b54ee49236f55acd2c5c0180) feat: successfully starting of HTTP servers programmatically
|
1383
1421
|
- [`d27904b`](https://github.com/alexfalkowski/nonnative/commit/d27904b7e6c4c9b510ae860e42a7d10a4cc0035f) test: rename to tcp
|
1384
1422
|
- [`42c10e9`](https://github.com/alexfalkowski/nonnative/commit/42c10e99e951450efce4a529b75f18a0f4f5fd36) test: add grpc-tools (~> 1.28)
|
1385
1423
|
- [`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.0)
|
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' }
|
@@ -88,6 +93,7 @@ Setup it up through configuration:
|
|
88
93
|
|
89
94
|
```yaml
|
90
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
|
@@ -179,6 +188,7 @@ Setup it up through configuration:
|
|
179
188
|
|
180
189
|
```yaml
|
181
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
|
@@ -250,6 +263,7 @@ Setup it up through configuration:
|
|
250
263
|
|
251
264
|
```yaml
|
252
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
|
@@ -311,6 +328,7 @@ Setup it up through configuration:
|
|
311
328
|
|
312
329
|
```yaml
|
313
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
|
@@ -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',
|
@@ -406,6 +430,7 @@ Setup it up through configuration:
|
|
406
430
|
|
407
431
|
```yaml
|
408
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',
|
@@ -441,6 +469,7 @@ Setup it up through configuration:
|
|
441
469
|
|
442
470
|
```yaml
|
443
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',
|
@@ -476,6 +508,7 @@ Setup it up through configuration:
|
|
476
508
|
|
477
509
|
```yaml
|
478
510
|
version: 1.0
|
511
|
+
url: http://localhost:4567
|
479
512
|
services:
|
480
513
|
-
|
481
514
|
proxy:
|
@@ -586,6 +619,7 @@ Setup it up through configuration:
|
|
586
619
|
|
587
620
|
```yaml
|
588
621
|
version: 1.0
|
622
|
+
url: http://localhost:4567
|
589
623
|
processes:
|
590
624
|
-
|
591
625
|
name: go
|
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.0
|
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
|