alephant-broker 0.0.2 → 0.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1c7eb9d93af6eb83061d4cba25206c4bd7aeb391
4
- data.tar.gz: a8acd8e9e369fe2c00deedf2ede6fe3fa513842b
3
+ metadata.gz: 62ea8a88fdcc92e2e8d8cacf3b7b35e4dc3077d0
4
+ data.tar.gz: e58c67bdb11c2b4028bb897337f795ca13e9a48f
5
5
  SHA512:
6
- metadata.gz: f499be32c43b244351fe3e1d56aec13f71cc9ad3d4efacbc0bdeb677689f62070dc6345bd5972193a597859985fec5e3c50734e67a92222ab1116f065ab1f66b
7
- data.tar.gz: 92d32d8eb5e3a5a2123fb7dc80b4ff45d4724548c78055ba704eb11df2201ad0d7dd448fdd282981d77d879ade9ee4fafb066f1254556ded486299af1c83c11f
6
+ metadata.gz: f4a00e454e3dd9ea1b6ca4bfd8c62e99df6791891c30873153a1546254e29c679e4145751cb7371f46da59f317c583f5a35231650d954fb863b97d7a6dcbef99
7
+ data.tar.gz: 2dbbb0dbdd399039794d5e72f120d1901087506e544384ada28c627422e7e2639dc1eee9b507e68925e06e82d0ffa8fba5b6db05eaa5f3f32f44cd49492bb8e0
data/.gitignore CHANGED
@@ -4,4 +4,3 @@ Gemfile.lock
4
4
  *.gem
5
5
 
6
6
  /pkg
7
- .ruby-version
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ jruby-1.7.9
data/.travis.yml ADDED
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ rvm:
3
+ - "jruby"
4
+ notifications:
5
+ email:
6
+ recipients:
7
+ - kenoir@gmail.com
8
+ on_failure: change
9
+ on_success: never
data/Rakefile CHANGED
@@ -1,3 +1,9 @@
1
- $: << File.join(File.dirname(__FILE__),"..", "lib")
1
+ $:.unshift File.join(File.dirname(__FILE__), 'lib')
2
2
 
3
- require "bundler/gem_tasks"
3
+ require 'rspec/core/rake_task'
4
+ require 'bundler/gem_tasks'
5
+ require 'alephant/broker'
6
+
7
+ RSpec::Core::RakeTask.new(:spec)
8
+
9
+ task :default => :spec
@@ -28,7 +28,9 @@ Gem::Specification.new do |spec|
28
28
 
29
29
  spec.add_development_dependency "bundler", "~> 1.5"
30
30
  spec.add_development_dependency "rake"
31
+ spec.add_development_dependency "rack-test"
31
32
 
32
33
  spec.add_runtime_dependency "alephant-lookup"
33
34
  spec.add_runtime_dependency "alephant-cache"
35
+ spec.add_runtime_dependency 'alephant-logger'
34
36
  end
@@ -2,10 +2,13 @@ $: << File.dirname(__FILE__)
2
2
 
3
3
  require 'alephant/broker'
4
4
  require 'alephant/broker/models/request'
5
+ require 'alephant/logger'
5
6
 
6
7
  module Alephant
7
8
  module Broker
8
9
  class Application
10
+ include Logger
11
+
9
12
  def initialize(config)
10
13
  @config = config
11
14
  end
@@ -2,6 +2,10 @@ module Alephant
2
2
  module Broker
3
3
  class InvalidCacheKey < Exception
4
4
 
5
+ def initialize
6
+ super("Cache key not found based on component_id and options combination")
7
+ end
8
+
5
9
  end
6
10
  end
7
11
  end
@@ -1,8 +1,10 @@
1
- require 'cgi'
1
+ require 'alephant/logger'
2
2
 
3
3
  module Alephant
4
4
  module Broker
5
5
  class Request
6
+ include Logger
7
+
6
8
  attr_reader :type, :component_id, :options, :extension, :content_type
7
9
 
8
10
  DEFAULT_EXTENSION = :html
@@ -16,17 +18,20 @@ module Alephant
16
18
  request = request_components(path, querystring)
17
19
  case request[:type]
18
20
  when "component"
21
+ logger.info("Broker.request: Type: component, Asset ID: #{request[:component_id]}, Options: #{request[:options].inspect}")
19
22
  @type = :asset
20
23
 
21
24
  @component_id = request[:component_id]
22
25
  raise Errors::InvalidAssetId.new("No Asset ID specified") if @component_id.nil?
23
26
 
24
27
  @options = request[:options]
25
- @extension = request[:extension] || DEFAULT_EXTENSION
28
+ @extension = request[:extension]
26
29
  @content_type = @@extension_mapping[@extension.to_sym] || @@extension_mapping[DEFAULT_EXTENSION]
27
30
  when "status"
31
+ logger.info("Broker.request: Type: status")
28
32
  @type = :status
29
33
  else
34
+ logger.info("Broker.request: Type: notfound")
30
35
  @type = :notfound
31
36
  end
32
37
  end
@@ -35,10 +40,11 @@ module Alephant
35
40
 
36
41
  def request_components(path, query_string)
37
42
  request_parts = path.split('/')
43
+ extension = path.split('.')[1] ? path.split('.')[1].to_sym : DEFAULT_EXTENSION
38
44
  {
39
45
  :type => request_parts[1],
40
46
  :component_id => (request_parts[2] || '').split('.')[0],
41
- :extension => path.split('.')[1],
47
+ :extension => extension,
42
48
  :options => options_from(query_string)
43
49
  }
44
50
  end
@@ -4,6 +4,7 @@ require 'alephant/broker/models/response_factory'
4
4
  module Alephant
5
5
  module Broker
6
6
  class RequestHandler
7
+ include Logger
7
8
 
8
9
  def initialize(config)
9
10
  @response_factory = ResponseFactory.new(config)
@@ -13,6 +14,7 @@ module Alephant
13
14
  begin
14
15
  @response_factory.response_from(request)
15
16
  rescue Exception => e
17
+ logger.info("Broker.requestHandler.process: Exception raised (#{e.message})")
16
18
  @response_factory.response(500)
17
19
  end
18
20
  end
@@ -5,6 +5,7 @@ require 'alephant/broker/errors/invalid_cache_key'
5
5
  module Alephant
6
6
  module Broker
7
7
  class AssetResponse < Response
8
+ include Logger
8
9
 
9
10
  attr_reader :request
10
11
 
@@ -19,16 +20,22 @@ module Alephant
19
20
  begin
20
21
  self.content_type = request.content_type
21
22
  self.content = @cache.get cache_id
22
- rescue AWS::S3::Errors::NoSuchKey, InvalidCacheKey
23
- self.status = 404
23
+ rescue AWS::S3::Errors::NoSuchKey, InvalidCacheKey => e
24
+ set_error_for(e, 404)
24
25
  rescue Exception => e
25
- self.status = 500
26
+ set_error_for(e, 500)
26
27
  end
27
28
 
28
29
  end
29
30
 
30
31
  private
31
32
 
33
+ def set_error_for(exception, status)
34
+ logger.info("Broker.assetResponse.set_error_for: #{status} exception raised (#{exception.message})")
35
+ self.status = status
36
+ self.content = exception.message
37
+ end
38
+
32
39
  def cache_id
33
40
  @lookup.read(request.options).tap { |cache_id| raise InvalidCacheKey if cache_id.nil? }
34
41
  end
@@ -5,12 +5,11 @@ module Alephant
5
5
  module Broker
6
6
  class ResponseFactory
7
7
 
8
- def initialize(config)
8
+ def initialize(config = nil)
9
9
  @config = config
10
10
  end
11
11
 
12
12
  def response_from(request)
13
-
14
13
  case request.type
15
14
  when :asset
16
15
  AssetResponse.new(request, @config)
@@ -21,7 +20,6 @@ module Alephant
21
20
  when :error
22
21
  response(500)
23
22
  end
24
-
25
23
  end
26
24
 
27
25
  def response(status)
@@ -1,5 +1,5 @@
1
1
  module Alephant
2
2
  module Broker
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+
3
+ describe Alephant::Broker::AssetResponse do
4
+
5
+ describe "#initialize(request, config)" do
6
+ let(:config) { { :lookup_table_name => 'test_table', :bucket_id => 'test_bucket', :path => 'test_path' } }
7
+ let(:request) { double("Alephant::Broker::Request", :component_id => 'test', :content_type => 'text/html', :options => {:variant => 'test_variant'} ) }
8
+ let(:location) { 'test_location' }
9
+
10
+ before {
11
+ @lookup_table = double('Alephant::Lookup::LookupTable')
12
+ Alephant::Lookup.stub(:create).and_return(@lookup_table)
13
+ }
14
+
15
+ it "Should return the content from a successful cache lookup" do
16
+ allow(@lookup_table).to receive(:read).with(request.options).and_return(location)
17
+ Alephant::Cache.any_instance.stub(:initialize)
18
+ Alephant::Cache.any_instance.stub(:get).with(location).and_return('Test cache content')
19
+ instance = Alephant::Broker::AssetResponse.new(request, config)
20
+
21
+ expect(instance.content).to eq('Test cache content')
22
+ expect(instance.status).to eq(200)
23
+ end
24
+
25
+ it "should return a 404 if lookup can't find a valid location" do
26
+ allow(@lookup_table).to receive(:read).with(request.options).and_return(nil)
27
+ Alephant::Cache.any_instance.stub(:initialize)
28
+ instance = Alephant::Broker::AssetResponse.new(request, config)
29
+
30
+ expect(instance.content).to eq('Cache key not found based on component_id and options combination')
31
+ expect(instance.status).to eq(404)
32
+ end
33
+
34
+ it "should return a 500 for any other exceptions" do
35
+ allow(@lookup_table).to receive(:read).with(request.options).and_raise(Exception)
36
+ instance = Alephant::Broker::AssetResponse.new(request, config)
37
+
38
+ expect(instance.status).to eq(500)
39
+
40
+ end
41
+
42
+ end
43
+
44
+ end
45
+
46
+
data/spec/rack_spec.rb ADDED
@@ -0,0 +1,72 @@
1
+ ENV['RACK_ENV'] = 'test'
2
+
3
+ require 'rack/test'
4
+ require 'alephant/broker/app/rack'
5
+
6
+ RSpec.configure do |conf|
7
+ conf.include Rack::Test::Methods
8
+ end
9
+
10
+ describe 'Broker rack app tests' do
11
+
12
+ before {
13
+ @lookup_table = double('Alephant::Lookup::LookupTable')
14
+ Alephant::Lookup.stub(:create).and_return(@lookup_table)
15
+
16
+ Alephant::Cache.any_instance.stub(:initialize)
17
+ Alephant::Cache.any_instance.stub(:get).and_return('Test response')
18
+ }
19
+
20
+ def app
21
+ Alephant::Broker::RackApplication.new({
22
+ :lookup_table_name => 'test_table',
23
+ :bucket_id => 'test_bucket',
24
+ :path => 'bucket_path'
25
+ })
26
+ end
27
+
28
+ it "Tests status page" do
29
+ get '/status'
30
+ expect(last_response).to be_ok
31
+ expect(last_response.body).to eq('ok')
32
+ end
33
+
34
+ it "Tests not found page" do
35
+ get '/some/non-existent-page'
36
+ expect(last_response.status).to eq(404)
37
+ expect(last_response.body).to eq('Not found')
38
+ end
39
+
40
+ it "Test asset data is returned" do
41
+ allow(@lookup_table).to receive(:read).and_return('some_location')
42
+
43
+ get '/component/test_component'
44
+ expect(last_response).to be_ok
45
+ expect(last_response.body).to eq('Test response')
46
+ end
47
+
48
+ it "Tests query string parameters are passed correctly to lookup" do
49
+ variant = {:variant => 'test_variant'}
50
+ allow(@lookup_table).to receive(:read).with(variant).and_return('some_location')
51
+
52
+ get '/component/test_component?variant=test_variant'
53
+ expect(last_response).to be_ok
54
+ expect(last_response.body).to eq('Test response')
55
+ end
56
+
57
+ it "Tests 404 when lookup doesn't return a valid location" do
58
+ allow(@lookup_table).to receive(:read).and_return(nil)
59
+
60
+ get '/component/test_component'
61
+ expect(last_response.status).to eq(404)
62
+
63
+ end
64
+
65
+ it "Tests 500 when exception is raised in application" do
66
+ allow(@lookup_table).to receive(:read).and_raise(Exception)
67
+
68
+ get '/component/test_component'
69
+ expect(last_response.status).to eq(500)
70
+ end
71
+
72
+ end
@@ -0,0 +1,51 @@
1
+ require 'spec_helper'
2
+
3
+ describe Alephant::Broker::Request do
4
+
5
+ describe "#initialize(path, querystring)" do
6
+ let(:component_id) { 'foo' }
7
+ let(:querystring) { 'variant=test' }
8
+
9
+
10
+ it "Sets the component id" do
11
+
12
+ instance = Alephant::Broker::Request.new("/component/#{component_id}", '')
13
+ expect(instance.component_id).to eq(component_id)
14
+ end
15
+
16
+ it "Sets the request type to asset" do
17
+
18
+ instance = Alephant::Broker::Request.new("/component/#{component_id}", '')
19
+ expect(instance.type).to eq(:asset)
20
+ expect(instance.options).to eq({})
21
+ end
22
+
23
+ it "Sets the request type to asset with parsed options" do
24
+ instance = Alephant::Broker::Request.new("/component/#{component_id}", querystring)
25
+ expect(instance.type).to eq(:asset)
26
+ expect(instance.options).to eq({ :variant => 'test' })
27
+
28
+ end
29
+
30
+ it "Sets the request type to status" do
31
+ instance = Alephant::Broker::Request.new("/status", '')
32
+ expect(instance.type).to eq(:status)
33
+ end
34
+
35
+ it "Sets the default extension" do
36
+ instance = Alephant::Broker::Request.new("/component/blah", '')
37
+ expect(instance.extension).to eq(:html)
38
+ end
39
+
40
+ it "Sets the extension from the path" do
41
+ instance = Alephant::Broker::Request.new("/component/blah.json", '')
42
+ expect(instance.extension).to eq(:json)
43
+ end
44
+
45
+ it "Sets the content type to default if the extension does not exist" do
46
+ instance = Alephant::Broker::Request.new("/component/blah.test", '')
47
+ expect(instance.content_type).to eq('text/html')
48
+ end
49
+
50
+ end
51
+ end
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+
3
+ describe Alephant::Broker::ResponseFactory do
4
+
5
+ describe "#response_from(request)" do
6
+ let (:request) { double("Alephant::Broker::Request") }
7
+
8
+ it "should return as asset response" do
9
+ instance = Alephant::Broker::ResponseFactory.new({})
10
+ allow(request).to receive(:type).and_return(:asset)
11
+
12
+ Alephant::Broker::AssetResponse.any_instance.stub(:initialize).with(request, {})
13
+ expect(instance.response_from(request)).to be_a Alephant::Broker::AssetResponse
14
+ end
15
+
16
+ it "should return a status response" do
17
+ allow(request).to receive(:type).and_return(:status)
18
+ response = subject.response_from(request)
19
+ expect(response.status).to eq(200)
20
+ end
21
+
22
+ it "should return a 404 response" do
23
+ allow(request).to receive(:type).and_return(:notfound)
24
+ response = subject.response_from(request)
25
+ expect(response.status).to eq(404)
26
+ end
27
+
28
+ it "should return a 500 response" do
29
+ allow(request).to receive(:type).and_return(:error)
30
+ response = subject.response_from(request)
31
+ expect(response.status).to eq(500)
32
+ end
33
+
34
+ end
35
+ end
metadata CHANGED
@@ -1,169 +1,197 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alephant-broker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Jack
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-20 00:00:00.000000000 Z
11
+ date: 2014-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
15
+ version_requirements: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
15
20
  requirement: !ruby/object:Gem::Requirement
16
21
  requirements:
17
22
  - - '>='
18
23
  - !ruby/object:Gem::Version
19
24
  version: '0'
20
- type: :development
21
25
  prerelease: false
26
+ type: :development
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec-nc
22
29
  version_requirements: !ruby/object:Gem::Requirement
23
30
  requirements:
24
31
  - - '>='
25
32
  - !ruby/object:Gem::Version
26
33
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: rspec-nc
29
34
  requirement: !ruby/object:Gem::Requirement
30
35
  requirements:
31
36
  - - '>='
32
37
  - !ruby/object:Gem::Version
33
38
  version: '0'
34
- type: :development
35
39
  prerelease: false
40
+ type: :development
41
+ - !ruby/object:Gem::Dependency
42
+ name: guard
36
43
  version_requirements: !ruby/object:Gem::Requirement
37
44
  requirements:
38
45
  - - '>='
39
46
  - !ruby/object:Gem::Version
40
47
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: guard
43
48
  requirement: !ruby/object:Gem::Requirement
44
49
  requirements:
45
50
  - - '>='
46
51
  - !ruby/object:Gem::Version
47
52
  version: '0'
48
- type: :development
49
53
  prerelease: false
54
+ type: :development
55
+ - !ruby/object:Gem::Dependency
56
+ name: guard-rspec
50
57
  version_requirements: !ruby/object:Gem::Requirement
51
58
  requirements:
52
59
  - - '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: guard-rspec
57
62
  requirement: !ruby/object:Gem::Requirement
58
63
  requirements:
59
64
  - - '>='
60
65
  - !ruby/object:Gem::Version
61
66
  version: '0'
62
- type: :development
63
67
  prerelease: false
68
+ type: :development
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
64
71
  version_requirements: !ruby/object:Gem::Requirement
65
72
  requirements:
66
73
  - - '>='
67
74
  - !ruby/object:Gem::Version
68
75
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: pry
71
76
  requirement: !ruby/object:Gem::Requirement
72
77
  requirements:
73
78
  - - '>='
74
79
  - !ruby/object:Gem::Version
75
80
  version: '0'
76
- type: :development
77
81
  prerelease: false
82
+ type: :development
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-remote
78
85
  version_requirements: !ruby/object:Gem::Requirement
79
86
  requirements:
80
87
  - - '>='
81
88
  - !ruby/object:Gem::Version
82
89
  version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: pry-remote
85
90
  requirement: !ruby/object:Gem::Requirement
86
91
  requirements:
87
92
  - - '>='
88
93
  - !ruby/object:Gem::Version
89
94
  version: '0'
90
- type: :development
91
95
  prerelease: false
96
+ type: :development
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry-nav
92
99
  version_requirements: !ruby/object:Gem::Requirement
93
100
  requirements:
94
101
  - - '>='
95
102
  - !ruby/object:Gem::Version
96
103
  version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: pry-nav
99
104
  requirement: !ruby/object:Gem::Requirement
100
105
  requirements:
101
106
  - - '>='
102
107
  - !ruby/object:Gem::Version
103
108
  version: '0'
104
- type: :development
105
109
  prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
110
+ type: :development
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: bundler
113
- requirement: !ruby/object:Gem::Requirement
113
+ version_requirements: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ~>
116
116
  - !ruby/object:Gem::Version
117
117
  version: '1.5'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
118
+ requirement: !ruby/object:Gem::Requirement
121
119
  requirements:
122
120
  - - ~>
123
121
  - !ruby/object:Gem::Version
124
122
  version: '1.5'
123
+ prerelease: false
124
+ type: :development
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rake
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
127
132
  requirement: !ruby/object:Gem::Requirement
128
133
  requirements:
129
134
  - - '>='
130
135
  - !ruby/object:Gem::Version
131
136
  version: '0'
132
- type: :development
133
137
  prerelease: false
138
+ type: :development
139
+ - !ruby/object:Gem::Dependency
140
+ name: rack-test
134
141
  version_requirements: !ruby/object:Gem::Requirement
135
142
  requirements:
136
143
  - - '>='
137
144
  - !ruby/object:Gem::Version
138
145
  version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: alephant-lookup
141
146
  requirement: !ruby/object:Gem::Requirement
142
147
  requirements:
143
148
  - - '>='
144
149
  - !ruby/object:Gem::Version
145
150
  version: '0'
146
- type: :runtime
147
151
  prerelease: false
152
+ type: :development
153
+ - !ruby/object:Gem::Dependency
154
+ name: alephant-lookup
148
155
  version_requirements: !ruby/object:Gem::Requirement
149
156
  requirements:
150
157
  - - '>='
151
158
  - !ruby/object:Gem::Version
152
159
  version: '0'
160
+ requirement: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - '>='
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ prerelease: false
166
+ type: :runtime
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: alephant-cache
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
155
174
  requirement: !ruby/object:Gem::Requirement
156
175
  requirements:
157
176
  - - '>='
158
177
  - !ruby/object:Gem::Version
159
178
  version: '0'
160
- type: :runtime
161
179
  prerelease: false
180
+ type: :runtime
181
+ - !ruby/object:Gem::Dependency
182
+ name: alephant-logger
162
183
  version_requirements: !ruby/object:Gem::Requirement
163
184
  requirements:
164
185
  - - '>='
165
186
  - !ruby/object:Gem::Version
166
187
  version: '0'
188
+ requirement: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - '>='
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ prerelease: false
194
+ type: :runtime
167
195
  description: Brokers requests for alephant components
168
196
  email:
169
197
  - stevenmajack@gmail.com
@@ -172,6 +200,8 @@ extensions: []
172
200
  extra_rdoc_files: []
173
201
  files:
174
202
  - .gitignore
203
+ - .ruby-version
204
+ - .travis.yml
175
205
  - Gemfile
176
206
  - Guardfile
177
207
  - LICENSE.txt
@@ -188,12 +218,16 @@ files:
188
218
  - lib/alephant/broker/models/response/asset_response.rb
189
219
  - lib/alephant/broker/models/response_factory.rb
190
220
  - lib/alephant/broker/version.rb
221
+ - spec/asset_response_spec.rb
222
+ - spec/rack_spec.rb
223
+ - spec/request_spec.rb
224
+ - spec/response_factory_spec.rb
191
225
  - spec/spec_helper.rb
192
226
  homepage: https://github.com/BBC-News/alephant-broker
193
227
  licenses:
194
228
  - MIT
195
229
  metadata: {}
196
- post_install_message:
230
+ post_install_message:
197
231
  rdoc_options: []
198
232
  require_paths:
199
233
  - lib
@@ -208,10 +242,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
242
  - !ruby/object:Gem::Version
209
243
  version: '0'
210
244
  requirements: []
211
- rubyforge_project:
212
- rubygems_version: 2.0.3
213
- signing_key:
245
+ rubyforge_project:
246
+ rubygems_version: 2.1.9
247
+ signing_key:
214
248
  specification_version: 4
215
249
  summary: Brokers requests for alephant components
216
250
  test_files:
251
+ - spec/asset_response_spec.rb
252
+ - spec/rack_spec.rb
253
+ - spec/request_spec.rb
254
+ - spec/response_factory_spec.rb
217
255
  - spec/spec_helper.rb