flu_shot 0.2.0 → 0.3.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: d252d5c120bc8b41e6f80b754e2d08727250075f76ef3dca4815f5681d7dcfbd
4
- data.tar.gz: 0b1f124319d00aa3f4f3c01ed9c068620c231f8b91f12f70a7938d1dfefe7f43
3
+ metadata.gz: 92dc8c66c089288acb1fa1047c6aa3cabf63dfc65435bfb360cc340963898b5e
4
+ data.tar.gz: 2e752359f28d198afbfbf6d260bd7d16d1ee98932048d2aacc567b4d922ce098
5
5
  SHA512:
6
- metadata.gz: e1f13c53db4a9ea6f28e0f90aa9bcb40091d53120e454254ac034f0bdd14162aaf378ff22707840b22a9885f46ca3ea3ce1baa9acc0521aab0f58ef72af29cdb
7
- data.tar.gz: c1087095009ae80804ffedcf1a811adc31c177e915acb655b3578cf746341c9d1efc1986f48a057ae97af39f949089690319363e606bb574853512a93f6949c8
6
+ metadata.gz: 6653c0206835101d9715a12487263cd89bef5cd89f5d44952781b481d93114934c22fa431747ebfc15433b6928d8bb035438fd781a2ba12872fca01d60ef78ec
7
+ data.tar.gz: 04a071463e16bf0d02afab4beae520ea322207ae5befb0c98afb6affee46557b67151b18dc0299b49f86d2e49f2bf114bb4d9d1cf805d9593a1839ccf9cb337f
@@ -1,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- flu_shot (0.1.0)
4
+ flu_shot (0.2.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
9
  minitest (5.14.0)
10
10
  mocha (1.11.2)
11
- rake (10.5.0)
11
+ rake (13.0.1)
12
12
  redis (4.1.3)
13
13
 
14
14
  PLATFORMS
@@ -19,7 +19,7 @@ DEPENDENCIES
19
19
  flu_shot!
20
20
  minitest (~> 5.0)
21
21
  mocha (~> 1.11.0)
22
- rake (~> 10.0)
22
+ rake
23
23
  redis (~> 4.1.0)
24
24
 
25
25
  BUNDLED WITH
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # FluShot
1
+ <img align='right' height='150px' src="https://raw.githubusercontent.com/Nucc/flu_shot/assets/logo.png"/>
2
2
 
3
- <img style="float: right;" src="https://raw.githubusercontent.com/Nucc/flu_shot/assets/logo.png"/>
3
+ # FluShot
4
4
 
5
5
  FluShot is a Chaos Testing tool for Ruby applications. It can inject unexpected behaviors into your system, like adding extra latency to a network request, simulating infinite loops, raising exceptions.
6
6
 
@@ -13,9 +13,10 @@ First we specify the area where the flu shot needs to be injected:
13
13
  ```
14
14
  class UserController < ApplicationController
15
15
  def show
16
- FluShot.inject(:user_controller_show) do
17
- User.find(params[:user_id])
18
- end
16
+ # Inject some harmful code, the behaviour is specified in the prespcription definition later.
17
+ FluShot.inject(:user_controller_show)
18
+
19
+ User.find(params[:user_id])
19
20
  end
20
21
  end
21
22
  ```
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
37
37
  spec.require_paths = ["lib"]
38
38
 
39
39
  spec.add_development_dependency "bundler", "~> 1.17"
40
- spec.add_development_dependency "rake", "~> 10.0"
40
+ spec.add_development_dependency "rake"
41
41
  spec.add_development_dependency "minitest", "~> 5.0"
42
42
  spec.add_development_dependency "mocha", "~> 1.11.0"
43
43
  spec.add_development_dependency "redis", "~> 4.1.0"
@@ -13,13 +13,13 @@ module FluShot
13
13
 
14
14
  class Error < StandardError; end
15
15
 
16
- def self.inject(name, &block)
16
+ def self.inject(name, params = {}, &block)
17
17
  if !before_filter.call
18
18
  return
19
19
  end
20
20
 
21
21
  Prescription.for(name).each do |prescription|
22
- Vaccine.find(prescription[:vaccine]).new(prescription[:params])
22
+ Vaccine.find(prescription[:vaccine]).new(prescription[:params].merge(params))
23
23
  end
24
24
 
25
25
  # @test
@@ -1,3 +1,3 @@
1
1
  module FluShot
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -6,10 +6,10 @@ describe :inject do
6
6
  label :injection_test_vaccine
7
7
 
8
8
  def initialize(*args)
9
- test
9
+ test(*args)
10
10
  end
11
11
 
12
- def test
12
+ def test(*args)
13
13
  end
14
14
  end
15
15
 
@@ -31,4 +31,13 @@ describe :inject do
31
31
  Rand123.any_instance.expects(:test).once
32
32
  FluShot.inject(:injection_name)
33
33
  end
34
+
35
+ it 'can receive local context variables' do
36
+ FluShot::Prescription.spec(:injection_name) do |p|
37
+ p.add(:injection_test_vaccine, {})
38
+ end
39
+
40
+ Rand123.any_instance.expects(:test).with(account: 'account_name').once
41
+ FluShot.inject(:injection_name, account: 'account_name')
42
+ end
34
43
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flu_shot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Laszlo Papp
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-22 00:00:00.000000000 Z
11
+ date: 2020-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement