Ejemplo n.º 1
0
 public PublishRabbitMQActivity(IResourceCatalog resourceCatalog, ConnectionFactory connectionFactory)
 {
     ResourceCatalog   = resourceCatalog;
     ConnectionFactory = connectionFactory;
     DisplayName       = "RabbitMQ Publish";
     if (BasicProperties is null)
     {
         BasicProperties = new RabbitMqPublishOptions();
     }
 }
        public void RabbitMQPublishDesignerViewModel2_Constructor1()
        {
            //------------Setup for test--------------------------
            var model = new Mock <IRabbitMQSourceModel>();

            model.Setup(m => m.RetrieveSources()).Returns(new List <IRabbitMQServiceSourceDefinition>());
            //------------Execute Test---------------------------

            var result        = new List <RabbitMqPublishOptions>();
            var CorrelationID = new RabbitMqPublishOptions()
            {
            };
            var options         = OptionConvertor.Convert(CorrelationID);
            var basicProperties = new OptionsWithNotifier {
                Options = options
            };

            var vm = new RabbitMQPublishDesignerViewModel2(CreateModelItem(), model.Object);

            vm.QueueName = "Q1";
            vm.BasicPropertiesOptions = basicProperties;
            vm.IsDurable               = false;
            vm.IsExclusive             = false;
            vm.IsAutoDelete            = false;
            vm.Message                 = "Test Message";
            vm.Result                  = "Success";
            vm.IsRabbitMQSourceFocused = false;
            vm.IsQueueNameFocused      = false;
            vm.IsMessageFocused        = false;

            //------------Assert Results-------------------------
            Assert.IsNotNull(vm);
            Assert.IsNotNull(vm.EditRabbitMQSourceCommand);
            Assert.IsNotNull(vm.NewRabbitMQSourceCommand);
            Assert.IsFalse(vm.ShowLarge);
            Assert.AreEqual(vm.ThumbVisibility, Visibility.Collapsed);
            Assert.IsNotNull(vm.RabbitMQSources);
            Assert.IsFalse(vm.IsRabbitMQSourceFocused);
            Assert.IsFalse(vm.IsQueueNameFocused);
            Assert.IsFalse(vm.IsMessageFocused);
            Assert.IsNull(vm.SelectedRabbitMQSource);
            Assert.AreEqual(vm.QueueName, "Q1");
            Assert.AreEqual(vm.BasicPropertiesOptions.Options[0].Name, "AutoCorrelation");
            Assert.AreEqual(vm.IsDurable, false);
            Assert.AreEqual(vm.IsExclusive, false);
            Assert.AreEqual(vm.IsAutoDelete, false);
            Assert.AreEqual(vm.Message, "Test Message");
            Assert.AreEqual(vm.Result, "Success");
            Assert.AreEqual(vm.IsRabbitMQSourceFocused, false);
            Assert.AreEqual(vm.IsQueueNameFocused, false);
            Assert.AreEqual(vm.IsMessageFocused, false);
        }
        public void RabbitMQPublishDesignerViewModel2_LoadBasicProperties_IsNull_SetBasicProperties()
        {
            var properties      = new RabbitMqPublishOptions();
            var basicProperties = CreateModelProperty("BasicProperties", null).Object;
            var mockProperties  = new Mock <ModelPropertyCollection>();

            mockProperties.Protected().Setup <ModelProperty>("Find", "BasicProperties", true).Returns(basicProperties);

            var mockModelItem = new Mock <ModelItem>();

            mockModelItem.Setup(modelItem => modelItem.Properties).Returns(mockProperties.Object);
            var rabbitMQPublishDesignerViewModel2 = new RabbitMQPublishDesignerViewModel2(mockModelItem.Object, new Mock <IRabbitMQSourceModel>().Object);
            var options = rabbitMQPublishDesignerViewModel2.BasicPropertiesOptions.Options.ToList();

            Assert.AreEqual(1, options.Count);
            Assert.AreEqual(typeof(OptionCombobox), options[0].GetType());
            Assert.AreEqual("AutoCorrelation", options[0].Name);
        }
        private void LoadBasicProperties()
        {
            var basicProperties = _modelItem.Properties["BasicProperties"]?.ComputedValue as RabbitMqPublishOptions;

            if (basicProperties is null)
            {
                basicProperties = new RabbitMqPublishOptions();
                _modelItem.Properties["BasicProperties"]?.SetValue(basicProperties);
            }

            basicProperties.OnChange += UpdateBasicPropertiesModelItem;
            _basicPropertiesInst      = basicProperties;
            var result  = new List <IOption>();
            var options = OptionConvertor.Convert(basicProperties);

            result.AddRange(options);
            BasicPropertiesOptions = new OptionsWithNotifier {
                Options = result
            };
        }