2017-02-15 2 views
1

Je veux simuler les requêtes NetHTTP mais certaines devraient être autorisées.Comment autoriser la requête avec ce chemin à passer le webmock?

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

Quand je déclare une demande autorisée comme ceci:

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

et appelez:

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

Je reçois ceci:

HTTP connections are disabled. Unregistered request: GET https://graph.facebook.com/v2.8/debug_token?access_token=qwerty with headers ...
You can stub this request with the following snippet:
stub_request(:get, "https://graph.facebook.com/v2.8/debug_token?access_token=qwerty").
...

Il échoue aussi avec regex comme ceci:

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

mais ne manque pas ceci:

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

Comment permettre la pleine regex que je voulais d'abord? Pourquoi même le \/ après nom d'hôte ne correspond pas?

+1

C'est très étrange. J'ai essayé d'ouvrir une console et d'exécuter ces commandes, dans cet ordre, et j'ai obtenu le comportement correct ... Etes-vous positif que la ligne 'disable_net_connect!' Est en cours d'exécution avant le 'open'? – Glyoko

+1

@Glyoko https://gist.github.com/Nakilon/d8a2f473d7675c590e69fc1b45dfaf44 – Nakilon

+1

Très étrange ... Je reçois 'OpenURI :: HTTPError: 400 Bad Request' qui est correct, puisque le access_token est faux. Désolé, je suis à perte. – Glyoko

Répondre