def test_can_set_facter(self, mock_run, mock_copy_dir):
class DummyGuest(Guest):
name = 'dummy'
host = Host()
guest = DummyGuest(unittest.mock.Mock())
mock_run.return_value = 0
provisioner = PuppetProvisioner('./', host, [guest], {
'manifest_file': 'site.pp',
'manifests_path': 'test_manifests',
'facter': {'foo': 'bah', 'bar': 'baz baz'}})
provisioner.provision()
assert mock_run.call_count == 2
assert mock_run.call_args_list[1][0][0] == [
'sh', '-c',
"FACTER_bar='baz baz' FACTER_foo=bah "
"puppet apply --detailed-exitcodes --manifestdir {} {}".format(
PurePosixPath(provisioner._guest_manifests_path),
PurePosixPath(provisioner._guest_manifests_path) / 'site.pp')]
评论列表
文章目录