def post(self): params = self.request.params if not 'domain' in params: self.abort(404) domain = get_domain_or_404(params['domain']) if 'from' in params and 'firstvisit' in params: if params['from'] == 'inside' and params['firstvisit'] == 'true': # maybe use a transaction for these two independent database # operations? maybe not: it doesn't really matter if an entity of # UserData could be put while Domain failed or vice versa. domain.increment_counter() UserData.add(self.request, params['domain']) # explicit request to have content-type application/json self.response.headers['Content-Type'] = 'application/json' self.response.write(domain.get_json())
def test_userdata_add(self): remote_addr = '127.0.0.1' http_user_agent = 'foo agent' domain = 'foobar' referer = None class Request(object): pass request = Request() request.headers = {'HTTP_USER_AGENT': http_user_agent} request.referer = referer os.environ['REMOTE_ADDR'] = remote_addr UserData.add(request, domain) user_data = UserData.query(UserData.domain==domain).get() self.assertEqual(user_data.remote_addr, remote_addr) self.assertEqual(user_data.http_user_agent, http_user_agent) self.assertEqual(user_data.referer, referer)
def test_userdata_add(self): remote_addr = '127.0.0.1' http_user_agent = 'foo agent' domain = 'foobar' referer = None class Request(object): pass request = Request() request.headers = {'HTTP_USER_AGENT': http_user_agent} request.referer = referer os.environ['REMOTE_ADDR'] = remote_addr UserData.add(request, domain) user_data = UserData.query(UserData.domain == domain).get() self.assertEqual(user_data.remote_addr, remote_addr) self.assertEqual(user_data.http_user_agent, http_user_agent) self.assertEqual(user_data.referer, referer)