Sha256: b472bc89f485f42db90b34e11cca436210186b7b4759491da17e775ab72d5d87

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

describe ::Doorkeeper::SecretStoring::Plain do
  subject { described_class }
  let(:instance) { double('instance', token: 'foo') }

  describe '#transform_secret' do
    it 'raises' do
      expect(subject.transform_secret('foo')).to eq 'foo'
    end
  end

  describe '#restore_secret' do
    it 'raises' do
      expect(subject.restore_secret(instance, :token)).to eq 'foo'
    end
  end

  describe '#allows_restoring_secrets?' do
    it 'does allow it' do
      expect(subject.allows_restoring_secrets?).to eq true
    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
    it 'compares input with #transform_secret' do
      expect(subject.secret_matches?('input', 'input')).to eq true
      expect(subject.secret_matches?('a', 'b')).to eq false
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
doorkeeper-5.1.0.rc2 spec/lib/secret_storing/plain_spec.rb