public void TestExchangeService_DeclareExchange_InvalidExchangeName()
 {
     Assert.That(() =>
     {
         BaseExchangeService.Declare(name: "", type: "direct");
     }, Throws.TypeOf <ValidationException>());
 }
 public void TestExchangeService_DeclareExchange_InvalidExchangeType()
 {
     Assert.That(() =>
     {
         BaseExchangeService.Declare(name: "test.Example.3", type: "BLAHBLAH");
     }, Throws.TypeOf <ValidationException>());
 }
 public void TestExchangeService_DeclareExchange_NullArguments()
 {
     Assert.That(() =>
     {
         BaseExchangeService.Declare(null);
     }, Throws.TypeOf <ArgumentNullException>());
 }
        public void TestExchangeService_DeclareExchange_AddressObject()
        {
            var addr = new ExchangeAddressModel()
            {
                Name = "Test.Exchange"
            };

            Assert.DoesNotThrow(() => { BaseExchangeService.Declare(addr); });
        }
        public void TestExchangeService_BindExchanges_NonExistingExchanges()
        {
            // These exchanges do not exist
            ExchangeBindingModel ex = new ExchangeBindingModel()
            {
                Source      = "Test.Exchange3",
                Destination = "Test.Exchange4"
            };

            Assert.That(() =>
            {
                BaseExchangeService.Bind(ex);
            }, Throws.TypeOf <ServiceException>());
        }
        public void TestExchangeService_UnbindExchanges()
        {
            // Create exchanges
            TestExchangeService_DeclareExchange_AddressObject();
            TestExchangeService_DeclareExchange_StringParams();

            // At this stage, 2 exchanges have been created - 'Test.Exchange' & 'Test.Exchange2'

            ExchangeBindingModel ex = new ExchangeBindingModel()
            {
                Source      = "Test.Exchange2",
                Destination = "Test.Exchange"
            };

            Assert.DoesNotThrow(() => { BaseExchangeService.Unbind(ex); });
        }
        public void TestExchangeService_DeleteExchange_DeleteObject()
        {
            // Create data
            ExchangeDeleteModel exd = new ExchangeDeleteModel()
            {
                Name     = "mycompany.fanout.exchange",
                IfUnused = false // override, remove the exchange regardless if it is in use or not
            };

            // Assert
            Assert.DoesNotThrow(() => { BaseExchangeService.Delete(exd); });

            // Remove a second one
            exd.Name = "company.direct.exchange";
            Assert.DoesNotThrow(() => { BaseExchangeService.Delete(exd); });
        }
        public void TestExchangeService_DeleteMany()
        {
            var ex = new ExchangeDeleteModel()
            {
                Name = "Test.Exchange.ToDelete"
            };
            var ex2 = new ExchangeDeleteModel()
            {
                Name = "Test.Exchange.ToDelete2"
            };
            List <ExchangeDeleteModel> exchanges = new List <ExchangeDeleteModel>()
            {
                ex, ex2
            };

            // Assert
            Assert.DoesNotThrow(() => { BaseExchangeService.DeleteMany(exchanges); });
        }
        public void TestExchangeService_DeclareMany()
        {
            var addr = new ExchangeAddressModel()
            {
                Name = "Test.Exchange.ToDelete"
            };
            var addr2 = new ExchangeAddressModel()
            {
                Name = "Test.Exchange.ToDelete2"
            };
            List <ExchangeAddressModel> exchanges = new List <ExchangeAddressModel>()
            {
                addr, addr2
            };

            // Assert
            Assert.DoesNotThrow(() => { BaseExchangeService.DeclareMany(exchanges); });
        }
 public void TestExchangeService_DeclareExchange_StringParams()
 {
     Assert.DoesNotThrow(() => { BaseExchangeService.Declare(name: "Test.Exchange2", type: "direct"); });
 }
 public void TestExchangeService_DeleteExchange_NonExistingExchange()
 {
     Assert.DoesNotThrow(() => { BaseExchangeService.Delete("Test.Exchange6"); });
 }