From c5769201a4a9c584bb9e33371f4f47e6053f0bb7 Mon Sep 17 00:00:00 2001 From: Priya Rani Date: Tue, 21 Jul 2026 17:44:37 +0530 Subject: [PATCH] Remove outdated code --- Gemfile.lock | 2 +- app/controllers/codeopenhub_controller.rb | 5 - app/controllers/home_controller.rb | 5 - config/application.rb | 11 +- config/environments/development.rb | 2 - config/environments/test.rb | 3 - config/routes.rb | 7 - lib/constraints/codeopenhub.rb | 10 - lib/tasks/docker.rake | 45 --- .../codeopenhubs_controller_test.rb | 15 - test/controllers/home_controller_test.rb | 7 - test/lib/constraints/codeopenhub_test.rb | 318 ------------------ 12 files changed, 11 insertions(+), 419 deletions(-) delete mode 100644 app/controllers/codeopenhub_controller.rb delete mode 100644 lib/constraints/codeopenhub.rb delete mode 100644 lib/tasks/docker.rake delete mode 100644 test/controllers/codeopenhubs_controller_test.rb delete mode 100644 test/lib/constraints/codeopenhub_test.rb diff --git a/Gemfile.lock b/Gemfile.lock index b70417c95..5077727be 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1791,7 +1791,7 @@ GEM execjs coffee-script-source (1.8.0) commonjs (0.2.7) - concurrent-ruby (1.3.5) + concurrent-ruby (1.3.8) connection_pool (2.5.3) crack (1.0.0) bigdecimal diff --git a/app/controllers/codeopenhub_controller.rb b/app/controllers/codeopenhub_controller.rb deleted file mode 100644 index 3205119e9..000000000 --- a/app/controllers/codeopenhub_controller.rb +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true - -class CodeopenhubController < ApplicationController - def index; end -end diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 276c9d6b5..351b052d9 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -4,9 +4,4 @@ class HomeController < ApplicationController def index @home = HomeDecorator.new end - - def server_info - render json: { status: 'OK', environment: Rails.env, - git_sha: Rails.application.config.git_sha, passenger: Rails.application.config.passenger_version } - end end diff --git a/config/application.rb b/config/application.rb index afaf2992e..cb53a02fa 100644 --- a/config/application.rb +++ b/config/application.rb @@ -1,7 +1,16 @@ # frozen_string_literal: true require File.expand_path('boot', __dir__) -require 'rails/all' + +require 'active_record/railtie' +require 'action_controller/railtie' +require 'action_view/railtie' +require 'action_mailer/railtie' +require 'active_job/railtie' +require 'action_cable/engine' +require 'rails/test_unit/railtie' +require 'sprockets/railtie' +# active_storage/engine intentionally omitted — not used in this application Bundler.require(*Rails.groups) diff --git a/config/environments/development.rb b/config/environments/development.rb index 7aa02e899..2e77b9206 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -32,8 +32,6 @@ config.cache_store = :null_store end - # Store uploaded files on the local file system (see config/storage.yml for options). - config.active_storage.service = :local config.action_mailer.delivery_method = :letter_opener # Don't care if the mailer can't send. config.action_mailer.raise_delivery_errors = false diff --git a/config/environments/test.rb b/config/environments/test.rb index 49920e1d4..b6ec12d35 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -34,9 +34,6 @@ # Disable request forgery protection in test environment. config.action_controller.allow_forgery_protection = false - # Store uploaded files on the local file system in a temporary directory. - config.active_storage.service = :test - # Configure Paperclip to use local filesystem for tests instead of S3 config.paperclip_defaults = { storage: :filesystem, diff --git a/config/routes.rb b/config/routes.rb index 3bab060fd..48d93caba 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -4,11 +4,6 @@ Rails.application.routes.draw do mount JasmineRails::Engine => '/specs' if defined?(JasmineRails) - constraints(Codeopenhub) do - get '/', to: 'codeopenhub#index' - get '/*other', to: 'codeopenhub#index' - end - get 'admin/comments' => redirect('/404') get 'oh_admin/projects', to: 'admin/projects#index' get 'admin/spam', to: 'spam#redirect_to_first_potential_spammer' @@ -414,8 +409,6 @@ get 'repositories/compare' => 'compare_repositories#index', as: :compare_repositories get 'repositories/chart' => 'compare_repositories#chart', as: :compare_repositories_chart - get 'server_info' => 'home#server_info' - resources :committers, only: %i[index show] do member do post :claim diff --git a/lib/constraints/codeopenhub.rb b/lib/constraints/codeopenhub.rb deleted file mode 100644 index 5c1a1ad71..000000000 --- a/lib/constraints/codeopenhub.rb +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true - -class Codeopenhub - def self.matches?(request) - subdomain = ENV['CODE_SUBDOMAIN'] || '' - return false if subdomain.empty? - - request.subdomain.include?(subdomain) - end -end diff --git a/lib/tasks/docker.rake b/lib/tasks/docker.rake deleted file mode 100644 index 06a38361f..000000000 --- a/lib/tasks/docker.rake +++ /dev/null @@ -1,45 +0,0 @@ -# frozen_string_literal: true - -namespace :docker do - desc 'Cuts a new build' - task :build do - system 'git rev-parse HEAD > config/GIT_SHA' - system 'rm log/*.log' - system 'rm -r tmp/*' - system 'docker build -t ohloh-ui .' - end - - desc 'Launches a container with the app' - task :run do - system 'docker stop ohloh-ui-app-server' - system 'docker rm ohloh-ui-app-server' - system 'docker run --name ohloh-ui-app-server -p 7070:80 -d ohloh-ui' - end - - desc 'Launches a bash shell into the container' - task :bash do - system 'docker exec -it ohloh-ui-app-server /bin/bash' - end - - desc 'Curls the status page' - task :status do - system 'curl http://$(boot2docker ip 2>/dev/null):7070/server_info' - puts "\n" - end - - desc 'Opens the status page in a web browser' - task :open do - system 'open http://$(boot2docker ip 2>/dev/null):7070/server_info' - end - - desc 'Tag, Build, and Push a new version of Ohloh-UI' - task :tag do - internal_registry = 'coreos.blackducksoftware.com:5000' - Rake::Task['version:bump'].invoke - system 'git push' - version = Rails.root.join('VERSION').read.delete("\n") - Rake::Task['docker:build'].invoke - system "docker tag ohloh-ui:latest #{internal_registry}/ohloh-ui:#{version}" - system "docker push #{internal_registry}/ohloh-ui" - end -end diff --git a/test/controllers/codeopenhubs_controller_test.rb b/test/controllers/codeopenhubs_controller_test.rb deleted file mode 100644 index 98b859c2d..000000000 --- a/test/controllers/codeopenhubs_controller_test.rb +++ /dev/null @@ -1,15 +0,0 @@ -# frozen_string_literal: true - -require 'test_helper' - -class CodeopenhubControllerTest < ActionController::TestCase - it 'should return 200 for index' do - get :index - assert_response :success - end - - it 'should hit the code openhub page with a call to code.openhub.net/*' do - get :index - assert_response :success - end -end diff --git a/test/controllers/home_controller_test.rb b/test/controllers/home_controller_test.rb index 04d2523cc..55d2d50b6 100644 --- a/test/controllers/home_controller_test.rb +++ b/test/controllers/home_controller_test.rb @@ -15,11 +15,4 @@ class HomeControllerTest < ActionController::TestCase assert_response :success _(assigns(:home).class).must_equal HomeDecorator end - - it 'server_info should load' do - get :server_info - assert_response :success - resp = JSON.parse(response.body) - _(resp['status']).must_equal 'OK' - end end diff --git a/test/lib/constraints/codeopenhub_test.rb b/test/lib/constraints/codeopenhub_test.rb deleted file mode 100644 index 2450b268a..000000000 --- a/test/lib/constraints/codeopenhub_test.rb +++ /dev/null @@ -1,318 +0,0 @@ -# frozen_string_literal: true - -require 'test_helper' - -class CodeopenhubTest < ActiveSupport::TestCase - describe 'Codeopenhub constraint' do - before do - @original_subdomain = ENV.fetch('CODE_SUBDOMAIN', nil) - end - - after do - ENV['CODE_SUBDOMAIN'] = @original_subdomain - end - - describe '.matches?' do - it 'should return true when CODE_SUBDOMAIN matches request subdomain' do - ENV['CODE_SUBDOMAIN'] = 'code' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('code') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - - it 'should return true when request subdomain contains CODE_SUBDOMAIN' do - ENV['CODE_SUBDOMAIN'] = 'code' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('codecoverage') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - - it 'should return false when request subdomain does not contain CODE_SUBDOMAIN' do - ENV['CODE_SUBDOMAIN'] = 'code' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('api') - - _(Codeopenhub.matches?(mock_request)).must_equal false - end - - it 'should return false when CODE_SUBDOMAIN is empty' do - ENV['CODE_SUBDOMAIN'] = '' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('code') - - _(Codeopenhub.matches?(mock_request)).must_equal false - end - - it 'should return false when CODE_SUBDOMAIN is nil' do - ENV['CODE_SUBDOMAIN'] = nil - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('code') - - _(Codeopenhub.matches?(mock_request)).must_equal false - end - - it 'should handle empty request subdomain' do - ENV['CODE_SUBDOMAIN'] = 'code' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('') - - _(Codeopenhub.matches?(mock_request)).must_equal false - end - - it 'should handle nil request subdomain' do - ENV['CODE_SUBDOMAIN'] = 'code' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns(nil) - - assert_raises(NoMethodError) do - Codeopenhub.matches?(mock_request) - end - end - - it 'should be case sensitive' do - ENV['CODE_SUBDOMAIN'] = 'code' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('CODE') - - _(Codeopenhub.matches?(mock_request)).must_equal false - end - - it 'should work with complex subdomains' do - ENV['CODE_SUBDOMAIN'] = 'api' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('api-v2.staging') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - - it 'should handle partial matches correctly' do - ENV['CODE_SUBDOMAIN'] = 'cod' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('code') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - - it 'should handle subdomain at the beginning' do - ENV['CODE_SUBDOMAIN'] = 'test' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('testing') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - - it 'should handle subdomain in the middle' do - ENV['CODE_SUBDOMAIN'] = 'api' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('v1-api-staging') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - - it 'should handle subdomain at the end' do - ENV['CODE_SUBDOMAIN'] = 'code' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('staging-code') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - end - - describe 'environment variable handling' do - it 'should read CODE_SUBDOMAIN environment variable' do - ENV['CODE_SUBDOMAIN'] = 'custom' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('custom') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - - it 'should handle whitespace in environment variable' do - ENV['CODE_SUBDOMAIN'] = ' code ' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('code') - - # The current implementation doesn't trim, so this should fail - _(Codeopenhub.matches?(mock_request)).must_equal false - end - - it 'should use default empty string when environment variable is not set' do - ENV.delete('CODE_SUBDOMAIN') - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('anything') - - _(Codeopenhub.matches?(mock_request)).must_equal false - end - - it 'should re-read environment variable on each call' do - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('dynamic') - - ENV['CODE_SUBDOMAIN'] = 'dynamic' - _(Codeopenhub.matches?(mock_request)).must_equal true - - ENV['CODE_SUBDOMAIN'] = 'different' - _(Codeopenhub.matches?(mock_request)).must_equal false - end - end - - describe 'Rails routing integration' do - it 'should work as Rails routing constraint' do - ENV['CODE_SUBDOMAIN'] = 'code' - - # Simulate Rails request object - rails_request = mock('ActionDispatch::Request') - rails_request.stubs(:subdomain).returns('code') - - _(Codeopenhub.matches?(rails_request)).must_equal true - end - - it 'should respond to matches? class method as required by Rails constraints' do - _(Codeopenhub).must_respond_to :matches? - _(Codeopenhub.method(:matches?).arity).must_equal 1 - end - - it 'should handle request objects with additional methods' do - ENV['CODE_SUBDOMAIN'] = 'api' - - complex_request = mock('request') - complex_request.stubs(:subdomain).returns('api') - complex_request.stubs(:host).returns('api.example.com') - complex_request.stubs(:port).returns(80) - complex_request.stubs(:path).returns('/v1/projects') - - _(Codeopenhub.matches?(complex_request)).must_equal true - end - end - - describe 'edge cases' do - it 'should handle request object without subdomain method' do - ENV['CODE_SUBDOMAIN'] = 'code' - invalid_request = Object.new - - assert_raises(NoMethodError) do - Codeopenhub.matches?(invalid_request) - end - end - - it 'should handle nil request object' do - ENV['CODE_SUBDOMAIN'] = 'code' - - assert_raises(NoMethodError) do - Codeopenhub.matches?(nil) - end - end - - it 'should handle special characters in subdomain' do - ENV['CODE_SUBDOMAIN'] = 'test-api' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('test-api-v1') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - - it 'should handle numbers in subdomain' do - ENV['CODE_SUBDOMAIN'] = 'v2' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('api-v2-staging') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - - it 'should handle underscores in subdomain' do - ENV['CODE_SUBDOMAIN'] = 'test_api' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('test_api_v1') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - end - - describe 'string inclusion behavior' do - it 'should not perform regex matching' do - ENV['CODE_SUBDOMAIN'] = 'a.*' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('api') - - # Should treat as literal string, not regex pattern - _(Codeopenhub.matches?(mock_request)).must_equal false - end - - it 'should not perform wildcard matching' do - ENV['CODE_SUBDOMAIN'] = 'cod*' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('code') - - # Should treat as literal string, not wildcard pattern - _(Codeopenhub.matches?(mock_request)).must_equal false - end - end - - describe 'real-world scenarios' do - it 'should match code subdomain in production' do - ENV['CODE_SUBDOMAIN'] = 'code' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('code') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - - it 'should match code subdomain in staging environment' do - ENV['CODE_SUBDOMAIN'] = 'code' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('code-staging') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - - it 'should not match main site subdomain' do - ENV['CODE_SUBDOMAIN'] = 'code' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('www') - - _(Codeopenhub.matches?(mock_request)).must_equal false - end - - it 'should not match api subdomain when looking for code' do - ENV['CODE_SUBDOMAIN'] = 'code' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('api') - - _(Codeopenhub.matches?(mock_request)).must_equal false - end - - it 'should handle development environment with localhost' do - ENV['CODE_SUBDOMAIN'] = 'code' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('code') - - _(Codeopenhub.matches?(mock_request)).must_equal true - end - end - - describe 'performance considerations' do - it 'should be efficient for multiple calls' do - ENV['CODE_SUBDOMAIN'] = 'api' - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('api-v1') - - # Should handle multiple calls efficiently - 100.times do - _(Codeopenhub.matches?(mock_request)).must_equal true - end - end - - it 'should not cache environment variable reads' do - mock_request = mock('request') - mock_request.stubs(:subdomain).returns('test') - - # Should read environment variable on each call - ENV.expects(:[]).with('CODE_SUBDOMAIN').returns('test').times(3) - - 3.times { Codeopenhub.matches?(mock_request) } - end - end - end -end