예제 #1
0
        public async Task HandlesNonExistentTransactionKey()
        {
            _engine       = new AutomationEngineInstance(null);
            _setQueueItem = new SetQueueItemStatusCommand();

            var queueItemDict = new Dictionary <string, object>()
            {
                { "LockTransactionKey", null },
                { "Name", "ExtendQueueItemTest" },
                { "Source", null },
                { "Event", null },
                { "Type", "Text" },
                { "JsonType", "Test Type" },
                { "DataJson", "Test Text" },
                { "Priority", 10 },
                { "LockedUntilUTC", DateTime.UtcNow.AddHours(1) }
            };

            VariableMethods.CreateTestVariable(null, _engine, "vQueueItem", typeof(Dictionary <,>));
            _setQueueItem.v_QueueItem           = "{vQueueItem}";
            _setQueueItem.v_QueueItemStatusType = "Successful";
            queueItemDict.SetVariableValue(_engine, _setQueueItem.v_QueueItem);

            await Assert.ThrowsAsync <NullReferenceException>(() => _setQueueItem.RunCommand(_engine));
        }
예제 #2
0
        public async void SetFailedFatallyStatus()
        {
            _engine       = new AutomationEngineInstance(null);
            _setQueueItem = new SetQueueItemStatusCommand();

            string name = "FailedQueueItem";

            AddQueueItem(name);
            var queueItemDict = await WorkQueueItem();

            var transactionKey = queueItemDict["LockTransactionKey"].ToString();
            var userInfo       = ServerSessionVariableMethods.GetUserInfo(_engine);
            var queueItem      = QueueItemMethods.GetQueueItemByLockTransactionKey(userInfo, transactionKey.ToString());

            VariableMethods.CreateTestVariable(null, _engine, "vQueueItem", typeof(Dictionary <,>));
            _setQueueItem.v_QueueItem = "{vQueueItem}";
            queueItemDict.SetVariableValue(_engine, _setQueueItem.v_QueueItem);
            _setQueueItem.v_QueueItemStatusType = "Failed - Fatal";

            _setQueueItem.RunCommand(_engine);

            queueItem = QueueItemMethods.GetQueueItemById(userInfo, queueItem.Id);

            Assert.Equal("Failed", queueItem.State);
        }
예제 #3
0
        public void SetFailedFatallyStatus()
        {
            _engine       = new AutomationEngineInstance(null);
            _setQueueItem = new SetQueueItemStatusCommand();

            string name = "FailedQueueItem";

            AddQueueItem(name);
            var queueItemDict = WorkQueueItem();

            var client         = AuthMethods.GetAuthToken();
            var transactionKey = queueItemDict["LockTransactionKey"].ToString();
            var queueItem      = QueueItemMethods.GetQueueItemByLockTransactionKey(client, transactionKey);

            VariableMethods.CreateTestVariable(null, _engine, "vQueueItem", typeof(Dictionary <,>));
            _setQueueItem.v_QueueItem = "{vQueueItem}";
            queueItemDict.StoreInUserVariable(_engine, _setQueueItem.v_QueueItem, typeof(Dictionary <,>));
            _setQueueItem.v_QueueItemStatusType = "Failed - Fatal";

            _setQueueItem.RunCommand(_engine);

            queueItem = QueueItemMethods.GetQueueItemById(client, queueItem.Id);

            Assert.Equal("Failed", queueItem.State);
        }