模拟ChefSpec中的文件内容

时间:2014-02-16 06:37:04

标签: chefspec

我有一本厨师食谱,将ubutunu用户(亚马逊AMI的默认用户)授权密钥文件复制到新创建的用户。

ubuntu_public_key_file = "/home/ubuntu/.ssh/authorized_keys"
file "#{new_user_homedir}/.ssh/authorized_keys" do
  owner new_user
  group new_user_group
  mode "0600"
  content IO.read(ubuntu_public_key_file)
end

我正在尝试chefspec,我想测试一下。我想模仿ubuntu_public_key_file及其内容的存在。任何对此的反馈都表示赞赏!

1 个答案:

答案 0 :(得分:0)

您使用RSpec存根:

describe 'cookbook::recipe' do
  let(:content) do
    "CUSTOM SSH KEY CONTENT HERE"
  end

  before do
    IO.stub(:read).with('/home/ubuntu/.ssh/authorized_keys').and_return(content)
  end
end