fluidfeatures 0.4.1 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,28 @@
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # Require this file using `require "spec_helper"` to ensure that it is only
4
+ # loaded once.
5
+ #
6
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
+
8
+ require 'vcr'
9
+ require 'fluidfeatures'
10
+
11
+ Dir["./spec/support/**/*.rb"].sort.each {|f| require f}
12
+
13
+ VCR.configure do |c|
14
+ c.cassette_library_dir = 'spec/cassettes'
15
+ c.hook_into :fakeweb
16
+ c.default_cassette_options = { :record => :new_episodes }
17
+ end
18
+
19
+ RSpec.configure do |config|
20
+ config.treat_symbols_as_metadata_keys_with_true_values = true
21
+ config.run_all_when_everything_filtered = true
22
+ config.filter_run :focus
23
+
24
+ config.order = 'random'
25
+
26
+ config.extend VCR::RSpec::Macros
27
+ config.include FluidFeatures::ApiHelpers
28
+ end
@@ -0,0 +1,27 @@
1
+ module FluidFeatures
2
+ module ApiHelpers
3
+ def api_credentials
4
+ [ ENV["FLUIDFEATURES_BASEURI"], ENV["FLUIDFEATURES_APPID"], ENV["FLUIDFEATURES_SECRET"] ]
5
+ end
6
+
7
+ def app
8
+ @app ||= FluidFeatures.app(*api_credentials.push( Logger.new("/dev/null") ))
9
+ end
10
+
11
+ def transaction
12
+ @transaction ||= app.user_transaction(nil, 'http://example.com', nil, true, [], [])
13
+ end
14
+ attr_writer :transaction
15
+
16
+ def commit(transaction)
17
+ transaction.end_transaction
18
+ @transaction = transaction = nil
19
+ #Thread.list.map &:join
20
+ end
21
+
22
+ #time to sleep waiting for thread
23
+ def abit
24
+ VCR.turned_on? ? 0 : 1.5
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,42 @@
1
+ shared_examples "polling loop" do |payload_method|
2
+
3
+ let(:app) { mock "FluidFeatures::App" }
4
+
5
+ before(:each) do
6
+ app.stub!(:is_a?).and_return(false)
7
+ app.stub!(:is_a?).with(FluidFeatures::App).and_return(true)
8
+ end
9
+
10
+ context "initialization" do
11
+
12
+ before(:each) do
13
+ described_class.any_instance.stub(:configure)
14
+ described_class.any_instance.stub(:run_loop)
15
+ end
16
+
17
+ it "should log error if no valid app passed" do
18
+ expect { described_class.new(nil) }.to raise_error(/app invalid/)
19
+ end
20
+
21
+ it "should configure instance variables" do
22
+ described_class.any_instance.should_receive(:configure).with(app)
23
+ described_class.new(app)
24
+ end
25
+
26
+ it "should call #run_loop" do
27
+ described_class.any_instance.should_receive(:run_loop)
28
+ described_class.new(app)
29
+ end
30
+ end
31
+
32
+ it "#run_loop should call payload method" do
33
+ described_class.any_instance.should_receive(payload_method)
34
+ described_class.new(app)
35
+ sleep 0.15
36
+ end
37
+
38
+ it "should initialize @app" do
39
+ described_class.new(app).app.should == app
40
+ end
41
+
42
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluidfeatures
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-13 00:00:00.000000000 Z
12
+ date: 2012-12-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: persistent_http
@@ -43,6 +43,102 @@ dependencies:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
45
  version: 2.3.5
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 10.0.2
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 10.0.2
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 2.12.0
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 2.12.0
78
+ - !ruby/object:Gem::Dependency
79
+ name: guard-rspec
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 2.2.1
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 2.2.1
94
+ - !ruby/object:Gem::Dependency
95
+ name: rb-inotify
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: 0.8.8
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 0.8.8
110
+ - !ruby/object:Gem::Dependency
111
+ name: vcr
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 2.3.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 2.3.0
126
+ - !ruby/object:Gem::Dependency
127
+ name: fakeweb
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 1.3.0
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 1.3.0
46
142
  description: Ruby client for the FluidFeatures service.
47
143
  email:
48
144
  - phil@fluidfeatures.com
@@ -51,9 +147,13 @@ extensions: []
51
147
  extra_rdoc_files: []
52
148
  files:
53
149
  - .gitignore
150
+ - .rvmrc
151
+ - .travis.yml
54
152
  - Gemfile
153
+ - Guardfile
55
154
  - LICENSE
56
155
  - README.md
156
+ - Rakefile
57
157
  - fluidfeatures.gemspec
58
158
  - lib/fluidfeatures.rb
59
159
  - lib/fluidfeatures/app.rb
@@ -66,6 +166,18 @@ files:
66
166
  - lib/fluidfeatures/const.rb
67
167
  - lib/fluidfeatures/version.rb
68
168
  - lib/pre_ruby192/uri.rb
169
+ - spec/app/feature_spec.rb
170
+ - spec/app/reporter_spec.rb
171
+ - spec/app/state_spec.rb
172
+ - spec/app/transaction_spec.rb
173
+ - spec/app/user_spec.rb
174
+ - spec/app_spec.rb
175
+ - spec/cassettes/feature.yml
176
+ - spec/cassettes/goal.yml
177
+ - spec/fluidfeatures_spec.rb
178
+ - spec/spec_helper.rb
179
+ - spec/support/api_helpers.rb
180
+ - spec/support/polling_loop_shared_examples.rb
69
181
  homepage: https://github.com/FluidFeatures/fluidfeatures-ruby
70
182
  licenses: []
71
183
  post_install_message: