public void ConnectLoggingTest() { Expect.AtLeastOnce.On(mockConnection); Expect.Once.On(mockApplicationLogger).Method("Log").With(testActiveMqRemoteReceiver, LogLevel.Information, "Connected to URI: '" + connectUriName + "', Queue: '" + queueName + "'."); testActiveMqRemoteReceiver.Connect(); mocks.VerifyAllExpectationsHaveBeenMet(); }
//------------------------------------------------------------------------------ // // Method: Connect // //------------------------------------------------------------------------------ /// <summary> /// Connects and initialises the underlying MethodInvocationRemoting and ActiveMQ components. /// </summary> public void Connect() { outgoingSender.Connect(); outgoingReceiver.Connect(); incomingSender.Connect(); incomingReceiver.Connect(); methodInvocationReceiver.Receive(); }
public void ReceiveException() { ITextMessage mockTextMessage = mocks.NewMock <ITextMessage>(); using (mocks.Ordered) { SetConnectExpectations(); Expect.Once.On(mockConsumer).Method("Receive").WithAnyArguments().Will(Throw.Exception(new Exception("Mock Receive Failure"))); } testActiveMqRemoteReceiver.Connect(); Exception e = Assert.Throws <Exception>(delegate { string receivedMessage = testActiveMqRemoteReceiver.Receive(); }); mocks.VerifyAllExpectationsHaveBeenMet(); Assert.That(e.Message, NUnit.Framework.Is.StringStarting("Error receiving message.")); }
static void Main(string[] args) { // Setup connection parameters for ActiveMQ const string connectUri = "activemq:tcp://localhost:61616?wireFormat.maxInactivityDuration=0"; const string queueName = "FromJava"; const string requestQueueFilter = "Request"; const string responseQueueFilter = "Response"; const int receiverConnectLoopTimeout = 200; // Setup method invocation receiver ActiveMqRemoteSender activeMqSender = new ActiveMqRemoteSender(connectUri, queueName, responseQueueFilter); ActiveMqRemoteReceiver activeMqReceiver = new ActiveMqRemoteReceiver(connectUri, queueName, requestQueueFilter, receiverConnectLoopTimeout); MethodInvocationSerializer methodSerializer = new MethodInvocationSerializer(new SerializerOperationMap()); MethodInvocationRemoteReceiver methodInvocationReceiver = new MethodInvocationRemoteReceiver(methodSerializer, activeMqSender, activeMqReceiver); methodInvocationReceiver.MethodInvocationReceived += new MethodInvocationReceivedEventHandler(ReceiveMethodInvocation); try { // Connect to ActiveMQ activeMqSender.Connect(); activeMqReceiver.Connect(); // Start receiving method invocations methodInvocationReceiver.Receive(); Console.WriteLine("Waiting for incoming method calls..."); Console.WriteLine("Press [ENTER] to cancel."); Console.ReadLine(); } catch (Exception e) { Console.WriteLine("An exception occurred"); Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); } finally { // Stop receiving, disconnect, and dispose methodInvocationReceiver.CancelReceive(); activeMqReceiver.CancelReceive(); activeMqReceiver.Disconnect(); activeMqSender.Disconnect(); activeMqReceiver.Dispose(); activeMqSender.Dispose(); } }
public void ReceiveMetricsTest() { ITextMessage mockTextMessage = mocks.NewMock <ITextMessage>(); IPrimitiveMap mockTextMessageProperties = mocks.NewMock <IPrimitiveMap>(); string receivedMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?><MethodInvocation><MethodName>TestMethod</MethodName><Parameters><Parameter><DataType>string</DataType><Data>abc</Data></Parameter><Parameter><DataType>integer</DataType><Data>123</Data></Parameter><Parameter /><Parameter><DataType>double</DataType><Data>4.5678899999999999e+002</Data></Parameter></Parameters><ReturnType /></MethodInvocation>"; using (mocks.Ordered) { // Expects for Connect() Expect.AtLeastOnce.On(mockConnection); // Expects for first Receive() Expect.Once.On(mockConsumer).Method("Receive").WithAnyArguments().Will(Return.Value(mockTextMessage)); Expect.Once.On(mockTextMessage).GetProperty("Properties").Will(Return.Value(mockTextMessageProperties)); Expect.Once.On(mockTextMessageProperties).Method("GetString").With("Text").Will(Return.Value(receivedMessage)); Expect.Once.On(mockMetricLogger).Method("Increment").With(IsMetric.Equal(new MessageReceived())); Expect.Once.On(mockMetricLogger).Method("Add").With(IsAmountMetric.Equal(new ReceivedMessageSize(381))); } testActiveMqRemoteReceiver.Connect(); testActiveMqRemoteReceiver.Receive(); mocks.VerifyAllExpectationsHaveBeenMet(); }