首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法为chefspec存根partial_search

无法为chefspec存根partial_search
EN

Stack Overflow用户
提问于 2014-05-29 15:35:29
回答 1查看 927关注 0票数 1

我正在编写一本食谱,它运行部分搜索以在其他节点上找到一个属性。我的chefspec测试由于错误ERROR: Connection refused connecting to localhost:443而失败。搜索被实例化如下:

代码语言:javascript
复制
describe 'my_recipe::default' do
  let(:test1_node) do
    stub_node('test1.com', platform: 'redhat', version: '6.3') do |node|
      node.set['my_recipe']['id'] = 101
      node.set['chef_environment'] = 'production'
    end
  end

  let(:test2_node) do
    stub_node('test2.com', platform: 'redhat', version: '6.3') do |node|
      node.set['my_recipe']['id'] = 102
      node.set['chef_environment'] = 'production'
    end
  end

  before do
    stub_search("node", "my_recipe:* AND chef_environment:production").and_return([])
  end
  let(:chef_run) do
    ChefSpec::Runner.new do |node|
      env = Chef::Environment.new
      env.name 'production'

      node.stub(:chef_environment).and_return(env.name)
      Chef::Environment.stub(:load).and_return(env)
    end.converge(described_recipe)
  end
  it 'updates the file' do
    stub_search("node", "my_recipe:* AND chef_environment:production").and_return([test1_node,test2_node])
    expect(chef_run).to create_template(/conf/my_recipe.cfg")
  end
end

我是不是搞错了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-30 21:30:12

stub_search是用来搜索主厨的。部分搜索是由食谱支持的,因此不是主厨核心的一部分。部分搜索使用不同的API端点,对协议使用POST而不是GET。

您需要对Chef的API调用进行存根,以进行部分搜索。stub_search将无法工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23937124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档