Skip to content
Extraits de code Groupes Projets
openid_steps.rb 1,49 ko
Newer Older
  • Learn to ignore specific revisions
  • # Password has been hard coded as all test accounts seem to have a password of "password"
    Given /^I send a post request to the token endpoint using "([^\"]*)"'s credentials$/ do |username|
      user = User.find_by(username: username)
      tokenEndpointURL = "/openid/access_tokens"
      tokenEndpointURLQuery = "?grant_type=password&username=" +
        user.username +
        "&password=password&client_id=4&client_secret=azerty"
      post tokenEndpointURL + tokenEndpointURLQuery
    end
    
    When /^I use received valid bearer tokens to access user info via URI query parameter$/ do
      accessTokenJson = JSON.parse(last_response.body)
    
      userInfoEndPointURL = "/api/v0/user/"
    
      userInfoEndPointURLQuery = "?access_token=" + accessTokenJson["access_token"]
      visit userInfoEndPointURL + userInfoEndPointURLQuery
    end
    
    When /^I use invalid bearer tokens to access user info via URI query parameter$/ do
    
      userInfoEndPointURL = "/api/v0/user/"
    
      userInfoEndPointURLQuery = "?access_token=" + SecureRandom.hex(32)
      visit userInfoEndPointURL + userInfoEndPointURLQuery
    end
    
    Then /^I should receive "([^\"]*)"'s id, username, and email$/ do |username|
      user = User.find_by_username(username)
      expect(page).to have_content(user.username)
      expect(page).to have_content(user.language)
      expect(page).to have_content(user.email)
    end
    
    Then /^I should receive an "([^\"]*)" error$/ do |error_message|
      expect(page).to have_content(error_message)
    end
    
    Then /^I should see "([^\"]*)" in the content$/ do |content|
      expect(page).to have_content(content)
    end