Sha256: bafa2ed6e5f33a706bc722d8f7b84321f04e6ed095b3370a7681fd960f1fc5be

Contents?: true

Size: 1.01 KB

Versions: 34

Compression:

Stored size: 1.01 KB

Contents

require 'spec_helper'
require 'fernet'
require_relative '../../../app/services/bookends/glostick_user_extractor'

RSpec.describe Bookends::GlostickUserExtractor do
  let(:secret) { 'iAATWj4Q1Pm5Eh4kjjtkQAwCo+zrxcBW/73MBJqNgxs=' }

  context 'when token and secret not present' do
    it 'returns empty values' do
      expect(Bookends::GlostickUserExtractor.new({}, secret).user).to eq({ 'email' => '', 'full_name' => '' })
    end
  end

  describe 'when session cookie secret set' do
    let(:message) do
      {
        'user' => {
          'email' => 'email@example.com', 'full_name' => 'My Name'
        }
      }
    end
    let(:token) { Fernet.generate(secret, JSON.dump(message)) }
    let(:cookies) do
      { heroku_user_session: CGI::escape(token) }
    end

    it 'has a decoded cookie' do
      expect(Bookends::GlostickUserExtractor.new(cookies, secret).token).to eq token
    end

    it 'works?' do
      expect(Bookends::GlostickUserExtractor.new(cookies, secret).user).to eq message['user']
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
bookends-8.0.2 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-8.0.1 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-8.0.0 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-7.0.0 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-6.0.1 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-6.0.0 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-6.0.0.rc3 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-6.0.0.rc2 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-6.0.0.rc1 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-5.0.0 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-4.2.9 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-4.2.8 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-4.2.7 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-4.2.7rc1 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-4.2.6 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-4.2.6rc1 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-4.2.5 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-4.2.4 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-4.2.3 spec/services/bookends/glostick_user_extractor_spec.rb
bookends-4.2.2 spec/services/bookends/glostick_user_extractor_spec.rb