2017-08-08 75 views
1

我开始接受Algolia :: AlgoliaProtocolError从1.17.0升级到1.19.1Algolia :: AlgoliaProtocolError在RSpec的宝石升级后

完整的堆栈跟踪后下方。

Failure/Error: @listing = FactoryGirl.create :used_car_listing, user_id: another_user.id 

Algolia::AlgoliaProtocolError: 
    Cannot reach any host: getaddrinfo: nodename nor servname provided, or not known (XXX.algolia.net:443), getaddrinfo: nodename nor servname provided, or not known (XXX-3.algolianet.com:443), getaddrinfo: nodename nor servname provided, or not known (XXX-1.algolianet.com:443), getaddrinfo: nodename nor servname provided, or not known (XXX-2.algolianet.com:443) 
# /Users/****/.rvm/gems/[email protected]****/gems/algoliasearch-1.12.7/lib/algolia/client.rb:365:in `request' 
# /Users/****/.rvm/gems/[email protected]****/gems/algoliasearch-1.12.7/lib/algolia/client.rb:377:in `put' 
# /Users/****/.rvm/gems/[email protected]****/gems/algoliasearch-1.12.7/lib/algolia/index.rb:431:in `set_settings' 
# /Users/****/.rvm/gems/[email protected]****/gems/algoliasearch-rails-1.19.1/lib/algoliasearch-rails.rb:292:in `block (3 levels) in <class:SafeIndex>' 
# /Users/****/.rvm/gems/[email protected]****/gems/algoliasearch-rails-1.19.1/lib/algoliasearch-rails.rb:327:in `log_or_throw' 
# /Users/****/.rvm/gems/[email protected]****/gems/algoliasearch-rails-1.19.1/lib/algoliasearch-rails.rb:291:in `block (2 levels) in <class:SafeIndex>' 
# /Users/****/.rvm/gems/[email protected]****/gems/algoliasearch-rails-1.19.1/lib/algoliasearch-rails.rb:750:in `algolia_ensure_init' 
# /Users/****/.rvm/gems/[email protected]****/gems/algoliasearch-rails-1.19.1/lib/algoliasearch-rails.rb:552:in `block in algolia_index!' 
# /Users/****/.rvm/gems/[email protected]****/gems/algoliasearch-rails-1.19.1/lib/algoliasearch-rails.rb:549:in `each' 
# /Users/****/.rvm/gems/[email protected]****/gems/algoliasearch-rails-1.19.1/lib/algoliasearch-rails.rb:549:in `algolia_index!' 
# /Users/****/.rvm/gems/[email protected]****/gems/algoliasearch-rails-1.19.1/lib/algoliasearch-rails.rb:893:in `algolia_index!' 
# /Users/****/.rvm/gems/[email protected]****/gems/algoliasearch-rails-1.19.1/lib/algoliasearch-rails.rb:912:in `algolia_enqueue_index!' 
# /Users/****/.rvm/gems/[email protected]****/gems/algoliasearch-rails-1.19.1/lib/algoliasearch-rails.rb:942:in `algolia_perform_index_tasks' 
# ### REMOVED FOR BREVITY 
# /Users/****/.rvm/gems/[email protected]****/gems/factory_girl-4.5.0/lib/factory_girl/strategy_syntax_method_registrar.rb:20:in `block in define_singular_strategy_method' 
# ./spec/controllers/api/v1/images_controller_spec.rb:10:in `block (3 levels) in <top (required)>' 
+0

mmhan,这可能是由于配置。 Algolia索引正在开发中? 你想要测试什么? – MatayoshiMariano

+0

你正试图通过你的网络无法访问的服务器getaddrinfo:节点名或服务器名提供,或不知道(XXX.algolia.net:443),getaddrinfo:节点名或服务器名提供' – phoet

+0

@MatayoshiMariano Algolia的索引被禁用针对测试环境,因此测试用例在升级前正在工作。升级打破的唯一变化就是升级。 – mmhan

回答

0

据我所知,你已经设置XXX为您Algolia的applicationID因为你运行测试,你不希望他们调用实际API。不幸的是,看起来宝石试图调用API,因此试图联系XXX.algolia.net - >这是无法访问...

你是在嘲笑调用(使用WebMock)或通过algoliasearch块禁用索引?你能告诉我们更多关于如何在测试中“禁用”Algolia索引的内容吗?

+0

我会停止在这里重复我的评论。因为我们已经在github @redox上互相交谈过了 – mmhan