public void CanDisposePlugin()
        {
            var configuration = new ExceptionlessConfiguration(DependencyResolver.Default);

            foreach (var plugin in configuration.Plugins)
            {
                configuration.RemovePlugin(plugin.Key);
            }

            Assert.Equal(0, CounterTestPlugin.ConstructorCount);
            Assert.Equal(0, CounterTestPlugin.RunCount);
            Assert.Equal(0, CounterTestPlugin.DisposeCount);

            configuration.AddPlugin <CounterTestPlugin>();
            configuration.AddPlugin <CounterTestPlugin>();

            for (int i = 0; i < 2; i++)
            {
                foreach (var pluginRegistration in configuration.Plugins)
                {
                    pluginRegistration.Plugin.Run(new EventPluginContext(CreateClient(), new Event()));
                }
            }

            configuration.RemovePlugin <CounterTestPlugin>();
            configuration.RemovePlugin <CounterTestPlugin>();


            Assert.Equal(1, CounterTestPlugin.ConstructorCount);
            Assert.Equal(2, CounterTestPlugin.RunCount);
            Assert.Equal(1, CounterTestPlugin.DisposeCount);
        }
 public static void AddDefaultPlugins(ExceptionlessConfiguration config) {
     config.AddPlugin<ConfigurationDefaultsPlugin>();
     config.AddPlugin<SimpleErrorPlugin>();
     config.AddPlugin<DuplicateCheckerPlugin>();
     config.AddPlugin<EnvironmentInfoPlugin>();
     config.AddPlugin<SubmissionMethodPlugin>();
 }
 public static void AddDefaultPlugins(ExceptionlessConfiguration config)
 {
     config.AddPlugin <ConfigurationDefaultsPlugin>();
     config.AddPlugin <SimpleErrorPlugin>();
     config.AddPlugin <DuplicateCheckerPlugin>();
     config.AddPlugin <EnvironmentInfoPlugin>();
     config.AddPlugin <SubmissionMethodPlugin>();
 }
 public static void AddDefaultPlugins(ExceptionlessConfiguration config)
 {
     config.AddPlugin <HandleAggregateExceptionsPlugin>();
     config.AddPlugin <EventExclusionPlugin>();
     config.AddPlugin <ConfigurationDefaultsPlugin>();
     config.AddPlugin <ErrorPlugin>();
     config.AddPlugin <DuplicateCheckerPlugin>();
     config.AddPlugin <EnvironmentInfoPlugin>();
     config.AddPlugin <VersionPlugin>();
     config.AddPlugin <SubmissionMethodPlugin>();
     config.AddPlugin <CancelSessionsWithNoUserPlugin>();
 }
        public static void AddDefaultPlugins(ExceptionlessConfiguration config) {
            config.AddPlugin<HandleAggregateExceptionsPlugin>();
            config.AddPlugin<EventExclusionPlugin>();
            config.AddPlugin<ConfigurationDefaultsPlugin>();
#if !PORTABLE && !NETSTANDARD1_2
            config.AddPlugin<ErrorPlugin>();
#else
            config.AddPlugin<SimpleErrorPlugin>();
#endif
            config.AddPlugin<DuplicateCheckerPlugin>();
            config.AddPlugin<EnvironmentInfoPlugin>();
#if !PORTABLE && !NETSTANDARD1_2
            config.AddPlugin<VersionPlugin>();
#endif
            config.AddPlugin<SubmissionMethodPlugin>();
            config.AddPlugin<CancelSessionsWithNoUserPlugin>();
        }
        public static void AddDefaultPlugins(ExceptionlessConfiguration config)
        {
            config.AddPlugin <HandleAggregateExceptionsPlugin>();
            config.AddPlugin <EventExclusionPlugin>();
            config.AddPlugin <ConfigurationDefaultsPlugin>();
#if !PORTABLE && !NETSTANDARD1_2
            config.AddPlugin <ErrorPlugin>();
#else
            config.AddPlugin <SimpleErrorPlugin>();
#endif
            config.AddPlugin <DuplicateCheckerPlugin>();
            config.AddPlugin <EnvironmentInfoPlugin>();
#if !PORTABLE && !NETSTANDARD1_2
            config.AddPlugin <VersionPlugin>();
#endif
            config.AddPlugin <SubmissionMethodPlugin>();
            config.AddPlugin <CancelSessionsWithNoUserPlugin>();
        }
 public static void AddDefaultPlugins(ExceptionlessConfiguration config) {
     config.AddPlugin<ConfigurationDefaultsPlugin>();
     config.AddPlugin<HandleAggregateExceptionsPlugin>();
     config.AddPlugin<SimpleErrorPlugin>();
     config.AddPlugin<DuplicateCheckerPlugin>();
     config.AddPlugin<EnvironmentInfoPlugin>();
     config.AddPlugin<SubmissionMethodPlugin>();
     config.AddPlugin<CancelSessionsWithNoUserPlugin>();
 }
        public void LazyLoadAndRemovePlugin()
        {
            var configuration = new ExceptionlessConfiguration(DependencyResolver.Default);

            foreach (var plugin in configuration.Plugins)
            {
                configuration.RemovePlugin(plugin.Key);
            }

            configuration.AddPlugin <ThrowIfInitializedTestPlugin>();
            configuration.RemovePlugin <ThrowIfInitializedTestPlugin>();
        }
Example #9
0
        public void VerifyPriority()
        {
            var config = new ExceptionlessConfiguration(DependencyResolver.CreateDefault());

            foreach (var plugin in config.Plugins)
            {
                config.RemovePlugin(plugin.Key);
            }

            Assert.Equal(0, config.Plugins.Count());
            config.AddPlugin <EnvironmentInfoPlugin>();
            config.AddPlugin <PluginWithPriority11>();
            config.AddPlugin <PluginWithNoPriority>();
            config.AddPlugin("version", 1, ctx => ctx.Event.SetVersion("1.0.0.0"));
            config.AddPlugin("version2", 2, ctx => ctx.Event.SetVersion("1.0.0.0"));
            config.AddPlugin("version3", 3, ctx => ctx.Event.SetVersion("1.0.0.0"));

            var plugins = config.Plugins.ToArray();

            Assert.Equal(typeof(PluginWithNoPriority), plugins[0].Plugin.GetType());
            Assert.Equal("version", plugins[1].Key);
            Assert.Equal("version2", plugins[2].Key);
            Assert.Equal("version3", plugins[3].Key);
            Assert.Equal(typeof(PluginWithPriority11), plugins[4].Plugin.GetType());
            Assert.Equal(typeof(EnvironmentInfoPlugin), plugins[5].Plugin.GetType());
        }
        public void VerifyPriority() {
            var config = new ExceptionlessConfiguration(DependencyResolver.CreateDefault());
            foreach (var plugin in config.Plugins)
                config.RemovePlugin(plugin.Key);

            Assert.Equal(0, config.Plugins.Count());
            config.AddPlugin<EnvironmentInfoPlugin>();
            config.AddPlugin<PluginWithPriority11>();
            config.AddPlugin<PluginWithNoPriority>();
            config.AddPlugin("version", 1, ctx => ctx.Event.SetVersion("1.0.0.0"));
            config.AddPlugin("version2", 2, ctx => ctx.Event.SetVersion("1.0.0.0"));
            config.AddPlugin("version3", 3, ctx => ctx.Event.SetVersion("1.0.0.0"));

            var plugins = config.Plugins.ToArray();
            Assert.Equal(typeof(PluginWithNoPriority), plugins[0].Plugin.GetType());
            Assert.Equal("version", plugins[1].Key);
            Assert.Equal("version2", plugins[2].Key);
            Assert.Equal("version3", plugins[3].Key);
            Assert.Equal(typeof(PluginWithPriority11), plugins[4].Plugin.GetType());
            Assert.Equal(typeof(EnvironmentInfoPlugin), plugins[5].Plugin.GetType());
        }
        public void CanDisposePlugin() {
            var configuration = new ExceptionlessConfiguration(DependencyResolver.Default);
            foreach (var plugin in configuration.Plugins)
                configuration.RemovePlugin(plugin.Key);

            Assert.Equal(0, CounterTestPlugin.ConstructorCount);
            Assert.Equal(0, CounterTestPlugin.RunCount);
            Assert.Equal(0, CounterTestPlugin.DisposeCount);

            configuration.AddPlugin<CounterTestPlugin>();
            configuration.AddPlugin<CounterTestPlugin>();

            for (int i = 0; i < 2; i++) {
                foreach (var pluginRegistration in configuration.Plugins)
                    pluginRegistration.Plugin.Run(new EventPluginContext(new ExceptionlessClient(), new Event()));
            }

            configuration.RemovePlugin<CounterTestPlugin>();
            configuration.RemovePlugin<CounterTestPlugin>();


            Assert.Equal(1, CounterTestPlugin.ConstructorCount);
            Assert.Equal(2, CounterTestPlugin.RunCount);
            Assert.Equal(1, CounterTestPlugin.DisposeCount);
        }
        public void LazyLoadAndRemovePlugin() {
            var configuration = new ExceptionlessConfiguration(DependencyResolver.Default);
            foreach (var plugin in configuration.Plugins)
                configuration.RemovePlugin(plugin.Key);

            configuration.AddPlugin<ThrowIfInitializedTestPlugin>();
            configuration.RemovePlugin<ThrowIfInitializedTestPlugin>();
        }