Skip to content

Commit

Permalink
Add Management API calls for refresh token API
Browse files Browse the repository at this point in the history
  • Loading branch information
l15n authored and arpit-jn committed Nov 13, 2024
1 parent a802592 commit fc7d612
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 0 deletions.
2 changes: 2 additions & 0 deletions lib/auth0/api/v2.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
require 'auth0/api/v2/jobs'
require 'auth0/api/v2/prompts'
require 'auth0/api/v2/organizations'
require 'auth0/api/v2/refresh_tokens'
require 'auth0/api/v2/rules'
require 'auth0/api/v2/roles'
require 'auth0/api/v2/stats'
Expand Down Expand Up @@ -45,6 +46,7 @@ module V2
include Auth0::Api::V2::LogStreams
include Auth0::Api::V2::Prompts
include Auth0::Api::V2::Organizations
include Auth0::Api::V2::RefreshTokens
include Auth0::Api::V2::Rules
include Auth0::Api::V2::Roles
include Auth0::Api::V2::Stats
Expand Down
34 changes: 34 additions & 0 deletions lib/auth0/api/v2/refresh_tokens.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# frozen_string_literal: true

module Auth0
module Api
module V2
# Methods to use the Refresh Token endpoints
module RefreshTokens
# Retrieve refresh token information.
# @see https://auth0.com/docs/api/management/v2/refresh-tokens/get-refresh-token
# @param id [string] The id of the refresh token to retrieve
def refresh_token(id)
raise Auth0::InvalidParameter, 'Must supply a valid id' if id.to_s.empty?

get "#{resource_path}/#{id}"
end

# Delete a refresh token by its ID.
# @see https://auth0.com/docs/api/management/v2/refresh-tokens/delete-refresh-token
# @param id [string] The id of the refresh token to delete
def delete_refresh_token(id)
raise Auth0::InvalidParameter, 'Must supply a valid id' if id.to_s.empty?

delete "#{resource_path}/#{id}"
end

private

def resource_path
@resource_path ||= '/api/v2/refresh-tokens'
end
end
end
end
end
51 changes: 51 additions & 0 deletions spec/lib/auth0/api/v2/refresh_tokens_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# frozen_string_literal: true

require 'spec_helper'

describe Auth0::Api::V2::RefreshTokens do
before :all do
dummy_instance = DummyClass.new
dummy_instance.extend(Auth0::Api::V2::RefreshTokens)
@instance = dummy_instance
end

describe '.refresh_token' do
it 'is expected to respond to a refresh_token method' do
expect(@instance).to respond_to(:refresh_token)
end

it 'is expected to GET a refresh_token' do
expect(@instance).to receive(:get).with(
'/api/v2/refresh-tokens/REFRESH_TOKEN_ID'
)

expect do
@instance.refresh_token('REFRESH_TOKEN_ID')
end.not_to raise_error
end

it 'is expected to raise an exception when the id is empty' do
expect { @instance.refresh_token(nil) }.to raise_error('Must supply a valid id')
end
end

describe '.delete_refresh_token' do
it 'is expected to respond to a delete_refresh_token method' do
expect(@instance).to respond_to(:delete_refresh_token)
end

it 'is expected to DELETE a refresh_token' do
expect(@instance).to receive(:delete).with(
'/api/v2/refresh-tokens/REFRESH_TOKEN_ID'
)

expect do
@instance.delete_refresh_token('REFRESH_TOKEN_ID')
end.not_to raise_error
end

it 'is expected to raise an exception when the id is empty' do
expect { @instance.delete_refresh_token(nil) }.to raise_error('Must supply a valid id')
end
end
end

0 comments on commit fc7d612

Please sign in to comment.