Mercurial > hg > soundsoftware-site
view test/integration/api_test/disabled_rest_api_test.rb @ 1080:5bd8c86cfa6a issue_540
Makes the Publication model act as an activity; overloading the default ActivitiesController#index view in the Bibliography Plugin in order to differentiate Publications from the other event types.
* Known issues:
** route to /activities is not working (only to /activity);
** publication cache needs to be implemented in the model, not in the helper;
** when a publication is added to n projects, n events are created (all with the same content).
author | luisf <luis.figueira@eecs.qmul.ac.uk> |
---|---|
date | Thu, 22 Nov 2012 16:51:23 +0000 |
parents | cbb26bc654de |
children | 433d4f72a19b |
line wrap: on
line source
require File.expand_path('../../../test_helper', __FILE__) class ApiTest::DisabledRestApiTest < ActionController::IntegrationTest fixtures :projects, :trackers, :issue_statuses, :issues, :enumerations, :users, :issue_categories, :projects_trackers, :roles, :member_roles, :members, :enabled_modules, :workflows def setup Setting.rest_api_enabled = '0' Setting.login_required = '1' end def teardown Setting.rest_api_enabled = '1' Setting.login_required = '0' end # Using the NewsController because it's a simple API. context "get /news with the API disabled" do context "in :xml format" do context "with a valid api token" do setup do @user = User.generate_with_protected! @token = Token.generate!(:user => @user, :action => 'api') get "/news.xml?key=#{@token.value}" end should_respond_with :unauthorized should_respond_with_content_type :xml should "not login as the user" do assert_equal User.anonymous, User.current end end context "with a valid HTTP authentication" do setup do @user = User.generate_with_protected!(:password => 'my_password', :password_confirmation => 'my_password') @authorization = ActionController::HttpAuthentication::Basic.encode_credentials(@user.login, 'my_password') get "/news.xml", nil, :authorization => @authorization end should_respond_with :unauthorized should_respond_with_content_type :xml should "not login as the user" do assert_equal User.anonymous, User.current end end context "with a valid HTTP authentication using the API token" do setup do @user = User.generate_with_protected! @token = Token.generate!(:user => @user, :action => 'api') @authorization = ActionController::HttpAuthentication::Basic.encode_credentials(@token.value, 'X') get "/news.xml", nil, :authorization => @authorization end should_respond_with :unauthorized should_respond_with_content_type :xml should "not login as the user" do assert_equal User.anonymous, User.current end end end context "in :json format" do context "with a valid api token" do setup do @user = User.generate_with_protected! @token = Token.generate!(:user => @user, :action => 'api') get "/news.json?key=#{@token.value}" end should_respond_with :unauthorized should_respond_with_content_type :json should "not login as the user" do assert_equal User.anonymous, User.current end end context "with a valid HTTP authentication" do setup do @user = User.generate_with_protected!(:password => 'my_password', :password_confirmation => 'my_password') @authorization = ActionController::HttpAuthentication::Basic.encode_credentials(@user.login, 'my_password') get "/news.json", nil, :authorization => @authorization end should_respond_with :unauthorized should_respond_with_content_type :json should "not login as the user" do assert_equal User.anonymous, User.current end end context "with a valid HTTP authentication using the API token" do setup do @user = User.generate_with_protected! @token = Token.generate!(:user => @user, :action => 'api') @authorization = ActionController::HttpAuthentication::Basic.encode_credentials(@token.value, 'DoesNotMatter') get "/news.json", nil, :authorization => @authorization end should_respond_with :unauthorized should_respond_with_content_type :json should "not login as the user" do assert_equal User.anonymous, User.current end end end end end