def test_basic_options_requests(port, http_request): request = http_request("OPTIONS", "http://localhost:{}/basic/string".format(port)) policies = [UserAgentPolicy("myusergant"), RedirectPolicy()] with Pipeline(RequestsTransport(), policies=policies) as pipeline: response = pipeline.run(request) if is_rest(request): assert is_rest(response.http_response) assert pipeline._transport.session is None assert isinstance(response.http_response.status_code, int)
def post(self): workout_title = self.request.get("workout") new_workout = Workout(parent = PARENT_KEY, title = workout_title) new_workout.put() arguments = self.request.arguments() exercises = [ {} for i in range( utils.findLength(arguments) ) ] print exercises for argu in arguments: if str(argu) != 'workout': num = utils.findPosition(argu) if utils.is_time(argu): exercises[num]['time'] = int(self.request.get(argu)) if utils.is_rest(argu): exercises[num]['rest'] = int(self.request.get(argu)) if utils.is_name(argu): exercises[num]['name'] = str(self.request.get(argu)) print exercises for counter, exercise in enumerate(exercises): ## Needs to be ordered print counter print exercise new_exercise = Exercise(parent = PARENT_KEY, name = exercise['name'], time = exercise['time'], rest = exercise['rest'], workout_title = workout_title, order = counter) new_exercise.put() self.redirect('/home')
def test_basic_requests_separate_session(port, http_request): session = requests.Session() request = http_request("GET", "http://localhost:{}/basic/string".format(port)) policies = [UserAgentPolicy("myusergant"), RedirectPolicy()] transport = RequestsTransport(session=session, session_owner=False) with Pipeline(transport, policies=policies) as pipeline: response = pipeline.run(request) if is_rest(request): assert is_rest(response.http_response) assert transport.session assert isinstance(response.http_response.status_code, int) transport.close() assert transport.session transport.session.close()
def test_request_text(port, http_request): client = PipelineClientBase("http://localhost:{}".format(port)) if is_rest(http_request): request = http_request("GET", "/", json="foo") else: request = client.get("/", content="foo") # In absence of information, everything is JSON (double quote added) assert request.data == json.dumps("foo") if is_rest(http_request): request = http_request("POST", "/", headers={'content-type': 'text/whatever'}, content="foo") else: request = client.post("/", headers={'content-type': 'text/whatever'}, content="foo") # We want a direct string assert request.data == "foo"