diff --git a/lib/usergrid/core/application.rb b/lib/usergrid/core/application.rb index bdf22db..74ce78d 100644 --- a/lib/usergrid/core/application.rb +++ b/lib/usergrid/core/application.rb @@ -48,7 +48,7 @@ def facebook_login(access_token) response end - def access_token! + def login_credentials(client_id, client_secret) response = self['token'].post grant_type: 'client_credentials', client_id: client_id, client_secret: client_secret self.auth_token = response.data['access_token'] end diff --git a/lib/usergrid/core/organization.rb b/lib/usergrid/core/organization.rb index ce00cef..b975e80 100644 --- a/lib/usergrid/core/organization.rb +++ b/lib/usergrid/core/organization.rb @@ -49,7 +49,7 @@ def generate_credentials self['credentials'].post nil end - def access_token! + def login_credentials(client_id, client_secret) resource = api_resource 'management' response = resource['token'].post grant_type: 'client_credentials', client_id: client_id, client_secret: client_secret self.auth_token = response.data['access_token'] diff --git a/lib/usergrid/core/resource.rb b/lib/usergrid/core/resource.rb index b917582..b2abbfb 100644 --- a/lib/usergrid/core/resource.rb +++ b/lib/usergrid/core/resource.rb @@ -8,7 +8,6 @@ class Resource < RestClient::Resource TYPE_HEADERS = { content_type: :json, accept: :json } attr_reader :current_user, :api_url, :response - attr_accessor :client_id, :client_secret def initialize(resource_url=DEFAULT_API_URL, api_url=nil, options={}, response=nil) options[:headers] = TYPE_HEADERS.merge options[:headers] || {} diff --git a/spec/usergrid/core/application_spec.rb b/spec/usergrid/core/application_spec.rb index dbfdd27..ae7a040 100644 --- a/spec/usergrid/core/application_spec.rb +++ b/spec/usergrid/core/application_spec.rb @@ -302,26 +302,25 @@ context "invalid credentials" do it "should not be able to get access token with invalid credentials" do - @app.client_id = "invalid_client_id" - @app.client_secret = "invalid_client_secret" - - expect { @app.access_token! }.to raise_exception RestClient::BadRequest + expect { @app.login_credentials "invalid_client_id", "invalid_client_secret" }.to raise_exception RestClient::BadRequest end it "should not be able to get access token with empty credentials" do - expect { @app.access_token! }.to raise_exception RestClient::BadRequest + expect { @app.login_credentials "", "" }.to raise_exception RestClient::BadRequest end end context "valid crendentials" do it "should be able to get access token with invalid credentials"do - app_credentials = JSON.parse @app.credentials - @app.client_id = app_credentials["credentials"]["client_id"] - @app.client_secret = app_credentials["credentials"]["client_secret"] + app_info = JSON.parse @app.get + + management = login_management + app = management.application app_info["organization"], app_info["applicationName"] + app_credentials = JSON.parse app.credentials + app.login_credentials app_credentials["credentials"]["client_id"], app_credentials["credentials"]["client_secret"] - @app.access_token! - expect(@app.auth_token).to_not be_empty - expect(@app.auth_token).to be_instance_of String + expect(app.auth_token).to_not be_empty + expect(app.auth_token).to be_instance_of String end end end diff --git a/spec/usergrid/core/organization_spec.rb b/spec/usergrid/core/organization_spec.rb index 25131df..f14ba7a 100644 --- a/spec/usergrid/core/organization_spec.rb +++ b/spec/usergrid/core/organization_spec.rb @@ -72,25 +72,19 @@ describe "grant_type: client_credentials" do context "invalid credentials" do it "should not be able to get access token with invalid credentials" do - @organization.client_id = "invalid_client_id" - @organization.client_secret = "invalid_client_secret" - - expect { @organization.access_token! }.to raise_exception RestClient::BadRequest + expect { @organization.login_credentials "invalid_client_id", "invalid_client_secret" }.to raise_exception RestClient::BadRequest end it "should not be able to get access token with empty credentials" do - expect { @organization.access_token! }.to raise_exception RestClient::BadRequest + expect { @organization.login_credentials "", "" }.to raise_exception RestClient::BadRequest end end context "valid crendentials" do it "should be able to get access token with invalid credentials" do org_credentials = JSON.parse @organization.credentials + @organization.login_credentials org_credentials["credentials"]["client_id"], org_credentials["credentials"]["client_secret"] - @organization.client_id = org_credentials["credentials"]["client_id"] - @organization.client_secret = org_credentials["credentials"]["client_secret"] - - @organization.access_token! expect(@organization.auth_token).to_not be_empty expect(@organization.auth_token).to be_instance_of String end