Sha256: a10a6a564a0e9ec754e0d4ae0280ab900b7b4eee4052b159ef923f9f0aeb87fc

Contents?: true

Size: 1.35 KB

Versions: 1

Compression:

Stored size: 1.35 KB

Contents

require 'spec_helper'

describe GoogleAppsOauth2::Transport do
  let(:client_secret) { 'sfdfsd087sdf' }
  let(:client_id) { 'blahblahid' }
  let(:transporter) do
    GoogleAppsOauth2::Transport.new(
          domain: 'cnm.edu',
          token: 'some-token',
          refresh_token: 'refresh-token',
          client_id: client_id,
          client_secret: client_secret
    ) do |new_token|
      @current_token = new_token
    end
  end

  describe "#get_users" do
    it "Builds a GET request for the user endpoint" do
      stub = stub_users_ok(token: 'some-token')

      transporter.get_users(start: 'znelson1', limit: 2)
      stub.should have_been_requested
    end

    context 'token has expired' do
      it "refreshes the token when the old one expires" do
        stub_users_expired_token(token: 'some-token')
        stub_refresh_token()
        stub_users_ok(token: 'some-new-token')

        transporter.get_users(start: 'znelson1', limit: 2).code.should == 200
      end

      it "calls the block with the new token as a param" do
        @current_token = "old-and-expired"
        stub_users_expired_token(token: 'some-token')
        stub_refresh_token()
        stub_users_ok(token: 'some-new-token')

        transporter.get_users(start: 'znelson1', limit: 2).code.should == 200
        @current_token.should == 'some-new-token'
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
google_apps_oauth2-0.1 spec/google_apps_oauth2/transport_spec.rb