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