def test_es_preference_param(app): """Test the preference param is correctly added in a request.""" BaseRecordsSearch.__bases__ = (SpySearch, ) with app.test_request_context('/', headers={'User-Agent': 'Chrome'}, environ_base={'REMOTE_ADDR': '212.54.1.8'}): rs = RecordsSearch() new_rs = rs.with_preference_param() alg = hashlib.md5() encoded_user_agent = 'Chrome'.encode('utf8') encoded_user_string = '{ip}-{ua}'.format(ip=request.remote_addr, ua=encoded_user_agent) alg.update(encoded_user_string.encode('utf8')) digest = alg.hexdigest() assert new_rs.exposed_params == dict(preference=digest) # Note: V2 does not require a request context BaseRecordsSearchV2.__bases__ = (SpySearch, ) rs = RecordsSearchV2() new_rs = rs.with_preference_param(preference=1234) assert new_rs.exposed_params == {'preference': 1234}
def test_es_preference_param_no_request(): """Test that the preference param is not added when not in a request.""" RecordsSearch.__bases__ = (SpySearch, ) rs = RecordsSearch() new_rs = rs.with_preference_param() assert new_rs.exposed_params == {}