public TopicPermissionInfo(User user, Vhost vhost)
        {
            this.user  = user;
            this.vhost = vhost;

            Write = Read = allowAll;
        }
        public void Should_be_able_to_create_an_exchange()
        {
            var vhost = new Vhost {Name = "/"};

            var exchangeInfo = new ExchangeInfo(testExchange, "direct");
            var exchange = managementClient.CreateExchange(exchangeInfo, vhost);
            exchange.Name.ShouldEqual(testExchange);
        }
        public Topology Parse(IManagementClient client, Vhost virtualHost)
        {
            var topology = new Topology();

            foreach (var exchange in client.GetExchanges())
            {
                if (!IsSystemExchange(exchange.Name))
                {
                    var modelExchange = new Model.Exchange
                    {
                        Name = exchange.Name,
                        ExchangeType = ExchangeTypeMap[exchange.Type],
                        Durable = exchange.Durable,
                    };

                    MapArguments(exchange.Arguments, modelExchange.Arguments);
                    topology.Exchanges.Add(modelExchange);
                }
            }

            foreach (var queue in client.GetQueues())
            {
                if (!IsSystemQueue(queue))
                {
                    var modelQueue = new Model.Queue
                    {
                        Name = queue.Name,
                        Durable = queue.Durable
                    };

                    MapArguments(queue.Arguments, modelQueue.Arguments);

                    foreach (var binding in client.GetBindingsForQueue(queue))
                    {
                        if (!IsSystemBinding(binding))
                        {
                            var modelBinding = new Model.Binding
                            {
                                Exchange = binding.Source,
                                RoutingKey = binding.RoutingKey
                            };

                            MapArguments(binding.Arguments, modelBinding.Arguments);
                            modelQueue.Bindings.Add(modelBinding);
                        }
                    }

                    topology.Queues.Add(modelQueue);
                }
            }

            return topology;
        }
 private Queue GetErrorQueue(IManagementClient managementClient, Vhost vhost)
 {
     try
     {
         return managementClient.GetQueue(easyNetQErrorQueue, vhost);
     }
     catch (UnexpectedHttpStatusCodeException exception)
     {
         if (exception.StatusCode == HttpStatusCode.NotFound)
         {
             return new Queue { Messages = 0 };
         }
         throw;
     }
 }
        public void Queue_should_not_be_deleted_if_expires_is_not_set()
        {
            var bus = RabbitHutch.CreateBus("host=localhost");

            var subscriptionId = "TestSubscriptionWithoutExpires";
            var conventions = new Conventions(new TypeNameSerializer());
            var queueName = conventions.QueueNamingConvention(typeof(MyMessage), subscriptionId);
            var client = new ManagementClient("http://localhost", "guest", "guest");
            var vhost = new Vhost { Name = "/" };

            bus.Subscribe<MyMessage>(subscriptionId, message => { });

            var queue = client.GetQueue(queueName, vhost);
            queue.ShouldNotBeNull();

            // this will abandon the queue... poor queue!
            bus.Dispose();

            Thread.Sleep(1500);

            queue = client.GetQueue(queueName, vhost);
            queue.ShouldNotBeNull();
        }
        public void Should_alert_for_each_error_queue_in_each_vhost()
        {
            var vhost2 = new Vhost {Name = "my_other_vhost"};
            ManagementClient.Stub(x => x.GetVHosts()).Return(new[]
            {
                vhost,
                vhost2
            });

            var queue = new Queue
            {
                Messages = 1
            };

            ManagementClient.Stub(x => x.GetQueue("EasyNetQ_Default_Error_Queue", vhost)).Return(queue);
            ManagementClient.Stub(x => x.GetQueue("EasyNetQ_Default_Error_Queue", vhost2)).Return(queue);

            var result = easyNetQErrorQueueCheck.RunCheck(ManagementClient);

            result.Alert.ShouldBeTrue();

            result.Message.ShouldEqual("broker 'http://the.broker.com', VHost(s): 'my_vhost, my_other_vhost' has messages on the EasyNetQ error queue.");
        }
 public RabbitMQTopologyWriter(IManagementClient client, Vhost virtualHost)
 {
     this.client = client;
     this.virtualHost = virtualHost;
 }
 public void Should_be_able_to_get_a_queue_by_name()
 {
     var vhost = new Vhost { Name = "/" };
     var queue = managementClient.GetQueue(testQueue, vhost);
     queue.Name.ShouldEqual(testQueue);
 }
        public void Should_be_able_to_get_an_individual_exchange_by_name()
        {
            var vhost = new Vhost { Name = "/" };
            var exchange = managementClient.GetExchange(testExchange, vhost);

            exchange.Name.ShouldEqual(testExchange);
        }
 public void Should_be_able_to_get_a_queue_by_name_with_plus_char()
 {
     var vhost = new Vhost { Name = vhostName };
     var queue = managementClient.GetQueue(testQueueWithPlusChar, vhost);
     queue.Name.ShouldEqual(testQueueWithPlusChar);
 }
 private Exchange CreateExchange(string exchangeName)
 {
     var vhost = new Vhost {Name = vhostName};
     var exchangeInfo = new ExchangeInfo(exchangeName, "direct");
     var exchange = managementClient.CreateExchange(exchangeInfo, vhost);
     return exchange;
 }
Esempio n. 12
0
 public void SetUp()
 {
     user = new User { Name = "mikey" };
     vhost = new Vhost { Name = "theVHostName" };
     permissionInfo = new PermissionInfo(user, vhost);
 }
 public void Should_be_able_to_get_a_queue_by_name_with_all_detailed_information()
 {
     var age = 60;
     var increment = 10;
     var vhost = new Vhost { Name = vhostName };
     var queue = managementClient.GetQueue(testQueue, vhost, lengthsCriteria: new GetLengthsCriteria(age, increment), ratesCriteria: new GetRatesCriteria(age, increment));
     queue.Name.ShouldEqual(testQueue);
     queue.MessagesDetails.Samples.Count.ShouldEqual(7);
     queue.MessagesReadyDetails.Samples.Count.ShouldEqual(7);
     queue.MessagesUnacknowledgedDetails.Samples.Count.ShouldEqual(7);
     // All MessageStats are not always available, so tricky to test
     //queue.MessageStats.DeliverGetDetails.Samples.Count.ShouldEqual(7);
     //queue.MessageStats.GetNoAckDetails.Samples.Count.ShouldEqual(7);
     //queue.MessageStats.PublishDetails.Samples.Count.ShouldEqual(7);
 }
 public void Should_be_able_to_get_a_queue_by_name_with_detailed_length_information()
 {
     var age = 60;
     var increment = 10;
     var vhost = new Vhost { Name = vhostName };
     var queue = managementClient.GetQueue(testQueue, vhost, lengthsCriteria: new GetLengthsCriteria(age, increment));
     queue.Name.ShouldEqual(testQueue);
     queue.MessagesDetails.Samples.Count.ShouldEqual(7);
     queue.MessagesReadyDetails.Samples.Count.ShouldEqual(7);
     queue.MessagesUnacknowledgedDetails.Samples.Count.ShouldEqual(7);
 }