def generate_messages(): headers = {} messages = [ message.Message(payload="hello", headers=headers), message.Message(payload="world", headers=headers), message.Message(payload="foo", headers=headers), message.Message(payload="bar", headers=headers), ] for msg in messages: yield msg
def generate_messages(): headers = { 'Content-Type': message.Message.HeaderValue(values=['text/plain']) } messages = [ message.Message(payload=b'foo', headers=headers), message.Message(payload=b'bar', headers=headers), message.Message(payload=b'foobar', headers=headers), ] for msg in messages: yield msg
def generate_messages(): headers = { 'Content-Type': message.Message.HeaderValue(values=['text/plain']), 'correlationId': message.Message.HeaderValue(values=[str(uuid.uuid4())]) } messages = [ message.Message(payload="hello", headers=headers), message.Message(payload="world", headers=headers), message.Message(payload="foo", headers=headers), message.Message(payload="bar", headers=headers), ] for msg in messages: yield msg
def test_discrete_window_text(self): from itertools import count import json env = function_env('windows.py', 'discrete_window_text') func, interaction_model = invoker.function_invoker.install_function( env) threading.Thread(target=invoker.function_invoker.invoke_function, args=([func, interaction_model, env])).start() channel = grpc.insecure_channel('localhost:%s' % env['GRPC_PORT']) testutils.wait_until_channel_ready(channel) ''' unbounded generator of Messages converting int to bytes ''' messages = (message.Message( payload=bytes("X%d" % i, 'UTF-8'), headers={ 'Content-Type': message.Message.HeaderValue(values=['text/plain']) }) for i in count()) responses = function.MessageFunctionStub(channel).Call(messages) ''' Check the first 10 responses. Each message is a json serialized tuple of size 3 containing the next sequence of ints. ''' for _ in range(10): tpl = json.loads(next(responses).payload) invoker.function_invoker.stop()
def generate_messages(): headers = { 'Content-Type': message.Message.HeaderValue(values=['application/json']), 'correlationId': message.Message.HeaderValue(values=[str(uuid.uuid4())]) } messages = [ message.Message(payload='{"foo":"bar","hello":"world"}', headers=headers), ] for msg in messages: yield msg
def test_sliding_window(self): from itertools import count import struct import json env = function_env('windows.py', 'sliding_window') func, interaction_model = invoker.function_invoker.install_function( env) threading.Thread(target=invoker.function_invoker.invoke_function, args=([func, interaction_model, env])).start() channel = grpc.insecure_channel('localhost:%s' % env['GRPC_PORT']) testutils.wait_until_channel_ready(channel) ''' unbounded generator of Messages converting int to bytes ''' messages = (message.Message( payload=struct.pack(">I", i), headers={ 'Content-Type': message.Message.HeaderValue( values=['application/octet-stream']) }) for i in count()) responses = function.MessageFunctionStub(channel).Call(messages) ''' Check the first 10 responses. Each message is a json serialized tuple of size 3 containing the next sequence of ints: ((0,1,2),(1,2,3),(2,3,4)) ''' for i in range(10): tpl = json.loads(next(responses).payload) self.assertEqual(3, len(tpl)) for j in range(len(tpl)): self.assertEqual(i + j, tpl[j]) invoker.function_invoker.stop()
def messages(): yield message.Message()