spec/client_spec.rb in http-2-0.7.0 vs spec/client_spec.rb in http-2-0.8.0
- old
+ new
@@ -1,93 +1,92 @@
-require "helper"
+require 'helper'
-describe HTTP2::Client do
+RSpec.describe HTTP2::Client do
before(:each) do
@client = Client.new
end
let(:f) { Framer.new }
- context "initialization and settings" do
- it "should return odd stream IDs" do
- @client.new_stream.id.should_not be_even
+ context 'initialization and settings' do
+ it 'should return odd stream IDs' do
+ expect(@client.new_stream.id).not_to be_even
end
- it "should emit connection header and SETTINGS on new client connection" do
+ it 'should emit connection header and SETTINGS on new client connection' do
frames = []
@client.on(:frame) { |bytes| frames << bytes }
- @client.ping("12345678")
+ @client.ping('12345678')
- frames[0].should eq CONNECTION_PREFACE_MAGIC
- f.parse(frames[1])[:type].should eq :settings
+ expect(frames[0]).to eq CONNECTION_PREFACE_MAGIC
+ expect(f.parse(frames[1])[:type]).to eq :settings
end
- it "should initialize client with custom connection settings" do
+ it 'should initialize client with custom connection settings' do
frames = []
- @client = Client.new(:settings_max_concurrent_streams => 200)
+ @client = Client.new(settings_max_concurrent_streams: 200)
@client.on(:frame) { |bytes| frames << bytes }
- @client.ping("12345678")
+ @client.ping('12345678')
frame = f.parse(frames[1])
- frame[:type].should eq :settings
- frame[:payload].should include([:settings_max_concurrent_streams, 200])
+ expect(frame[:type]).to eq :settings
+ expect(frame[:payload]).to include([:settings_max_concurrent_streams, 200])
end
end
- context "push" do
- it "should disallow client initiated push" do
+ context 'push' do
+ it 'should disallow client initiated push' do
expect do
@client.promise({}) {}
- end.to raise_error(Exception)
+ end.to raise_error(NoMethodError)
end
- it "should raise error on PUSH_PROMISE against stream 0" do
- expect {
- @client << set_stream_id(f.generate(PUSH_PROMISE), 0)
- }.to raise_error(ProtocolError)
+ it 'should raise error on PUSH_PROMISE against stream 0' do
+ expect do
+ @client << set_stream_id(f.generate(PUSH_PROMISE.dup), 0)
+ end.to raise_error(ProtocolError)
end
- it "should raise error on PUSH_PROMISE against bogus stream" do
- expect {
- @client << set_stream_id(f.generate(PUSH_PROMISE), 31415)
- }.to raise_error(ProtocolError)
+ it 'should raise error on PUSH_PROMISE against bogus stream' do
+ expect do
+ @client << set_stream_id(f.generate(PUSH_PROMISE.dup), 31_415)
+ end.to raise_error(ProtocolError)
end
- it "should raise error on PUSH_PROMISE against non-idle stream" do
- expect {
+ it 'should raise error on PUSH_PROMISE against non-idle stream' do
+ expect do
s = @client.new_stream
s.send HEADERS
@client << set_stream_id(f.generate(PUSH_PROMISE), s.id)
@client << set_stream_id(f.generate(PUSH_PROMISE), s.id)
- }.to raise_error(ProtocolError)
+ end.to raise_error(ProtocolError)
end
- it "should emit stream object for received PUSH_PROMISE" do
+ it 'should emit stream object for received PUSH_PROMISE' do
s = @client.new_stream
- s.send HEADERS
+ s.send HEADERS.deep_dup
promise = nil
- @client.on(:promise) {|s| promise = s }
- @client << set_stream_id(f.generate(PUSH_PROMISE), s.id)
+ @client.on(:promise) { |stream| promise = stream }
+ @client << set_stream_id(f.generate(PUSH_PROMISE.dup), s.id)
- promise.id.should eq 2
- promise.state.should eq :reserved_remote
+ expect(promise.id).to eq 2
+ expect(promise.state).to eq :reserved_remote
end
- it "should auto RST_STREAM promises against locally-RST stream" do
+ it 'should auto RST_STREAM promises against locally-RST stream' do
s = @client.new_stream
- s.send HEADERS
+ s.send HEADERS.deep_dup
s.close
- @client.stub(:send)
- @client.should_receive(:send) do |frame|
- frame[:type].should eq :rst_stream
- frame[:stream].should eq 2
+ allow(@client).to receive(:send)
+ expect(@client).to receive(:send) do |frame|
+ expect(frame[:type]).to eq :rst_stream
+ expect(frame[:stream]).to eq 2
end
- @client << set_stream_id(f.generate(PUSH_PROMISE), s.id)
+ @client << set_stream_id(f.generate(PUSH_PROMISE.dup), s.id)
end
end
-
end