public void SubscribeToChannel_Success() { RunInitSql("020.SubscribeToChannel_Success", _conn); IMessageQueue mq = CreateMQ(); // getting channel ID IMQGetChannelIdParams paramsGetChannelId = mq.CreateGetChannelIdParams(); paramsGetChannelId.ChannelName = ConfigurationManager.AppSettings["ChannelName"]; IMQGetChannelIdResult channelId = mq.GetChannelId(paramsGetChannelId); // getting subscriber ID IMQGetSubscriberIdParams paramsGetSubscriberId = mq.CreateGetSubscriberIdParams(); paramsGetSubscriberId.SubscriberName = ConfigurationManager.AppSettings["SenderName"]; IMQGetSubscriberIdResult subscriberId = mq.GetSubscriberId(paramsGetSubscriberId); // subscribing IMQSubscribeParams paramSubscribe = mq.CreateSubscribeParams(); paramSubscribe.ChannelId = (long)channelId.ChannelId; paramSubscribe.SubscriberId = (long)subscriberId.SubscriberId; var result = mq.Subscribe(paramSubscribe); RunFinalizeSql("020.SubscribeToChannel_Success", _conn); Assert.IsNotNull(result); Assert.IsTrue(result.Success); }
public void SubscribeToChannel_InvalidChannelId() { RunInitSql("021.SubscribeToChannel_InvalidChannelId", _conn); IMessageQueue mq = CreateMQ(); // getting channel ID long invalidChannelId = 666000666; // getting subscriber ID IMQGetSubscriberIdParams paramsGetSubscriberId = mq.CreateGetSubscriberIdParams(); paramsGetSubscriberId.SubscriberName = ConfigurationManager.AppSettings["SenderName"]; IMQGetSubscriberIdResult subscriberId = mq.GetSubscriberId(paramsGetSubscriberId); // subscribing IMQSubscribeParams paramSubscribe = mq.CreateSubscribeParams(); paramSubscribe.ChannelId = invalidChannelId; paramSubscribe.SubscriberId = (long)subscriberId.SubscriberId; var result = mq.Subscribe(paramSubscribe); RunFinalizeSql("021.SubscribeToChannel_InvalidChannelId", _conn); Assert.IsNotNull(result); Assert.IsFalse(result.Success); Assert.IsNotEmpty(result.Errors); }
public void PushMessage_Success() { RunInitSql("030.PushMessage_Success", _conn); IMessageQueue mq = CreateMQ(); // getting channel ID IMQGetChannelIdParams paramsGetChannelId = mq.CreateGetChannelIdParams(); paramsGetChannelId.ChannelName = ConfigurationManager.AppSettings["ChannelName"]; IMQGetChannelIdResult channelId = mq.GetChannelId(paramsGetChannelId); // getting subscribers ID IMQGetSubscriberIdParams paramsSenderId = mq.CreateGetSubscriberIdParams(); paramsSenderId.SubscriberName = ConfigurationManager.AppSettings["SenderName"]; IMQGetSubscriberIdResult senderId = mq.GetSubscriberId(paramsSenderId); IMQGetSubscriberIdParams paramsRecId = mq.CreateGetSubscriberIdParams(); paramsSenderId.SubscriberName = ConfigurationManager.AppSettings["ReceiverName"]; IMQGetSubscriberIdResult receiverId = mq.GetSubscriberId(paramsSenderId); // subscribing both IMQSubscribeParams paramSubscribe = mq.CreateSubscribeParams(); paramSubscribe.ChannelId = (long)channelId.ChannelId; paramSubscribe.SubscriberId = (long)senderId.SubscriberId; var subscribeResult = mq.Subscribe(paramSubscribe); paramSubscribe.SubscriberId = (long)receiverId.SubscriberId; subscribeResult = mq.Subscribe(paramSubscribe); // sending message IMQPushMessageParams paramsPush = mq.CreatePushMessageParams(); paramsPush.ChannelId = (long)channelId.ChannelId; paramsPush.SenderId = (long)senderId.SubscriberId; paramsPush.MessageType = ConfigurationManager.AppSettings["TestMessageType"]; paramsPush.Payload = ConfigurationManager.AppSettings["TestMessagePayload"]; paramsPush.RecipientId = null; var result = mq.PushMessage(paramsPush); RunFinalizeSql("030.PushMessage_Success", _conn); Assert.IsNotNull(result); Assert.IsTrue(result.Success); Assert.IsEmpty(result.Errors); Assert.Greater(result.MessageId, 0); }
public bool Init(string name) { if (_subscriberId <= 0 && _listener == null) { IMQRegisterSubscriberParams paramsRegSubs = _mq.CreateRegisterSubscriberParams(); paramsRegSubs.SubscriberName = name; var result = _mq.RegisterSubscriber(paramsRegSubs); IMQGetSubscriberIdResult resGetId = null; if (!result.Success) { IMQGetSubscriberIdParams paramGetId = _mq.CreateGetSubscriberIdParams(); paramGetId.SubscriberName = name; resGetId = _mq.GetSubscriberId(paramGetId); if (resGetId.Success) { _subscriberId = (long)resGetId.SubscriberId; } } else { _subscriberId = result.SubscriberId; } _name = name; _listener = new Task(ListenerThread); _isListening = true; _listener.Start(); return(result.Success || (resGetId != null && resGetId.Success)); } else { return(true); } }