Sha256: f71e7abff66c700ab2ba9cac1e2364199ffa307a0f3b5234aacbf66515cb90e3
Contents?: true
Size: 1.69 KB
Versions: 1
Compression:
Stored size: 1.69 KB
Contents
# frozen_string_literal: true require 'spec_helper' describe ::Doorkeeper::SecretStoring::Base do let(:instance) { double('instance', token: 'foo') } subject { described_class } describe '#transform_secret' do it 'raises' do expect { subject.transform_secret('foo') }.to raise_error(NotImplementedError) end end describe '#store_secret' do it 'sends to response of #transform_secret to the instance' do expect(described_class) .to receive(:transform_secret).with('bar') .and_return 'bar+transform' expect(instance).to receive(:token=).with 'bar+transform' result = subject.store_secret instance, :token, 'bar' expect(result).to eq 'bar+transform' end end describe '#restore_secret' do it 'raises' do expect { subject.restore_secret(subject, :token) }.to raise_error(NotImplementedError) end end describe '#allows_restoring_secrets?' do it 'does not allow it' do expect(subject.allows_restoring_secrets?).to eq false end end describe 'validate_for' do it 'allows for valid model' do expect(subject.validate_for(:application)).to eq true expect(subject.validate_for(:token)).to eq true end it 'raises for invalid model' do expect { subject.validate_for(:wat) }.to raise_error(ArgumentError, /can not be used for wat/) end end describe 'secret_matches?' do before do allow(subject).to receive(:transform_secret) { |input| "transformed: #{input}" } end it 'compares input with #transform_secret' do expect(subject.secret_matches?('input', 'input')).to eq false expect(subject.secret_matches?('a', 'transformed: a')).to eq true end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
doorkeeper-5.1.0.rc2 | spec/lib/secret_storing/base_spec.rb |