toxiproxy 2.0.0 → 2.0.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/README.md +1 -1
- data/lib/toxiproxy/version.rb +1 -1
- data/lib/toxiproxy.rb +11 -0
- data/test/toxiproxy_test.rb +9 -0
- metadata +10 -70
- data/.github/probots.yml +0 -2
- data/.github/workflows/ci.yml +0 -19
- data/.gitignore +0 -4
- data/Gemfile +0 -3
- data/Rakefile +0 -12
- data/bin/start-toxiproxy.sh +0 -17
- data/shipit.rubygems.yml +0 -2
- data/toxiproxy.gemspec +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d135ce7e35507ad08017ae28db7f7543f9c0d0a29cd32042c9c61d072bee5eee
|
4
|
+
data.tar.gz: 8db56acdadcac8ac84b5b1be31a235cd7715422ff4cee1a36e3832eb983355f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: adee5993b439b3227b67ec4ca28fecdb8c7194d9b640e369df77f60a754d42bf20d758eaa8ca2a11a553451d7bd63654d14b0a03781fcc07751a5f5e947d524b
|
7
|
+
data.tar.gz: 1d69a13027507acc7791ac0904e70b1a02bd6f5bd4bad55e2724b6cc6e0d9f19e0e949c05d49f5ef7313e80193cfe898c3b2950c5124c41277412254b5895144
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# toxiproxy-ruby
|
2
2
|
|
3
|
-
`toxiproxy-ruby`
|
3
|
+
`toxiproxy-ruby` `>= 1.x` is compatible with the Toxiproxy `2.x` series.
|
4
4
|
`toxiproxy-ruby` `0.x` is compatible with the Toxiproxy `1.x` series.
|
5
5
|
|
6
6
|
[Toxiproxy](https://github.com/shopify/toxiproxy) is a proxy to simulate network
|
data/lib/toxiproxy/version.rb
CHANGED
data/lib/toxiproxy.rb
CHANGED
@@ -68,6 +68,8 @@ class Toxiproxy
|
|
68
68
|
# Sets the toxiproxy host to use.
|
69
69
|
def self.host=(host)
|
70
70
|
@uri = host.is_a?(::URI) ? host : ::URI.parse(host)
|
71
|
+
reset_http_client!
|
72
|
+
@uri
|
71
73
|
end
|
72
74
|
|
73
75
|
# Convenience method to create a proxy.
|
@@ -223,6 +225,15 @@ class Toxiproxy
|
|
223
225
|
}
|
224
226
|
end
|
225
227
|
|
228
|
+
def self.reset_http_client!
|
229
|
+
if defined? @http
|
230
|
+
@http.finish() if @http && @http.started?
|
231
|
+
@http = nil
|
232
|
+
end
|
233
|
+
|
234
|
+
@http
|
235
|
+
end
|
236
|
+
|
226
237
|
private
|
227
238
|
|
228
239
|
def self.http_request(request)
|
data/test/toxiproxy_test.rb
CHANGED
@@ -453,6 +453,15 @@ class ToxiproxyTest < MiniTest::Unit::TestCase
|
|
453
453
|
end
|
454
454
|
end
|
455
455
|
|
456
|
+
def test_invalidate_cache_http_on_host
|
457
|
+
old_value = Toxiproxy.uri
|
458
|
+
assert_equal 8474, Toxiproxy.http.port
|
459
|
+
Toxiproxy.host = "http://127.0.0.1:8475"
|
460
|
+
assert_equal 8475, Toxiproxy.http.port
|
461
|
+
ensure
|
462
|
+
Toxiproxy.host = old_value
|
463
|
+
end
|
464
|
+
|
456
465
|
private
|
457
466
|
|
458
467
|
def with_webmock_enabled
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toxiproxy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simon Eskildsen
|
@@ -9,91 +9,29 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
13
|
-
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: bundler
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
requirements:
|
18
|
-
- - ">="
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: '0'
|
21
|
-
type: :development
|
22
|
-
prerelease: false
|
23
|
-
version_requirements: !ruby/object:Gem::Requirement
|
24
|
-
requirements:
|
25
|
-
- - ">="
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
version: '0'
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: minitest
|
30
|
-
requirement: !ruby/object:Gem::Requirement
|
31
|
-
requirements:
|
32
|
-
- - ">="
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: '0'
|
35
|
-
type: :development
|
36
|
-
prerelease: false
|
37
|
-
version_requirements: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - ">="
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: '0'
|
42
|
-
- !ruby/object:Gem::Dependency
|
43
|
-
name: rake
|
44
|
-
requirement: !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
46
|
-
- - ">="
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version: '0'
|
49
|
-
type: :development
|
50
|
-
prerelease: false
|
51
|
-
version_requirements: !ruby/object:Gem::Requirement
|
52
|
-
requirements:
|
53
|
-
- - ">="
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: '0'
|
56
|
-
- !ruby/object:Gem::Dependency
|
57
|
-
name: webmock
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
59
|
-
requirements:
|
60
|
-
- - ">="
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: '0'
|
63
|
-
type: :development
|
64
|
-
prerelease: false
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - ">="
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
12
|
+
date: 2022-03-15 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
70
14
|
description: A Ruby library for controlling Toxiproxy. Can be used in resiliency testing.
|
71
|
-
email:
|
15
|
+
email: opensource@shopify.com
|
72
16
|
executables: []
|
73
17
|
extensions: []
|
74
18
|
extra_rdoc_files: []
|
75
19
|
files:
|
76
|
-
- ".github/probots.yml"
|
77
|
-
- ".github/workflows/ci.yml"
|
78
|
-
- ".gitignore"
|
79
|
-
- Gemfile
|
80
20
|
- LICENSE
|
81
21
|
- README.md
|
82
|
-
- Rakefile
|
83
|
-
- bin/start-toxiproxy.sh
|
84
22
|
- lib/toxiproxy.rb
|
85
23
|
- lib/toxiproxy/proxy_collection.rb
|
86
24
|
- lib/toxiproxy/toxic.rb
|
87
25
|
- lib/toxiproxy/toxic_collection.rb
|
88
26
|
- lib/toxiproxy/version.rb
|
89
|
-
- shipit.rubygems.yml
|
90
27
|
- test/test_helper.rb
|
91
28
|
- test/toxiproxy_test.rb
|
92
|
-
- toxiproxy.gemspec
|
93
29
|
homepage: https://github.com/Shopify/toxiproxy
|
94
30
|
licenses:
|
95
31
|
- MIT
|
96
32
|
metadata:
|
33
|
+
homepage_uri: https://github.com/Shopify/toxiproxy
|
34
|
+
documentation_uri: https://github.com/Shopify/toxiproxy-ruby
|
97
35
|
allowed_push_host: https://rubygems.org
|
98
36
|
post_install_message:
|
99
37
|
rdoc_options: []
|
@@ -110,8 +48,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
48
|
- !ruby/object:Gem::Version
|
111
49
|
version: '0'
|
112
50
|
requirements: []
|
113
|
-
rubygems_version: 3.
|
51
|
+
rubygems_version: 3.2.20
|
114
52
|
signing_key:
|
115
53
|
specification_version: 4
|
116
54
|
summary: Ruby library for Toxiproxy
|
117
|
-
test_files:
|
55
|
+
test_files:
|
56
|
+
- test/test_helper.rb
|
57
|
+
- test/toxiproxy_test.rb
|
data/.github/probots.yml
DELETED
data/.github/workflows/ci.yml
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
name: Run tests
|
2
|
-
on: [push]
|
3
|
-
jobs:
|
4
|
-
test:
|
5
|
-
runs-on: ubuntu-latest
|
6
|
-
strategy:
|
7
|
-
matrix:
|
8
|
-
ruby: [ '2.5', '2.6', '2.7' ]
|
9
|
-
name: Ruby ${{ matrix.ruby }}
|
10
|
-
steps:
|
11
|
-
- uses: actions/checkout@v2
|
12
|
-
- uses: ruby/setup-ruby@v1
|
13
|
-
with:
|
14
|
-
ruby-version: ${{ matrix.ruby }}
|
15
|
-
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
16
|
-
- name: Install and start toxiproxy
|
17
|
-
run: ./bin/start-toxiproxy.sh
|
18
|
-
- name: Run tests
|
19
|
-
run: bundle exec rake test
|
data/.gitignore
DELETED
data/Gemfile
DELETED
data/Rakefile
DELETED
data/bin/start-toxiproxy.sh
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
#!/bin/bash -e
|
2
|
-
|
3
|
-
VERSION='v2.1.0'
|
4
|
-
TOXIPROXY_LOG_DIR=${CIRCLE_ARTIFACTS:-'/tmp'}
|
5
|
-
|
6
|
-
if [[ "$OSTYPE" == "linux"* ]]; then
|
7
|
-
DOWNLOAD_TYPE="linux-amd64"
|
8
|
-
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
9
|
-
DOWNLOAD_TYPE="darwin-amd64"
|
10
|
-
fi
|
11
|
-
|
12
|
-
echo "[dowload toxiproxy for $DOWNLOAD_TYPE]"
|
13
|
-
curl --silent -L https://github.com/Shopify/toxiproxy/releases/download/$VERSION/toxiproxy-server-$DOWNLOAD_TYPE -o ./bin/toxiproxy-server
|
14
|
-
|
15
|
-
echo "[start toxiproxy]"
|
16
|
-
chmod +x ./bin/toxiproxy-server
|
17
|
-
nohup bash -c "./bin/toxiproxy-server > ${TOXIPROXY_LOG_DIR}/toxiproxy.log 2>&1 &"
|
data/shipit.rubygems.yml
DELETED
data/toxiproxy.gemspec
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require File.expand_path("../lib/toxiproxy/version", __FILE__)
|
2
|
-
|
3
|
-
Gem::Specification.new do |spec|
|
4
|
-
spec.name = "toxiproxy"
|
5
|
-
spec.version = Toxiproxy::VERSION
|
6
|
-
spec.authors = ["Simon Eskildsen", "Jacob Wirth"]
|
7
|
-
spec.email = "simon.eskildsen@shopify.com"
|
8
|
-
spec.summary = "Ruby library for Toxiproxy"
|
9
|
-
spec.description = "A Ruby library for controlling Toxiproxy. Can be used in resiliency testing."
|
10
|
-
spec.homepage = "https://github.com/Shopify/toxiproxy"
|
11
|
-
spec.license = "MIT"
|
12
|
-
|
13
|
-
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
14
|
-
|
15
|
-
spec.files = `git ls-files`.split("\n")
|
16
|
-
spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
|
-
spec.require_paths = ["lib"]
|
18
|
-
|
19
|
-
spec.add_development_dependency "bundler"
|
20
|
-
spec.add_development_dependency "minitest"
|
21
|
-
spec.add_development_dependency "rake"
|
22
|
-
spec.add_development_dependency "webmock"
|
23
|
-
end
|