Sha256: 0119aa213e3f3f460fb5a956510b0ab653eccd8f6f7b1395db3259be02f7b572

Contents?: true

Size: 1.55 KB

Versions: 24

Compression:

Stored size: 1.55 KB

Contents

require 'spec_helper'

describe JSON::JWK::Set do
  let(:jwk) { public_key.to_jwk }
  let(:set) { JSON::JWK::Set.new jwk }

  describe '#content_type' do
    it do
      set.content_type.should == 'application/jwk-set+json'
    end
  end

  context 'when single JWK given' do
    subject { JSON::JWK::Set.new jwk }
    it { should == [jwk] }
  end

  context 'when multiple JWKs given' do
    subject { JSON::JWK::Set.new jwk, jwk }
    it { should == [jwk, jwk] }
  end

  context 'when an Array of JWKs given' do
    subject { JSON::JWK::Set.new [jwk, jwk] }
    it { should == [jwk, jwk] }
  end

  context 'when JSON::JWK given' do
    subject { JSON::JWK::Set.new jwk }

    it 'should keep JSON::JWK' do
      subject.each do |jwk|
        jwk.should be_instance_of JSON::JWK
      end
    end
  end

  context 'when pure Hash given' do
    subject { JSON::JWK::Set.new jwk.as_json }

    it 'should convert into JSON::JWK' do
      subject.each do |jwk|
        jwk.should be_instance_of JSON::JWK
      end
    end
  end

  context 'when pure Hash with :keys key given' do
    subject do
      JSON::JWK::Set.new(
        keys: jwk.as_json
      )
    end

    it 'should convert into JSON::JWK' do
      subject.each do |jwk|
        jwk.should be_instance_of JSON::JWK
      end
    end
  end

  describe '#as_json' do
    it 'should become proper JWK set format' do
      json = set.as_json
      json.should include :keys
      json[:keys].should == [jwk]
    end
  end

  describe '#to_json' do
    it do
      expect { set.to_json }.not_to raise_error
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
json-jwt-1.10.0 spec/json/jwk/set_spec.rb
json-jwt-1.9.4 spec/json/jwk/set_spec.rb
json-jwt-1.9.3 spec/json/jwk/set_spec.rb
json-jwt-1.9.2 spec/json/jwk/set_spec.rb
json-jwt-1.9.1 spec/json/jwk/set_spec.rb
json-jwt-1.9.0 spec/json/jwk/set_spec.rb
json-jwt-1.8.3 spec/json/jwk/set_spec.rb
json-jwt-1.8.2 spec/json/jwk/set_spec.rb
json-jwt-1.8.1 spec/json/jwk/set_spec.rb
json-jwt-1.8.1.pre spec/json/jwk/set_spec.rb
json-jwt-1.8.0 spec/json/jwk/set_spec.rb
json-jwt-1.7.2 spec/json/jwk/set_spec.rb
json-jwt-1.7.1 spec/json/jwk/set_spec.rb
json-jwt-1.7.0 spec/json/jwk/set_spec.rb
json-jwt-1.6.5 spec/json/jwk/set_spec.rb
json-jwt-1.6.4 spec/json/jwk/set_spec.rb
json-jwt-1.6.3 spec/json/jwk/set_spec.rb
json-jwt-1.6.2 spec/json/jwk/set_spec.rb
json-jwt-1.6.1 spec/json/jwk/set_spec.rb
json-jwt-1.6.0 spec/json/jwk/set_spec.rb