예제 #1
0
        public void SetEvent(string name, ByteString payload)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new Exception("Event name must be a non-empty string");
            }

            var @event = new ChaincodeEvent
            {
                EventName = name,
                Payload   = payload
            };

            ChaincodeEvent = @event;
        }
        public void TestSetGetEvent()
        {
            ChaincodeStub stub = new ChaincodeStub("myc", "txId", handler.Object, new List <ByteString>(), null);

            byte[] payload   = new byte[] { 0x10, 0x20, 0x20 };
            string eventName = "event_name";

            stub.SetEvent(eventName, payload);
            ChaincodeEvent evnt = stub.Event;

            Assert.AreEqual(evnt.EventName, eventName);
            Assert.AreEqual(evnt.Payload, ByteString.CopyFrom(payload));
            stub.SetEvent(eventName, null);
            evnt = stub.Event;
            Assert.IsNotNull(evnt);
            Assert.AreEqual(evnt.EventName, eventName);
            Assert.AreEqual(evnt.Payload, ByteString.CopyFrom(new byte[0]));
        }
예제 #3
0
        private static ChaincodeMessage NewEventMessage(ChaincodeMessage.Types.Type type, string channelId, string txId, ByteString payload, ChaincodeEvent evnt)
        {
            ChaincodeMessage msg = new ChaincodeMessage {
                Type = type, ChannelId = channelId, Txid = txId, Payload = payload
            };

            if (evnt != null)
            {
                msg.ChaincodeEvent = evnt;
            }
            return(msg);
        }
예제 #4
0
 private static ChaincodeMessage NewCompletedEventMessage(string channelId, string txId, Response response, ChaincodeEvent evnt)
 {
     return(NewEventMessage(ChaincodeMessage.Types.Type.Completed, channelId, txId, ToProtoResponse(response).ToByteString(), evnt));
 }
예제 #5
0
 private static ChaincodeMessage NewErrorEventMessage(string channelId, string txId, string message, ChaincodeEvent evnt)
 {
     return(NewEventMessage(ChaincodeMessage.Types.Type.Error, channelId, txId, ByteString.CopyFromUtf8(message), evnt));
 }