spec/util/access_token_spec.rb in twilio-ruby-4.8.0.edge vs spec/util/access_token_spec.rb in twilio-ruby-4.8.0

- old
+ new

@@ -8,34 +8,55 @@ expect(token).not_to be_nil payload, header = JWT.decode token, 'secret' expect(payload['iss']).to eq('SK123') expect(payload['sub']).to eq('AC123') - expect(payload['nbf']).not_to be_nil expect(payload['exp']).not_to be_nil - expect(payload['nbf'] + 3600).to eq(payload['exp']) + expect(payload['exp']).to be >= Time.now.to_i expect(payload['jti']).not_to be_nil - expect("#{payload['iss']}-#{payload['nbf']}").to eq(payload['jti']) + expect(payload['jti']).to start_with payload['iss'] expect(payload['grants']).not_to be_nil expect(payload['grants'].count).to eq(0) end + it 'should generate a nbf' do + now = Time.now.to_i + scat = Twilio::Util::AccessToken.new 'AC123', 'SK123','secret' + scat.identity = 'abc' + scat.nbf = now + + token = scat.to_s + expect(token).not_to be_nil + payload, header = JWT.decode token, 'secret' + + expect(payload['iss']).to eq('SK123') + expect(payload['sub']).to eq('AC123') + expect(payload['nbf']).not_to be_nil + expect(payload['nbf']).to eq(now) + expect(payload['exp']).not_to be_nil + expect(payload['exp']).to be >= Time.now.to_i + expect(payload['jti']).not_to be_nil + expect(payload['jti']).to start_with payload['iss'] + expect(payload['grants']).not_to be_nil + expect(payload['grants'].count).to eq(1) + expect(payload['grants']['identity']).to eq('abc') + end + it 'should be able to add conversation grant' do scat = Twilio::Util::AccessToken.new 'AC123', 'SK123','secret' scat.add_grant(Twilio::Util::AccessToken::ConversationsGrant.new) token = scat.to_s expect(token).not_to be_nil payload, header = JWT.decode token, 'secret' expect(payload['iss']).to eq('SK123') expect(payload['sub']).to eq('AC123') - expect(payload['nbf']).not_to be_nil expect(payload['exp']).not_to be_nil - expect(payload['nbf'] + 3600).to eq(payload['exp']) + expect(payload['exp']).to be >= Time.now.to_i expect(payload['jti']).not_to be_nil - expect("#{payload['iss']}-#{payload['nbf']}").to eq(payload['jti']) + expect(payload['jti']).to start_with payload['iss'] expect(payload['grants']).not_to be_nil expect(payload['grants'].count).to eq(1) expect(payload['grants']['rtc']).not_to be_nil end @@ -47,15 +68,14 @@ expect(token).not_to be_nil payload, header = JWT.decode token, 'secret' expect(payload['iss']).to eq('SK123') expect(payload['sub']).to eq('AC123') - expect(payload['nbf']).not_to be_nil expect(payload['exp']).not_to be_nil - expect(payload['nbf'] + 3600).to eq(payload['exp']) + expect(payload['exp']).to be >= Time.now.to_i expect(payload['jti']).not_to be_nil - expect("#{payload['iss']}-#{payload['nbf']}").to eq(payload['jti']) + expect(payload['jti']).to start_with payload['iss'] expect(payload['grants']).not_to be_nil expect(payload['grants'].count).to eq(1) expect(payload['grants']['ip_messaging']).not_to be_nil end @@ -68,14 +88,13 @@ expect(token).not_to be_nil payload, header = JWT.decode token, 'secret' expect(payload['iss']).to eq('SK123') expect(payload['sub']).to eq('AC123') - expect(payload['nbf']).not_to be_nil expect(payload['exp']).not_to be_nil - expect(payload['nbf'] + 3600).to eq(payload['exp']) + expect(payload['exp']).to be >= Time.now.to_i expect(payload['jti']).not_to be_nil - expect("#{payload['iss']}-#{payload['nbf']}").to eq(payload['jti']) + expect(payload['jti']).to start_with payload['iss'] expect(payload['grants']).not_to be_nil expect(payload['grants'].count).to eq(2) expect(payload['grants']['rtc']).not_to be_nil expect(payload['grants']['ip_messaging']).not_to be_nil end