Как разрешить запросу с этим путем передать веб-макет?

Я хочу издеваться над запросами NetHTTP, но некоторые из них должны быть разрешены.

require "open-uri"    
require "webmock"
WebMock.enable!

Когда я объявляю разрешенный запрос следующим образом:

WebMock.disable_net_connect! allow: /\Ahttps:\/\/graph\.facebook\.com\/v2\.8\/debug_token\?access_token=/

и позвоните:

open("https://graph.facebook.com/v2.8/debug_token?access_token=qwerty", &:read)

Я получаю это:

HTTP-соединения отключены. Незарегистрированный запрос: GET https://graph.facebook.com/v2.8/debug_token?access_token=qwerty с заголовками...
Вы можете заглушить этот запрос следующим фрагментом:
stub_request(:get, "https://graph.facebook.com/v2.8/debug_token?access_token=qwerty").
...

Это также не работает с регулярным выражением следующим образом:

/\Ahttps:\/\/graph\.facebook\.com\//

но не терпит неудачу с этим:

/\Ahttps:\/\/graph\.facebook\.com/

Как разрешить полное регулярное выражение, которое я изначально хотел? Почему даже \/ после имени хоста не соответствует?


person Nakilon    schedule 15.02.2017    source источник
comment
Это очень странно. Я попытался открыть консоль и запустить эти команды в указанном порядке, и я получил правильное поведение... Вы уверены, что строка disable_net_connect! выполняется перед строкой open?   -  person Glyoko    schedule 15.02.2017
comment
@Glyoko gist.github.com/Nakilon/d8a2f473d7675c590e69fc1b45dfaf44   -  person Nakilon    schedule 16.02.2017
comment
Очень странно... Я получаю OpenURI::HTTPError: 400 Bad Request, что правильно, так как access_token поддельный. Извините, я в растерянности.   -  person Glyoko    schedule 16.02.2017


Ответы (1)


В вашей версии Webmock (1.22.6) есть ошибка при использовании open-uri:

https://github.com/bblimke/webmock/issues/600

Вы можете исправить эту ошибку, обновив гем webmock до последней версии 1.x или 2.x.

person eiko    schedule 15.02.2017