nonnative 1.44.0 → 1.45.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f2baafe2a724951013706a01a247386b01a6eecde9194f6cefbc04348e787f07
4
- data.tar.gz: 99d3a81f1ba4ac6bbc217d0aa48f8d37b11682e6bc18067c07a2e9cf62cd6580
3
+ metadata.gz: 85f5fe8fb5f61dce67f48ddf86ea0d2b76a6446e0e249af0f5afd22229bf3d3d
4
+ data.tar.gz: 178d46b667d50d4f8b68b0e18946ca2aa265e41fd3f8c869229a6e464ddf6e41
5
5
  SHA512:
6
- metadata.gz: cf6dc4e8c8e5e7501c83f05080faba0cda93813ce47cb6b548341114c83f41757228dd0a9c58a2e326c828e7873cb7b85cd121e8ed5eb52ce92a6ebfa636581b
7
- data.tar.gz: 831daa9769dcb510ac649010bd430bc74d335e93ce9f1791ebd420b37570735ba7cbb46ddb810310ccc0ed659138526e8b84060117c4e048cf55b9e9e8388298
6
+ metadata.gz: 782d41b50946ad3741bdf1deedaff39c47db9d890d00f6e2d3ea854c8dff0a9ca3e96d3960f6e2c9d8776b41f4dc6170ca7d0fd65fb86fb65809922258b9f2df
7
+ data.tar.gz: 317a75048db20140a4cd99dfc87ab8001fa4bcbfda7fc750fc3fb00ab8bfb7f7e25e16a38be17faff2c100c683281fac4f1fa9054cc4a39f510baabf6f174bb6
data/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [1.45.0](https://github.com/alexfalkowski/nonnative/compare/v1.44.1...v1.45.0) (2021-05-10)
6
+
7
+
8
+ ### Features
9
+
10
+ * add loading go command through config ([#86](https://github.com/alexfalkowski/nonnative/issues/86)) ([2f500d3](https://github.com/alexfalkowski/nonnative/commit/2f500d34ef6eb536b223651f84213f4f3d10c496))
11
+
12
+ ### [1.44.1](https://github.com/alexfalkowski/nonnative/compare/v1.44.0...v1.44.1) (2021-05-06)
13
+
5
14
  ## [1.44.0](https://github.com/alexfalkowski/nonnative/compare/v1.43.0...v1.44.0) (2021-05-01)
6
15
 
7
16
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nonnative (1.44.0)
4
+ nonnative (1.45.0)
5
5
  concurrent-ruby (~> 1.0, >= 1.0.5)
6
6
  cucumber (>= 6, < 7)
7
7
  grpc (>= 1, < 2)
@@ -15,7 +15,7 @@ PATH
15
15
  GEM
16
16
  remote: https://rubygems.org/
17
17
  specs:
18
- activesupport (6.1.3.1)
18
+ activesupport (6.1.3.2)
19
19
  concurrent-ruby (~> 1.0, >= 1.0.2)
20
20
  i18n (>= 1.6, < 2)
21
21
  minitest (>= 5.1)
@@ -73,7 +73,7 @@ GEM
73
73
  unf (>= 0.0.5, < 1.0.0)
74
74
  e2mmap (0.1.0)
75
75
  ffi (1.15.0)
76
- google-protobuf (3.15.8)
76
+ google-protobuf (3.16.0)
77
77
  googleapis-common-protos-types (1.0.6)
78
78
  google-protobuf (~> 3.14)
79
79
  grpc (1.37.1)
@@ -106,14 +106,14 @@ GEM
106
106
  mini_portile2 (~> 2.5.0)
107
107
  racc (~> 1.4)
108
108
  parallel (1.20.1)
109
- parser (3.0.1.0)
109
+ parser (3.0.1.1)
110
110
  ast (~> 2.4.1)
111
111
  protobuf-cucumber (3.10.8)
112
112
  activesupport (>= 3.2)
113
113
  middleware
114
114
  thor
115
115
  thread_safe
116
- puma (5.2.2)
116
+ puma (5.3.0)
117
117
  nio4r (~> 2.0)
118
118
  racc (1.5.2)
119
119
  rack (2.2.3)
@@ -147,17 +147,17 @@ GEM
147
147
  diff-lcs (>= 1.2.0, < 2.0)
148
148
  rspec-support (~> 3.10.0)
149
149
  rspec-support (3.10.2)
150
- rubocop (1.13.0)
150
+ rubocop (1.14.0)
151
151
  parallel (~> 1.10)
152
152
  parser (>= 3.0.0.0)
153
153
  rainbow (>= 2.2.2, < 4.0)
154
154
  regexp_parser (>= 1.8, < 3.0)
155
155
  rexml
156
- rubocop-ast (>= 1.2.0, < 2.0)
156
+ rubocop-ast (>= 1.5.0, < 2.0)
157
157
  ruby-progressbar (~> 1.7)
158
158
  unicode-display_width (>= 1.4.0, < 3.0)
159
- rubocop-ast (1.4.1)
160
- parser (>= 2.7.1.5)
159
+ rubocop-ast (1.5.0)
160
+ parser (>= 3.0.1.1)
161
161
  ruby-progressbar (1.11.0)
162
162
  ruby2_keywords (0.0.4)
163
163
  simplecov (0.16.1)
@@ -210,7 +210,7 @@ DEPENDENCIES
210
210
  bundler (~> 2.1, >= 2.1.4)
211
211
  coveralls (~> 0.8.23)
212
212
  nonnative!
213
- rubocop (~> 1.12)
213
+ rubocop (~> 1.14)
214
214
  solargraph (~> 0.40.4)
215
215
 
216
216
  BUNDLED WITH
data/README.md CHANGED
@@ -172,13 +172,13 @@ strategy: startup
172
172
  servers:
173
173
  -
174
174
  name: server_1
175
- klass: Nonnative::EchoServer
175
+ class: Nonnative::EchoServer
176
176
  timeout: 1
177
177
  port: 12323
178
178
  log: features/logs/server_1.log
179
179
  -
180
180
  name: server_2
181
- klass: Nonnative::EchoServer
181
+ class: Nonnative::EchoServer
182
182
  timeout: 1
183
183
  port: 12324
184
184
  log: features/logs/server_2.log
@@ -244,7 +244,7 @@ strategy: startup
244
244
  servers:
245
245
  -
246
246
  name: http_server_1
247
- klass: Nonnative::Features::HTTPServer
247
+ class: Nonnative::Features::HTTPServer
248
248
  timeout: 1
249
249
  port: 4567
250
250
  log: features/logs/http_server_1.log
@@ -306,7 +306,7 @@ strategy: startup
306
306
  servers:
307
307
  -
308
308
  name: grpc_server_1
309
- klass: Nonnative::Features::GRPCServer
309
+ class: Nonnative::Features::GRPCServer
310
310
  timeout: 1
311
311
  port: 9002
312
312
  log: features/logs/grpc_server_1.log
@@ -561,16 +561,10 @@ To get this to work you will need to create a `main_test.go` file with these con
561
561
 
562
562
  package main
563
563
 
564
- import (
565
- "testing"
566
-
567
- "github.com/your_location/cmd"
568
- )
564
+ import "testing"
569
565
 
570
566
  func TestFeatures(t *testing.T) {
571
- if err := cmd.Execute(); err != nil {
572
- t.Fatal(err.Error())
573
- }
567
+ main()
574
568
  }
575
569
  ```
576
570
 
@@ -580,8 +574,27 @@ Then to compile this binary you will need to do the following:
580
574
  go test -mod vendor -c -tags features -covermode=count -o your_binary -coverpkg=./... github.com/your_location
581
575
  ```
582
576
 
583
- Then to get an executable you do the following:
577
+ Setup it up programmatically:
584
578
 
585
579
  ```ruby
586
580
  Nonnative.go_executable('reports', 'your_binary', 'sub_command', '--config config.yaml')
587
581
  ```
582
+
583
+ Setup it up through configuration:
584
+
585
+ ```yaml
586
+ version: 1.0
587
+ strategy: startup
588
+ processes:
589
+ -
590
+ name: go
591
+ go:
592
+ output: reports
593
+ executable: your_binary
594
+ command: sub_command
595
+ parameters:
596
+ - --config config.yaml
597
+ timeout: 5
598
+ port: 8000
599
+ log: features/logs/go.log
600
+ ```
data/lib/nonnative.rb CHANGED
@@ -52,6 +52,10 @@ module Nonnative
52
52
  class << self
53
53
  attr_reader :pool
54
54
 
55
+ def log_lines(path, predicate)
56
+ File.readlines(path).select { |l| predicate.call(l) }
57
+ end
58
+
55
59
  def go_executable(output, exec, cmd, *params)
56
60
  Nonnative::GoCommand.new(exec, output).executable(cmd, params)
57
61
  end
@@ -22,7 +22,7 @@ module Nonnative
22
22
  processes.each do |fd|
23
23
  config.process do |d|
24
24
  d.name = fd['name']
25
- d.command = fd['command']
25
+ d.command = command(fd)
26
26
  d.timeout = fd['timeout']
27
27
  d.port = fd['port']
28
28
  d.log = fd['log']
@@ -33,12 +33,21 @@ module Nonnative
33
33
  end
34
34
  end
35
35
 
36
+ def command(process)
37
+ go = process['go']
38
+ if go
39
+ Nonnative.go_executable(go['output'], go['executable'], go['command'], *go['parameters'])
40
+ else
41
+ process['command']
42
+ end
43
+ end
44
+
36
45
  def servers(file, config)
37
46
  servers = file['servers'] || []
38
47
  servers.each do |fd|
39
48
  config.server do |s|
40
49
  s.name = fd['name']
41
- s.klass = Object.const_get(fd['klass'])
50
+ s.klass = Object.const_get(fd['class'])
42
51
  s.timeout = fd['timeout']
43
52
  s.port = fd['port']
44
53
  s.log = fd['log']
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nonnative
4
- VERSION = '1.44.0'
4
+ VERSION = '1.45.0'
5
5
  end
data/nonnative.gemspec CHANGED
@@ -8,7 +8,7 @@ require 'nonnative/version'
8
8
  Gem::Specification.new do |spec|
9
9
  spec.name = 'nonnative'
10
10
  spec.version = Nonnative::VERSION
11
- spec.authors = ['Alex Falkowski']
11
+ spec.authors = ['Alejandro Falkowski']
12
12
  spec.email = ['alexrfalkowski@gmail.com']
13
13
 
14
14
  spec.summary = 'Allows you to keep using the power of ruby to test other systems'
@@ -35,6 +35,6 @@ Gem::Specification.new do |spec|
35
35
 
36
36
  spec.add_development_dependency 'bundler', '~> 2.1', '>= 2.1.4'
37
37
  spec.add_development_dependency 'coveralls', '~> 0.8.23'
38
- spec.add_development_dependency 'rubocop', '~> 1.12'
38
+ spec.add_development_dependency 'rubocop', '~> 1.14'
39
39
  spec.add_development_dependency 'solargraph', '~> 0.40.4'
40
40
  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.44.0
4
+ version: 1.45.0
5
5
  platform: ruby
6
6
  authors:
7
- - Alex Falkowski
7
+ - Alejandro Falkowski
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-05-01 00:00:00.000000000 Z
11
+ date: 2021-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -212,14 +212,14 @@ dependencies:
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: '1.12'
215
+ version: '1.14'
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: '1.12'
222
+ version: '1.14'
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: solargraph
225
225
  requirement: !ruby/object:Gem::Requirement