public async Task SimpleConnect()
        {
            var stream     = new MemoryStream();
            var respWriter = new RespWriter(stream);
            var hi         = new SimpleStringMessage("HI {\"v\":\"1\"}");
            var ok         = new SimpleStringMessage("OK");
            await respWriter.WriteAsync(hi);

            await respWriter.WriteAsync(ok);

            stream.Position = 0;
            var transport = new Mock <IConnectionTransport>();

            transport
            .Setup(t => t.GetStreamAsync())
            .Returns(Task.FromResult((Stream)stream));
            var transportFactory = new Mock <IConnectionTransportFactory>();

            transportFactory
            .Setup(f => f.CreateTransport())
            .Returns(transport.Object);
            var configuration = new Mock <IConnectionConfiguration>();

            configuration
            .Setup(c => c.TransportFactory)
            .Returns(transportFactory.Object);
            configuration
            .Setup(c => c.Identity)
            .Returns(WorkerConnectionIdentity.GenerateNew);
            var connection = new FaktoryConnection(configuration.Object);
            await connection.ConnectAsync();
        }
Exemplo n.º 2
0
        public FaktoryMessage(SimpleStringMessage message)
        {
            var line       = message.Payload;
            var spaceIndex = line.IndexOf(' ');
            var hasPayload = spaceIndex != -1;

            Verb    = hasPayload ? ParseVerb(line.Substring(0, spaceIndex)) : ParseVerb(line);
            Payload = hasPayload ? line.Substring(spaceIndex) : null;
        }