Beispiel #1
0
        public void Should_Commit_Plugin()
        {
            IAllocationDefinition definition = new AllocationDefinition(1);
            definition.Add(DTO.NewPluginInfoTestPlugin);

            TestPlugin plugin = new TestPlugin(50);

            IExecutionSlot slot = new ExecutionSlot(definition);
            slot.Commit( plugin );

            Timing.WaitUntil(() => plugin.Status == PluginStatus.Committed, 1000);

            Assert.AreEqual( PluginStatus.Committed, plugin.Status );
        }
Beispiel #2
0
        public void Should_Fail_Commit_Plugin()
        {
            IAllocationDefinition definition = new AllocationDefinition(1);
            definition.Add(DTO.NewPluginInfoTestPlugin);

            TestPlugin plugin = new TestPlugin(50, true);
            IPlugin failedPlugin = null;
            Exception pluginException = null;

            IExecutionSlot slot = new ExecutionSlot(definition);
            slot.CommitFailed += delegate(object sender, ObjectErrorEventArgs<IPlugin> eventArgs)
                                 {
                                     failedPlugin    = eventArgs.EventObject;
                                     pluginException = eventArgs.Exception;
                                 };

            slot.Commit(plugin);

            Timing.WaitWhile(() => failedPlugin == null, 3000);

            Assert.AreEqual( plugin, failedPlugin );
            Assert.IsNotNull( pluginException );
            Assert.AreEqual( PluginStatus.CommitFailed, plugin.Status );
        }