def randompaths(request, num_paths=1, size=250, mu=0, sigma=1): r = [] for p in range(num_paths): v = 0 path = [v] r.append(path) for t in range(size): v += normalvariate(mu, sigma) path.append(v) return r
def request_stream(self, environ, bits): if len(bits) == 2: try: m = int(bits[0]) n = int(bits[1]) except: raise HttpException(status=404) else: raise HttpException(status=404) stream = ('Chunk %s\n%s\n\n' % (i+1, ''.join((choice(characters) for\ _ in range(m)))) for i in range(n)) return self.response(stream, content_type='text/plain')
def request_getsize(self, environ, bits): if len(bits) == 1: size = int(bits[0]) else: raise HttpException(status=404) data = {'size': size, 'data': ''.join(('d' for n in range(size)))} return self.response(jsonbytes(data))
def testStreamed(self): stream = ('line {0}\n'.format(l+1) for l in range(10)) r = wsgi.WsgiResponse(content=stream) self.assertEqual(r.status_code, 200) self.assertEqual(r.status, '200 OK') self.assertEqual(r.content, stream) self.assertTrue(r.is_streamed) data = [] for l, a in enumerate(r): data.append(a) self.assertTrue(r.started) self.assertEqual(a, ('line {0}\n'.format(l+1)).encode('utf-8')) self.assertEqual(len(data), 10)
def mask(self, data): """Performs the masking or unmasking operation on data using the simple masking algorithm:: j = i MOD 4 transformed-octet-i = original-octet-i XOR masking-key-octet-j """ masked = bytearray(data) key = self.masking_key if not ispy3k: #pragma nocover key = map(ord, key) for i in range(len(data)): masked[i] = masked[i] ^ key[i%4] return masked
def timeit(self, func, times, *args, **kwargs): '''Usefull little utility for timing responses from server. The usage is simple:: >>> from pulsar.apps import rpc >>> p = rpc.JsonProxy('http://127.0.0.1:8060') >>> p.timeit('ping',10) 0.56... >>> _ ''' r = range(times) func = getattr(self, func) start = default_timer() for t in r: func(*args, **kwargs) return default_timer() - start
def _call(self): simple = lambda info, *args: info testMethod = self.testMethod testStartUp = getattr(self.test, 'startUp', lambda : None) testGetTime = getattr(self.test, 'getTime', lambda dt : dt) testGetInfo = getattr(self.test, 'getInfo', simple) testGetSummary = getattr(self.test, 'getSummary', simple) t = 0 t2 = 0 info = {} for r in range(self.number): testStartUp() start = default_timer() yield testMethod() delta = default_timer() - start dt = testGetTime(delta) testGetInfo(info, delta, dt) t += dt t2 += dt*dt self.updateSummary(info, self.number, t, t2) self.set_test_attribute('bench_info', testGetSummary(info, self.number, t, t2))
def on_message(self, environ, msg): path = environ.get('PATH_INFO') if path == '/echo': return msg elif path == '/data': return json.dumps([(i,random()) for i in range(100)])
def on_message(self, msg): path = self.path if path == '/echo': return msg elif path == '/streaming': return json.dumps([(i,random()) for i in range(100)])