spec/asset_response_spec.rb in alephant-broker-0.0.3 vs spec/asset_response_spec.rb in alephant-broker-0.1.0
- old
+ new
@@ -1,46 +1,76 @@
require 'spec_helper'
describe Alephant::Broker::AssetResponse do
-
describe "#initialize(request, config)" do
- let(:config) { { :lookup_table_name => 'test_table', :bucket_id => 'test_bucket', :path => 'test_path' } }
- let(:request) { double("Alephant::Broker::Request", :component_id => 'test', :content_type => 'text/html', :options => {:variant => 'test_variant'} ) }
let(:location) { 'test_location' }
+ let(:config) {{
+ :lookup_table_name => 'test_table',
+ :bucket_id => 'test_bucket',
+ :path => 'test_path'
+ }}
+ let(:request) { double(
+ "Alephant::Broker::Request",
+ :component_id => 'test',
+ :content_type => 'text/html',
+ :options => { :variant => 'test_variant' }
+ )
+ }
- before {
+ before do
@lookup_table = double('Alephant::Lookup::LookupTable')
Alephant::Lookup.stub(:create).and_return(@lookup_table)
- }
+ end
it "Should return the content from a successful cache lookup" do
- allow(@lookup_table).to receive(:read).with(request.options).and_return(location)
- Alephant::Cache.any_instance.stub(:initialize)
- Alephant::Cache.any_instance.stub(:get).with(location).and_return('Test cache content')
+ allow(@lookup_table)
+ .to receive(:read)
+ .with(request.options)
+ .and_return(location)
+
+ Alephant::Cache
+ .any_instance
+ .stub(:initialize)
+
+ Alephant::Cache
+ .any_instance
+ .stub(:get)
+ .with(location)
+ .and_return('Test cache content')
+
instance = Alephant::Broker::AssetResponse.new(request, config)
expect(instance.content).to eq('Test cache content')
expect(instance.status).to eq(200)
end
it "should return a 404 if lookup can't find a valid location" do
- allow(@lookup_table).to receive(:read).with(request.options).and_return(nil)
- Alephant::Cache.any_instance.stub(:initialize)
+ allow(@lookup_table)
+ .to receive(:read)
+ .with(request.options)
+ .and_return(nil)
+
+ Alephant::Cache
+ .any_instance
+ .stub(:initialize)
+
instance = Alephant::Broker::AssetResponse.new(request, config)
expect(instance.content).to eq('Cache key not found based on component_id and options combination')
expect(instance.status).to eq(404)
end
it "should return a 500 for any other exceptions" do
- allow(@lookup_table).to receive(:read).with(request.options).and_raise(Exception)
+ allow(@lookup_table)
+ .to receive(:read)
+ .with(request.options)
+ .and_raise(Exception)
+
instance = Alephant::Broker::AssetResponse.new(request, config)
expect(instance.status).to eq(500)
-
end
-
end
-
end
+