コード例 #1
0
        public void Event_Should_Be_Received_And_Deserialized_To_All_Observer_Classes()
        {
            const string queue             = "test3";
            const string expectedProperty  = "this is a test message";
            const string expectedProperty1 = "this is another test message";

            try
            {
                var testWorked = new List <bool>();
                _defaultConnection.AddQueue(queue);

                using (var handler = new EventHubHandler(_defaultConnection))
                {
                    handler.OnEventReceived <TestClass1>(queue, result =>
                    {
                        Assert.Equal(expectedProperty, result.Property);
                        testWorked.Add(true);
                        return(Task.CompletedTask);
                    });

                    handler.OnEventReceived <TestClass2>(queue, result =>
                    {
                        Assert.Equal(expectedProperty, result.Property);
                        Assert.Equal(expectedProperty1, result.Property1);
                        testWorked.Add(true);
                        return(Task.CompletedTask);
                    });

                    SendEvent(queue, JsonConvert.SerializeObject(new TestClass2
                    {
                        Property  = expectedProperty,
                        Property1 = expectedProperty1
                    }));

                    Thread.Sleep(300);
                }

                if (testWorked.Count < 2 || testWorked.Any(t => !t))
                {
                    Assert.True(false, "Test didn't work");
                }
            }
            finally
            {
                CleanPipes(queue);
            }
        }
コード例 #2
0
        public void Event_Should_Be_Received_Successfully()
        {
            const string queue          = "test2";
            const string expectedResult = "this is a test message";

            try
            {
                var testWorked = false;
                _defaultConnection.AddQueue(queue);

                using (var handler = new EventHubHandler(_defaultConnection))
                {
                    handler.OnEventReceived <TestClass1>(queue, result =>
                    {
                        Assert.Equal(expectedResult, result.Property);
                        testWorked = true;
                        return(Task.CompletedTask);
                    });

                    SendEvent(queue, JsonConvert.SerializeObject(new TestClass1
                    {
                        Property = expectedResult
                    }));

                    Thread.Sleep(200);
                }

                if (!testWorked)
                {
                    Assert.True(false, "Test didn't work");
                }
            }
            finally
            {
                CleanPipes(queue);
            }
        }