11

我正在处理通过ViewPoint gem的所有请求。使用vcr gem

require 'spec_helper'
require 'vcr'

describe CalendarImporters::Ews::Get do
  let(:conf_connection) { FactoryGirl.create(:conf_connection)}
  let(:calendar) { create(:calendar, :for_ews) }
  let(:connection) { Connections::Ews.new(conf_connection, calendar.ews_email) }

  it "works" do
    VCR.use_cassette("a/cassette") do
      connection.client.get_folder(:calendar)
    end
  end
end

connection.client返回一个新的ViewPoint连接。

我从 gem 得到的响应是:Viewpoint::EWS::Errors::UnauthorizedResponseError这相当于来自 ews api 的 401 未经授权的代码。

我发现了这个问题:https ://github.com/vcr/vcr/issues/297

这与我遇到的问题完全相同,但它已经 3 岁了,没有解决方案。我所有的其他 google foo 都没有出现。

深入研究视点宝石,我找不到请求对象之间的任何区别:HTTPClientWebMockHTTPClient这是可以预期的。

4

1 回答 1

1

ViewPoint 使用 HTTPClient 进行连接,因此您需要配置 VCR 以使用 hook into :webmock 并存根您的请求。

于 2020-11-25T08:02:12.120 回答