def test_post(): method = {"post": {"data": {"x": "1"}}} url = URL('http://httpbin.org/post').update_fragment_dict(method=method) for readable in url.get(): response = Response.from_readable(readable) data = json.load(utf8_reader(response)) assert data['form'] == method['post']['data']
def run(**kw): url = URL('http://httpbin.org/forms/post') custname = 'Giles' toppings = ('bacon', 'onion') comments = 'Using CSS selector' method = { 'form': { 'form': [ ('custname', custname), ('topping', toppings), ('textarea', comments), ] } } url = url.update_fragment_dict(method=method) responses = list(map(Response.from_readable, url.get(**kw))) # we should have GET and then POST assert len(responses) == 2 data = json.loads(responses[1].read().decode('utf-8')) assert (set(data['form'].keys()) == set(['comments', 'custname', 'topping'])) assert data['form']['custname'] == custname assert data['form']['topping'] == list(toppings) assert data['form']['comments'] == comments