Exemplo n.º 1
0
        public void MessageBus_SendMessage_Success()
        {
            string         test_queue = $"test-queue-{Guid.NewGuid().ToString().ToLower().Replace("{", "").Replace("}", "")}";
            IConfiguration config     = GetConfiguration();
            var            cfg        = config.GetSection("MsgBusConfig").Get <MsgBusConfig>();

            IMessageBus       msgBus       = new Fineo.MessageBus.Azure.MessageBus();
            IMessageBusParams msgBusParams = msgBus.CreateInitParams();

            msgBusParams.Parameters["MessageQueue"]       = test_queue;
            msgBusParams.Parameters["StorageAccountKey"]  = cfg.StorageAccountKey;
            msgBusParams.Parameters["StorageAccountName"] = cfg.StorageAccountName;
            msgBusParams.Parameters["QueueEndpoint"]      = cfg.QueueEndpoint;

            msgBus.Init(msgBusParams);

            var           section = config.GetSection("TestMessage");
            MessageBusDto busDto  = config.GetSection("TestMessage").Get <MessageBusDto>();

            busDto.Body = Guid.NewGuid().ToString();

            msgBus.Send(busDto);

            MessageBusDto receivedDto = msgBus.ReadNext();

            Assert.IsTrue(busDto.Equals(receivedDto));

            msgBus.Delete();
        }
Exemplo n.º 2
0
 public void Init(IMessageBusParams initParams)
 {
     account = createCloudStorageAccount(initParams);
     client  = account.CreateCloudQueueClient();
     queue   = client.GetQueueReference(initParams.Parameters["MessageQueue"]);
     bool created = queue.CreateIfNotExistsAsync().Result;
 }
Exemplo n.º 3
0
        CloudStorageAccount createCloudStorageAccount(IMessageBusParams ctxParams)
        {
            string accountName   = ctxParams.Parameters["StorageAccountName"];
            string accountKey    = ctxParams.Parameters["StorageAccountKey"];
            string queueEndpoint = ctxParams.Parameters["QueueEndpoint"];
            string connString    = string.Format("DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1};", accountName, accountKey)
                                   + (!string.IsNullOrEmpty(queueEndpoint) ? "QueueEndpoint=" + queueEndpoint : string.Empty);
            CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connString);

            return(storageAccount);
        }
Exemplo n.º 4
0
        public void CreateInitParams_Success()
        {
            IMessageBus       msgBus       = new Fineo.MessageBus.Azure.MessageBus();
            IMessageBusParams msgBusParams = msgBus.CreateInitParams();

            Assert.IsNotNull(msgBusParams);
            Assert.IsNotEmpty(msgBusParams.Parameters);
            Assert.AreEqual(msgBusParams.Parameters.Count, 4);
            Assert.IsTrue(msgBusParams.Parameters.ContainsKey("StorageAccountName"));
            Assert.IsTrue(msgBusParams.Parameters.ContainsKey("StorageAccountKey"));
            Assert.IsTrue(msgBusParams.Parameters.ContainsKey("MessageQueue"));
            Assert.IsTrue(msgBusParams.Parameters.ContainsKey("QueueEndpoint"));
        }
Exemplo n.º 5
0
        private IMessageBus InitMessageBus(string configName)
        {
            IMessageBus result = new Fineo.MessageBus.Azure.MessageBus();

            IMessageBusParams msgBusParams = result.CreateInitParams();
            IConfiguration    config       = GetConfiguration();

            var section = config.GetSection(configName);

            msgBusParams.Parameters = section.GetChildren()
                                      .Select(item => new KeyValuePair <string, string>(item.Key, item.Value))
                                      .ToDictionary(x => x.Key, x => x.Value);

            result.Init(msgBusParams);

            return(result);
        }
Exemplo n.º 6
0
        public void InitMessageBus_Success()
        {
            IConfiguration config = GetConfiguration();
            var            cfg    = config.GetSection("MsgBusConfig").Get <MsgBusConfig>();

            IMessageBus       msgBus       = new Fineo.MessageBus.Azure.MessageBus();
            IMessageBusParams msgBusParams = msgBus.CreateInitParams();

            msgBusParams.Parameters["MessageQueue"]       = cfg.MessageQueue;
            msgBusParams.Parameters["StorageAccountKey"]  = cfg.StorageAccountKey;
            msgBusParams.Parameters["StorageAccountName"] = cfg.StorageAccountName;
            msgBusParams.Parameters["QueueEndpoint"]      = cfg.QueueEndpoint;

            msgBus.Init(msgBusParams);

            msgBus.Delete();
        }
Exemplo n.º 7
0
        public void InitMessageBus_InvalidAccountName()
        {
            try
            {
                IConfiguration config = GetConfiguration();
                var            cfg    = config.GetSection("MsgBusConfig_InvalidAccount").Get <MsgBusConfig>();

                IMessageBus       msgBus       = new Fineo.MessageBus.Azure.MessageBus();
                IMessageBusParams msgBusParams = msgBus.CreateInitParams();

                msgBusParams.Parameters["MessageQueue"]       = cfg.MessageQueue;
                msgBusParams.Parameters["StorageAccountKey"]  = cfg.StorageAccountKey;
                msgBusParams.Parameters["StorageAccountName"] = cfg.StorageAccountName;

                msgBus.Init(msgBusParams);

                Assert.Fail("MessageBus initialized with invalud account");
            }
            catch (Exception)
            {
                Assert.Pass(); // OK - exception is expected
            }
        }