override internal void Write(XmlTextWriter xmlWriter)
        {
            xmlWriter.WriteStartElement("TestPreprocessor");

            base.Write(xmlWriter);

            xmlWriter.WriteElementString("OnFailure", _onFailure.ToString());

            xmlWriter.WriteEndElement();
        }
Пример #2
0
        public void Write(XmlTextWriter xmlWriter)
        {
            // Write test case attributes.
            xmlWriter.WriteStartElement("TestScriptObject");
            xmlWriter.WriteAttributeString("type", "TestCase");
            xmlWriter.WriteAttributeString("status", _status.ToString());

            // Write test case elements.
            xmlWriter.WriteElementString("SystemID", _systemId.ToString());
            //xmlWriter.WriteElementString("ParentID", _parentId.ToString());
            xmlWriter.WriteElementString("UserID", "", _userId);
            xmlWriter.WriteElementString("Title", "", _title);
            xmlWriter.WriteElementString("Author", "", _author);
            xmlWriter.WriteElementString("Created", "", _created.ToString("yyyy-MM-ddTHH:mm:sszzz"));
            xmlWriter.WriteElementString("FunctionalArea", _functionalArea);
            xmlWriter.WriteElementString("Tags", "", _tags);
            xmlWriter.WriteElementString("Defects", _defects);
            xmlWriter.WriteElementString("KnownDefects", _knownDefects.ToString());
            xmlWriter.WriteElementString("Reference", _reference);
            xmlWriter.WriteElementString("OnFailure", _onTestStepFailure.ToString());

            // Write description
            xmlWriter.WriteStartElement("Description");
            xmlWriter.WriteCData(Description);
            xmlWriter.WriteEndElement();

            // Write test case properties.
            Core.TestProperties.Write(xmlWriter, _testProperties);

            // Write test steps
            xmlWriter.WriteStartElement("TestScriptObjects");

            // If test actions exist, iterate through and write....
            if (TestSteps != null)
            {
                foreach (TestStep testStep in TestSteps)
                {
                    testStep.Write(xmlWriter);
                }
            }

            xmlWriter.WriteEndElement();  // TestSteps
            xmlWriter.WriteEndElement();  // TestScriptObject
        }
Пример #3
0
        private TResult Invoke<TResult>(SyncCommand<TResult> command, OnFailure failureAction, InformativeCancellationToken ct)
        {
            var stopwatch = Stopwatch.StartNew();

            var logName = $"Hudl.Mjolnir.Command.{command.Name}";
            var status = CommandCompletionStatus.RanToCompletion;

            try
            {
                _log.Debug($"[{logName}] Invoke Command={command.Name} Breaker={command.BreakerKey} Bulkhead={command.BulkheadKey} Timeout={ct.DescriptionForLog}");

                // If we've already timed out or been canceled, skip execution altogether.
                ct.Token.ThrowIfCancellationRequested();

                return _bulkheadInvoker.ExecuteWithBulkhead(command, ct.Token);
            }
            catch (Exception e)
            {
                status = GetCompletionStatus(e, ct);
                AttachCommandExceptionData(command, e, status, ct);
                throw;
            }
            finally
            {
                stopwatch.Stop();
                _metricEvents.CommandInvoked(command.Name, stopwatch.Elapsed.TotalMilliseconds, command.ExecutionTimeMillis, status.ToString(), failureAction.ToString().ToLowerInvariant());
            }
        }