def transfer_system_purpose_test(self, path_exists): """Test system purpose transfer method of the subscription token transfer task.""" # simulate syspurpose file existing path_exists.return_value = True with tempfile.TemporaryDirectory() as sysroot: task = TransferSubscriptionTokensTask( sysroot=sysroot, transfer_subscription_tokens=True) task._copy_file = Mock() task._transfer_system_purpose() sysroot_path = util.join_paths( sysroot, TransferSubscriptionTokensTask.RHSM_SYSPURPOSE_FILE_PATH) task._copy_file.assert_called_once_with( TransferSubscriptionTokensTask.RHSM_SYSPURPOSE_FILE_PATH, sysroot_path) # simulate syspurpose file not existing # - this should result in just the copy operation not being attempted path_exists.return_value = False with tempfile.TemporaryDirectory() as sysroot: task = TransferSubscriptionTokensTask( sysroot=sysroot, transfer_subscription_tokens=True) task._copy_file = Mock() task._transfer_system_purpose() task._copy_file.assert_not_called()
def test_no_transfer(self): """Test transfer_tokens being False is handled correctly for token transfer task.""" # if transfer_subscription_tokens is False, only system purpose tokens should be # transferred and others ignored with tempfile.TemporaryDirectory() as sysroot: task = TransferSubscriptionTokensTask( sysroot=sysroot, transfer_subscription_tokens=False) task._transfer_system_purpose = Mock() task._transfer_entitlement_keys = Mock() task._transfer_file = Mock() # run the task task.run() # only the system purpose transfer method should have been called task._transfer_system_purpose.assert_called_once() task._transfer_entitlement_keys.assert_not_called() task._transfer_file.assert_not_called()
def test_transfer(self): """Test transfer_tokens being True is handled correctly for token transfer task.""" # If transfer_subscription_tokens is True, all token should be transferred. # As we test each transfer method individually we just check here that all # expected method are called. with tempfile.TemporaryDirectory() as sysroot: task = TransferSubscriptionTokensTask( sysroot=sysroot, transfer_subscription_tokens=True) task._transfer_system_purpose = Mock() task._transfer_entitlement_keys = Mock() task._transfer_file = Mock() # run the task task.run() # all the transfer operations should have been done task._transfer_system_purpose.assert_called_once() task._transfer_entitlement_keys.assert_called_once() task._transfer_file.assert_has_calls([ call('/etc/pki/consumer/key.pem', 'RHSM consumer key'), call('/etc/pki/consumer/cert.pem', 'RHSM consumer cert'), call('/etc/yum.repos.d/redhat.repo', 'RHSM repo file'), call('/etc/rhsm/rhsm.conf', 'RHSM config file') ])