Sha256: 5c7dba9631e0329a6353c0419e3f6ec20b51ca2754f5c9e6f9a33502ca3b0dc7

Contents?: true

Size: 1.93 KB

Versions: 50

Compression:

Stored size: 1.93 KB

Contents

require 'test_plugin_helper'

class RhCloudHttpProxyTest < ActiveSupport::TestCase
  setup do
    @global_content_proxy_mock = 'http://global:content@localhost:80'
    @global_foreman_proxy_mock = 'http://global:foreman@localhost:80'
    @katello_cdn_proxy_mock = {
      host: 'localhost',
      port: '80',
      user: 'katello',
      password: 'cdn',
      scheme: 'http',
    }
    @katello_cdn_proxy_string_mock = 'http://katello:cdn@localhost:80'
  end

  test 'selects global content proxy' do
    setup_global_content_proxy
    setup_global_foreman_proxy
    setup_cdn_proxy do
      assert_equal @global_content_proxy_mock, ForemanRhCloud.proxy_setting
    end
  end

  test 'selects cdn proxy' do
    setup_global_foreman_proxy
    setup_cdn_proxy do
      assert_equal @katello_cdn_proxy_string_mock, ForemanRhCloud.proxy_setting
    end
  end

  test 'selects global foreman proxy' do
    setup_global_foreman_proxy

    assert_equal @global_foreman_proxy_mock, ForemanRhCloud.proxy_setting
  end

  def setup_global_content_proxy
    http_proxy = FactoryBot.create(:http_proxy, url: @global_content_proxy_mock)
    HttpProxy.stubs(:default_global_content_proxy).returns(http_proxy)
  end

  def setup_global_foreman_proxy
    Setting[:http_proxy] = @global_foreman_proxy_mock
  end

  def setup_cdn_proxy
    old_cdn_setting = SETTINGS[:katello][:cdn_proxy]
    SETTINGS[:katello][:cdn_proxy] = @katello_cdn_proxy_mock
    yield
  ensure
    SETTINGS[:katello][:cdn_proxy] = old_cdn_setting
  end

  test 'transform proxy scheme test' do
    mock_http_proxy = 'http://user:password@localhost:8888'
    mock_https_proxy = 'https://user:password@localhost:8888'

    transformed_http_uri = URI.parse(ForemanRhCloud.transform_scheme(mock_http_proxy))
    transformed_https_uri = URI.parse(ForemanRhCloud.transform_scheme(mock_https_proxy))

    assert_equal 'proxy', transformed_http_uri.scheme
    assert_equal 'proxys', transformed_https_uri.scheme
  end
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
foreman_rh_cloud-10.0.3 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-11.0.3 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-9.0.59 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-11.0.2 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-11.0.1 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-11.0.0 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-9.0.58 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-10.0.2 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-9.0.57 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-10.0.1 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-9.0.56 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-9.0.55 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-9.0.54 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-9.0.53 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-9.0.52 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-8.0.52 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-9.0.51 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-8.0.51 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-7.0.48 test/unit/rh_cloud_http_proxy_test.rb
foreman_rh_cloud-7.0.47 test/unit/rh_cloud_http_proxy_test.rb