public void SetUp()
        {
            configurationSource = new DictionaryConfigurationSourceWithHandlersQuery();

            InstrumentationConfigurationSection instrumentationConfig = new InstrumentationConfigurationSection(true, true, false);

            configurationSource.Add(InstrumentationConfigurationSection.SectionName, instrumentationConfig);

            settings = new LoggingSettings();
            configurationSource.Add(LoggingSettings.SectionName, settings);

            settings.SpecialTraceSources.ErrorsTraceSource
                = new TraceSourceData("error", SourceLevels.Off);

            TraceSourceData traceSourceData = new TraceSourceData("blocking", SourceLevels.All);

            traceSourceData.TraceListeners.Add(new TraceListenerReferenceData("listener1"));
            settings.TraceSources.Add(traceSourceData);
            traceSourceData = new TraceSourceData("nonblocking", SourceLevels.All);
            traceSourceData.TraceListeners.Add(new TraceListenerReferenceData("listener2"));
            settings.TraceSources.Add(traceSourceData);

            TraceListenerData traceListenerData = new CustomTraceListenerData("listener1", typeof(MockBlockingCustomTraceListener), "init 1");

            settings.TraceListeners.Add(traceListenerData);
            traceListenerData = new MockTraceListenerData("listener2");
            settings.TraceListeners.Add(traceListenerData);

            reflectionCache = new ConfigurationReflectionCache();

            MockTraceListener.Reset();
            MockBlockingCustomTraceListener.Reset();
        }
        public void CanCreatePoliciesForCustomTraceListenerWithFormatter()
        {
            CustomTraceListenerData listenerData
                = new CustomTraceListenerData("listener", typeof(MockCustomTraceListener), "", TraceOptions.Callstack);

            listenerData.Formatter = "formatter";
            listenerData.SetAttributeValue(MockCustomTraceListener.AttributeKey, attributeValue);
            loggingSettings.TraceListeners.Add(listenerData);

            FormatterData formatterData = new TextFormatterData("formatter", "template");

            loggingSettings.Formatters.Add(formatterData);

            using (var container = CreateContainer())
            {
                var createdObject =
                    container.Resolve <TraceListener>("listener\u200cimplementation") as AttributeSettingTraceListenerWrapper;

                Assert.IsNotNull(createdObject);
                Assert.AreEqual("listener\u200cimplementation", createdObject.Name);
                Assert.AreEqual(TraceOptions.Callstack, createdObject.TraceOutputOptions);
                Assert.AreEqual(typeof(MockCustomTraceListener), createdObject.InnerTraceListener.GetType());
                Assert.AreEqual(null, ((MockCustomTraceListener)createdObject.InnerTraceListener).initData);    // configured with "", but set to null
                Assert.AreEqual(attributeValue, ((MockCustomTraceListener)createdObject.InnerTraceListener).Attribute);
                Assert.IsNotNull(((MockCustomTraceListener)createdObject.InnerTraceListener).Formatter);
                Assert.AreSame(typeof(TextFormatter), ((MockCustomTraceListener)createdObject.InnerTraceListener).Formatter.GetType());
                Assert.AreEqual("template", ((TextFormatter)((MockCustomTraceListener)createdObject.InnerTraceListener).Formatter).Template);
            }
        }
        public void SavesChangesToConfigurationObject()
        {
            CustomTraceListenerData sourceElement = new CustomTraceListenerData("name", typeof(bool), "init");

            sourceElement.Attributes.Add("att3", "val3");
            sourceElement.Attributes.Add("att4", "val4");
            sourceElement.Attributes.Add("att5", "val5");
            sourceElement.Formatter          = "formatter";
            sourceElement.Filter             = SourceLevels.Information;
            sourceElement.TraceOutputOptions = TraceOptions.Callstack;
            List <ConfigurationSetting> settings = new List <ConfigurationSetting>(1);

            CustomTraceListenerDataWmiMapper.GenerateWmiObjects(sourceElement, settings);
            Assert.AreEqual(1, settings.Count);
            CustomTraceListenerSetting setting = settings[0] as CustomTraceListenerSetting;

            Assert.IsNotNull(setting);
            setting.Attributes         = new string[] { "att1=val1", "att2=val2" };
            setting.Formatter          = "formatter override";
            setting.InitData           = "init override";
            setting.ListenerType       = typeof(int).AssemblyQualifiedName;
            setting.Filter             = SourceLevels.All.ToString();
            setting.TraceOutputOptions = TraceOptions.DateTime.ToString();
            setting.Commit();
            Assert.AreEqual(2, sourceElement.Attributes.Count);
            Assert.AreEqual("val1", sourceElement.Attributes["att1"]);
            Assert.AreEqual("val2", sourceElement.Attributes["att2"]);
            Assert.AreEqual("formatter override", sourceElement.Formatter);
            Assert.AreEqual("init override", sourceElement.InitData);
            Assert.AreEqual(typeof(int), sourceElement.Type);
            Assert.AreEqual(SourceLevels.All, sourceElement.Filter);
            Assert.AreEqual(TraceOptions.DateTime, sourceElement.TraceOutputOptions);
        }
Esempio n. 4
0
        public void ThenConfiguredTraceListenerHasAttributes()
        {
            CustomTraceListenerData customTl = GetLoggingConfiguration().TraceListeners.OfType <CustomTraceListenerData>().First();

            Assert.AreEqual("key", customTl.Attributes.Keys[0]);
            Assert.AreEqual("value", customTl.Attributes["key"]);
        }
        public void CanCreateInstanceWithoutInitializationDataFromConfigurationFile()
        {
            CustomTraceListenerData listenerData = new CustomTraceListenerData();

            listenerData.Name             = "listener";
            listenerData.Type             = typeof(MockCustomTraceListener);
            listenerData.ListenerDataType = typeof(CustomTraceListenerData);
            listenerData.SetAttributeValue(MockCustomTraceListener.AttributeKey, attributeValue);
            LoggingSettings loggingSettings = new LoggingSettings();

            loggingSettings.TraceListeners.Add(listenerData);

            TraceListener listener =
                GetListener("listener\u200cimplementation", CommonUtil.SaveSectionsAndGetConfigurationSource(loggingSettings));

            Assert.IsNotNull(listener);
            Assert.AreEqual("listener\u200cimplementation", listener.Name);

            var innerListener = (MockCustomTraceListener)(
                (AttributeSettingTraceListenerWrapper)listener).InnerTraceListener;

            Assert.IsNull(innerListener.initData);
            Assert.IsNull(innerListener.Formatter);
            Assert.AreEqual(attributeValue, innerListener.Attribute);
        }
        public void CanDeserializeSerializedConfiguration()
        {
            string name           = "name";
            string initData       = "init data";
            string attributeName  = "attribute";
            string attributeValue = "value";

            CustomTraceListenerData data = new CustomTraceListenerData(name, typeof(MockCustomTraceListener), initData, TraceOptions.Callstack);

            data.SetAttributeValue(attributeName, attributeValue);

            LoggingSettings settings = new LoggingSettings();

            settings.TraceListeners.Add(data);

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[LoggingSettings.SectionName] = settings;
            IConfigurationSource configurationSource
                = ConfigurationTestHelper.SaveSectionsInFileAndReturnConfigurationSource(sections);

            LoggingSettings roSettigs = (LoggingSettings)configurationSource.GetSection(LoggingSettings.SectionName);

            Assert.AreEqual(1, roSettigs.TraceListeners.Count);
            Assert.IsNotNull(roSettigs.TraceListeners.Get(name));
            Assert.AreEqual(TraceOptions.Callstack, ((CustomTraceListenerData)roSettigs.TraceListeners.Get(name)).TraceOutputOptions);
            Assert.AreSame(typeof(CustomTraceListenerData), roSettigs.TraceListeners.Get(name).GetType());
            Assert.AreSame(typeof(CustomTraceListenerData), roSettigs.TraceListeners.Get(name).ListenerDataType);
            Assert.AreSame(typeof(MockCustomTraceListener), roSettigs.TraceListeners.Get(name).Type);
            Assert.AreEqual(attributeValue, ((CustomTraceListenerData)roSettigs.TraceListeners.Get(name)).Attributes[attributeName]);
        }
        public void CanCreateInstanceWithFormatterFromConfigurationFile()
        {
            CustomTraceListenerData listenerData
                = new CustomTraceListenerData("listener", typeof(MockCustomTraceListener), initializationData);

            listenerData.Formatter = "formatter";
            listenerData.SetAttributeValue(MockCustomTraceListener.AttributeKey, attributeValue);
            LoggingSettings loggingSettings = new LoggingSettings();

            loggingSettings.TraceListeners.Add(listenerData);
            loggingSettings.Formatters.Add(new TextFormatterData("formatter", "template"));

            TraceListener listener =
                GetListener("listener", CommonUtil.SaveSectionsAndGetConfigurationSource(loggingSettings));

            Assert.IsNotNull(listener);
            Assert.AreEqual("listener", listener.Name);

            var innerListener = (MockCustomTraceListener)listener;

            Assert.AreEqual(initializationData, innerListener.initData);
            Assert.IsNotNull(innerListener.Formatter);
            Assert.AreSame(typeof(TextFormatter), innerListener.Formatter.GetType());
            Assert.AreEqual("template", ((TextFormatter)(innerListener.Formatter)).Template);
            Assert.AreEqual(attributeValue, innerListener.Attribute);
        }
 public void SetUp()
 {
     provider            = new CustomTraceListenerDataManageabilityProvider();
     machineKey          = new MockRegistryKey(true);
     userKey             = new MockRegistryKey(true);
     wmiSettings         = new List <ConfigurationSetting>();
     configurationObject = new CustomTraceListenerData();
 }
Esempio n. 9
0
        public void CreationOfCustomTraceListenerWithoutRequiredSignatureConstructorThrows()
        {
            CustomTraceListenerData listenerData
                = new CustomTraceListenerData("listener", typeof(MockCustomTraceListenerWithInvalidConstructor), initializationData);

            MockLogObjectsHelper helper   = new MockLogObjectsHelper();
            TraceListener        listener = TraceListenerCustomFactory.Instance.Create(context, listenerData, helper.configurationSource, reflectionCache);
        }
 public void SetUp()
 {
     provider            = new CustomTraceListenerDataManageabilityProvider();
     machineKey          = new MockRegistryKey(true);
     machineOptionsKey   = new MockRegistryKey(false);
     userKey             = new MockRegistryKey(true);
     userOptionsKey      = new MockRegistryKey(false);
     configurationObject = new CustomTraceListenerData();
 }
 public void SetUp()
 {
     provider = new CustomTraceListenerDataManageabilityProvider();
     machineKey = new MockRegistryKey(true);
     machineOptionsKey = new MockRegistryKey(false);
     userKey = new MockRegistryKey(true);
     userOptionsKey = new MockRegistryKey(false);
     configurationObject = new CustomTraceListenerData();
 }
        public void CreationOfCustomTraceListenerWithoutRequiredSignatureConstructorThrows()
        {
            CustomTraceListenerData listenerData
                = new CustomTraceListenerData("listener", typeof(MockCustomTraceListenerWithInvalidConstructor), initializationData);

            MockLogObjectsHelper helper = new MockLogObjectsHelper();

            helper.loggingSettings.TraceListeners.Add(listenerData);
            TraceListener listener = GetListener("listener", helper.configurationSource);
        }
 public void Given()
 {
     listenerData =
         new CustomTraceListenerData(
             "custom trace listener",
             typeof(System.Diagnostics.TextWriterTraceListener),
             "someInitData")
     {
         Formatter = "formatter"
     };
 }
 public void Given()
 {
     listenerData =
         new CustomTraceListenerData(
             "custom trace listener",
             typeof(MockCustomTraceListener),
             "someInitData")
     {
         Formatter = "formatter"
     };
 }
Esempio n. 15
0
        private static CustomTraceListenerData GetConsoleListener()
        {
            var consoleListener = new CustomTraceListenerData();

            consoleListener.Name               = CONSOLE;
            consoleListener.Type               = typeof(ConsoleTraceListener);
            consoleListener.ListenerDataType   = typeof(CustomTraceListenerData);
            consoleListener.Filter             = SourceLevels.All;
            consoleListener.TraceOutputOptions = TraceOptions.None;
            consoleListener.Formatter          = "MsgFormatter";
            return(consoleListener);
        }
Esempio n. 16
0
        public void CanCreateInstanceFromGivenConfiguration()
        {
            CustomTraceListenerData listenerData
                = new CustomTraceListenerData("listener", typeof(MockCustomTraceListener), initializationData);

            MockLogObjectsHelper helper   = new MockLogObjectsHelper();
            TraceListener        listener = TraceListenerCustomFactory.Instance.Create(context, listenerData, helper.configurationSource, reflectionCache);

            Assert.IsNotNull(listener);
            Assert.AreEqual("listener", listener.Name);
            Assert.AreEqual(typeof(MockCustomTraceListener), listener.GetType());
            Assert.AreEqual(initializationData, ((MockCustomTraceListener)listener).initData);
        }
		/// <summary>
		/// Initializes a new instance of the <see cref="T:CustomTraceListenerNode"/> class.
		/// </summary>
		/// <param name="customTraceListenerData">The custom trace listener data.</param>
       public CustomTraceListenerNode(CustomTraceListenerData customTraceListenerData)
        {
			if (null == customTraceListenerData) throw new ArgumentNullException("customTraceListenerData");

			Rename(customTraceListenerData.Name);
			TraceOutputOptions = customTraceListenerData.TraceOutputOptions;
			this.formatterName = customTraceListenerData.Formatter;
			this.type = customTraceListenerData.Type;
            foreach (string key in customTraceListenerData.Attributes)
            {
                editableAttributes.Add(new EditableKeyValue(key, customTraceListenerData.Attributes[key]));
            }
        }       
 public static void GenerateWmiObjects(CustomTraceListenerData data,
                                       ICollection <ConfigurationSetting> wmiSettings)
 {
     wmiSettings.Add(
         new CustomTraceListenerSetting(data,
                                        data.Name,
                                        data.Type.AssemblyQualifiedName,
                                        data.InitData,
                                        CustomDataWmiMapperHelper.GenerateAttributesArray(data.Attributes),
                                        data.TraceOutputOptions.ToString(),
                                        data.Filter.ToString(),
                                        data.Formatter));
 }
            public SendToCustomTraceListenerBuilder(ILoggingConfigurationSendTo context, string listenerName, Type customTraceListenerType, NameValueCollection attributes)
                : base(context)
            {
                customListener = new CustomTraceListenerData()
                {
                    Name = listenerName,
                    Type = customTraceListenerType
                };

                customListener.Attributes.Add(attributes);

                base.AddTraceListenerToSettingsAndCategory(customListener);
            }
        public void CanCreateInstanceFromGivenName()
        {
            CustomTraceListenerData listenerData
                = new CustomTraceListenerData("listener", typeof(MockCustomTraceListener), initializationData);

            MockLogObjectsHelper helper = new MockLogObjectsHelper();

            helper.loggingSettings.TraceListeners.Add(listenerData);
            TraceListener listener = GetListener("listener", helper.configurationSource);

            Assert.IsNotNull(listener);
            Assert.AreEqual("listener", listener.Name);
            Assert.AreEqual(typeof(MockCustomTraceListener), listener.GetType());
            Assert.AreEqual(initializationData, ((MockCustomTraceListener)listener).initData);
        }
 public CustomTraceListenerNode(CustomTraceListenerData customTraceListenerData)
 {
     if (null == customTraceListenerData)
     {
         throw new ArgumentNullException("customTraceListenerData");
     }
     Rename(customTraceListenerData.Name);
     TraceOutputOptions = customTraceListenerData.TraceOutputOptions;
     this.formatterName = customTraceListenerData.Formatter;
     this.typeName      = customTraceListenerData.TypeName;
     foreach (string key in customTraceListenerData.Attributes)
     {
         editableAttributes.Add(new EditableKeyValue(key, customTraceListenerData.Attributes[key]));
     }
 }
        public void CustomTraceListenerDataTest()
        {
            string attributeKey          = "attKey";
            string attributeValue        = "attValue";
            string name                  = "some name";
            Type   type                  = typeof(FormattedEventLogTraceListener);
            CustomTraceListenerData data = new CustomTraceListenerData();

            data.Name = name;
            data.Type = type;
            data.Attributes.Add(attributeKey, attributeValue);
            CustomTraceListenerNode node = new CustomTraceListenerNode(data);

            Assert.AreEqual(name, node.Name);
            Assert.AreEqual(type.AssemblyQualifiedName, node.Type);
            Assert.AreEqual(attributeKey, node.Attributes[0].Key);
            Assert.AreEqual(attributeValue, node.Attributes[0].Value);
        }
Esempio n. 23
0
        public void CanCreateInstanceFromConfigurationFile()
        {
            CustomTraceListenerData listenerData
                = new CustomTraceListenerData("listener", typeof(MockCustomTraceListener), initializationData);

            listenerData.SetAttributeValue(MockCustomTraceListener.AttributeKey, attributeValue);
            LoggingSettings loggingSettings = new LoggingSettings();

            loggingSettings.TraceListeners.Add(listenerData);

            TraceListener listener = TraceListenerCustomFactory.Instance.Create(context, "listener", CommonUtil.SaveSectionsAndGetConfigurationSource(loggingSettings), reflectionCache);

            Assert.IsNotNull(listener);
            Assert.AreEqual("listener", listener.Name);
            Assert.AreEqual(typeof(MockCustomTraceListener), listener.GetType());
            Assert.AreEqual(initializationData, ((MockCustomTraceListener)listener).initData);
            Assert.IsNull(((MockCustomTraceListener)listener).Formatter);
            Assert.AreEqual(attributeValue, ((MockCustomTraceListener)listener).Attribute);
        }
        public void CustomTraceListenerNodeTest()
        {
            string attributeKey   = "attKey";
            string attributeValue = "attValue";
            string name           = "some name";
            Type   type           = typeof(FormattedEventLogTraceListener);
            CustomTraceListenerNode customTraceListenerNode = new CustomTraceListenerNode();

            customTraceListenerNode.Attributes.Add(new EditableKeyValue(attributeKey, attributeValue));
            customTraceListenerNode.Name = name;
            customTraceListenerNode.Type = type.AssemblyQualifiedName;
            ApplicationNode.AddNode(customTraceListenerNode);
            CustomTraceListenerData nodeData = (CustomTraceListenerData)customTraceListenerNode.TraceListenerData;

            Assert.AreEqual(name, nodeData.Name);
            Assert.AreEqual(type, nodeData.Type);
            Assert.AreEqual(attributeKey, nodeData.Attributes.AllKeys[0]);
            Assert.AreEqual(attributeValue, nodeData.Attributes[attributeKey]);
        }
        public void CustomTraceListenerDataTest()
        {
            string attributeKey = "attKey";
            string attributeValue = "attValue";
            string name = "some name";
            Type type = typeof(FormattedEventLogTraceListener);

            CustomTraceListenerData data = new CustomTraceListenerData();
            data.Name = name;
            data.Type = type;

            data.Attributes.Add(attributeKey, attributeValue);

            CustomTraceListenerNode node = new CustomTraceListenerNode(data);

            Assert.AreEqual(name, node.Name);
            Assert.AreEqual(type, node.Type);
            Assert.AreEqual(attributeKey, node.Attributes[0].Key);
            Assert.AreEqual(attributeValue, node.Attributes[0].Value);
        }
        public void CanCreatePoliciesForCustomTraceListener()
        {
            CustomTraceListenerData listenerData
                = new CustomTraceListenerData("listener", typeof(MockCustomTraceListener), "", TraceOptions.Callstack);

            listenerData.SetAttributeValue(MockCustomTraceListener.AttributeKey, attributeValue);
            loggingSettings.TraceListeners.Add(listenerData);

            container.AddExtension(new LoggingBlockExtension());

            TraceListener createdObject = container.Resolve <TraceListener>("listener");

            Assert.IsNotNull(createdObject);
            Assert.AreEqual("listener", createdObject.Name);
            Assert.AreEqual(TraceOptions.Callstack, createdObject.TraceOutputOptions);
            Assert.AreEqual(typeof(MockCustomTraceListener), createdObject.GetType());
            Assert.AreEqual(null, ((MockCustomTraceListener)createdObject).initData);                   // configured with "", but set to null
            Assert.AreEqual(attributeValue, ((MockCustomTraceListener)createdObject).Attribute);
            Assert.IsNull(((MockCustomTraceListener)createdObject).Formatter);
        }
        public void CustomTraceListenerNodeDataTest()
        {
            string attributeKey = "attKey";
            string attributeValue = "attValue";
            string name = "some name";
            Type type = typeof(FormattedEventLogTraceListener);

            CustomTraceListenerData customTraceListenerData = new CustomTraceListenerData();
            customTraceListenerData.Attributes.Add(attributeKey, attributeValue);
            customTraceListenerData.Name = name;
            customTraceListenerData.Type = type;

            CustomTraceListenerNode customTraceListenerNode = new CustomTraceListenerNode(customTraceListenerData);
            ApplicationNode.AddNode(customTraceListenerNode);

            CustomTraceListenerData nodeData = (CustomTraceListenerData)customTraceListenerNode.TraceListenerData;
            Assert.AreEqual(name, nodeData.Name);
            Assert.AreEqual(type, nodeData.Type);
            Assert.AreEqual(attributeKey, nodeData.Attributes.AllKeys[0]);
            Assert.AreEqual(attributeValue, nodeData.Attributes[attributeKey]);
        }
        public void CanCreateInstanceFromGivenConfigurationWithAttributes()
        {
            CustomTraceListenerData listenerData
                = new CustomTraceListenerData("listener", typeof(MockCustomTraceListener), initializationData);

            listenerData.SetAttributeValue(MockCustomTraceListener.AttributeKey, attributeValue);

            MockLogObjectsHelper helper = new MockLogObjectsHelper();

            helper.loggingSettings.TraceListeners.Add(listenerData);

            TraceListener listener = GetListener("listener", helper.configurationSource);

            Assert.IsNotNull(listener);
            Assert.AreEqual("listener", listener.Name);

            var innerListener = (MockCustomTraceListener)listener;

            Assert.AreEqual(initializationData, innerListener.initData);
            Assert.AreEqual(attributeValue, innerListener.Attribute);
        }
Esempio n. 29
0
        public void ThenCustomTraceListenerHasAppropriateType()
        {
            CustomTraceListenerData customTl = GetLoggingConfiguration().TraceListeners.OfType <CustomTraceListenerData>().First();

            Assert.AreEqual(typeof(TestCustomTraceListener), customTl.Type);
        }
Esempio n. 30
0
        public void ThenFilterIsAll()
        {
            CustomTraceListenerData customTl = GetLoggingConfiguration().TraceListeners.OfType <CustomTraceListenerData>().First();

            Assert.AreEqual(SourceLevels.All, customTl.Filter);
        }
Esempio n. 31
0
        public void ThenTraceOptionsIsNone()
        {
            CustomTraceListenerData customTl = GetLoggingConfiguration().TraceListeners.OfType <CustomTraceListenerData>().First();

            Assert.AreEqual(TraceOptions.None, customTl.TraceOutputOptions);
        }
Esempio n. 32
0
        public void ThenCustomTraceListenerAppearsInConfiguration()
        {
            CustomTraceListenerData customTl = GetLoggingConfiguration().TraceListeners.OfType <CustomTraceListenerData>().First();

            Assert.AreEqual("custom", customTl.Name);
        }
 public void Given()
 {
     listenerData = new CustomTraceListenerData("someName",
                                                typeof(MockCustomTraceListenerWithoutExpectedConstructor),
                                                "initData");
 }
        public void WhenCreatingInstanceUsingDefaultContructor_ThenListenerDataTypeIsSet()
        {
            var listener = new CustomTraceListenerData();

            Assert.AreEqual(typeof(CustomTraceListenerData), listener.ListenerDataType);
        }