Project

General

Profile

Download (2.4 KB) Statistics
| Branch: | Tag: | Revision:
require 'katello_test_helper'

module Katello
module Service
class Repository
class UpdateRemoteTest < ::ActiveSupport::TestCase
include Katello::Pulp3Support

def setup
mock_remotes_create_response = mock('response')
mock_remotes_create_response.stubs(:pulp_href).returns('http://someurl')
@mock_api_wrapper = mock("api_wrapper")
@mock_pulp3_api = mock('pulp3_api')
@mock_pulp3_api.stubs(:create).returns(mock_remotes_create_response)
@mock_smart_proxy = mock('smart_proxy')
@mock_smart_proxy.stubs(:pulp3_support?).returns(true)
@mock_smart_proxy.stubs(:pulp2_preferred_for_type?).returns(false)
@mock_smart_proxy.stubs(:pulp_primary?).returns(true)
@file_repo = katello_repositories(:generic_file)
@file_repo_service = @file_repo.backend_service(@mock_smart_proxy)
@file_repo.root.update(url: 'my-files.org')
@file_repo_service.stubs(:api).returns(@mock_api_wrapper)
@mock_api_wrapper.stubs(:get_remotes_api).returns(@mock_pulp3_api)

@file_repo.remote_href = '193874298udsfsdf'
refute_empty @file_repo.remote_href
end

def test_feed_url_exists_and_remote_href_exists_updates_remote
refute_empty @file_repo_service.common_remote_options[:url], "Feed url was empty or blank."
@mock_pulp3_api.expects(:partial_update).once
@file_repo_service.update_remote
end

def test_feed_url_is_missing_but_remote_href_exists_deletes_remote
@file_repo_service.stubs(:remote_options).returns(url: '')
assert_empty @file_repo_service.remote_options[:url], "Feed url was not empty or blank."
@mock_pulp3_api.expects(:partial_update).never
@mock_pulp3_api.expects(:delete).with(@file_repo.remote_href)
@file_repo_service.update_remote
end

def test_feed_url_is_not_blank_and_remote_href_is_nil_creates_new_remote
refute_empty @file_repo_service.remote_options[:url], "Feed url was empty or blank."
@file_repo.remote_href = nil
@mock_pulp3_api.expects(:partial_update).never
@mock_pulp3_api.expects(:delete).never
@file_repo_service.expects(:create_remote).once
@file_repo_service.update_remote
end

def teardown
mocha_teardown
end
end
end
end
end
(2-2/2)