Ejemplo n.º 1
0
 public void ImportSyncAndExportFromTwoSourcesTest()
 {
     lock (TrioWing)
     {
         LoggerMock.LogRepository.Clear();
         var kernel = BatchProcessorFactory.GetKernel <CoordinatedData>();
         WaitForCompleation(kernel);
         var task  = kernel.GetConnector("EmailImporter").ExecuteConnector(ExecutionTypes.Full);
         var task1 = kernel.GetConnector("ImportFirstLastName").ExecuteConnector(ExecutionTypes.Full);
         Task.WaitAll(task, task1);
         Assert.AreNotEqual(task.Result.ProcessedItems, task1.Result.ProcessedItems);
         var task2 = kernel.GetConnector("Synchronizer").ExecuteConnector(ExecutionTypes.Full);
         task2.Wait();
         var task3 = kernel.GetConnector("Exporter").ExecuteConnector(ExecutionTypes.Full);
         task3.Wait();
         Assert.AreEqual(10, MemoryRepository.Repository.Count);
         Assert.IsNotNull(MemoryRepository.Repository.First().Value.MasterItem);
         Assert.AreEqual(10, Exporter.ExportedItems.Count);
         Assert.AreEqual(10, LoggerMock.LogRepository[task3.Result.RunId].ProcessedItems);
         Assert.AreEqual(10, LoggerMock.LogRepository[task3.Result.RunId].Progress.Count);
         Assert.AreEqual(4, kernel.GetLogger().GetLastLogItems(100, false).Count());
         Assert.AreEqual(task3.Result.ProcessedItems, kernel.GetLogger().GetLogItemHeader(task3.Result.RunId).ProcessedItems);
         Assert.AreEqual(10, kernel.GetLogger().GetProcessRecords(task3.Result.RunId, 0, false).Items.Count());
         Assert.AreEqual(0, kernel.GetLogger().GetProcessRecords(task3.Result.RunId, 0, true).Items.Count());
     }
 }
Ejemplo n.º 2
0
 public void ImportStartAndTerminate()
 {
     lock (TrioWing)
     {
         var kernel = BatchProcessorFactory.GetKernel <CoordinatedData>();
         IBatchConnector <CoordinatedData> emailConnector = null;
         try
         {
             emailConnector = kernel.GetConnector("EmailImporter");
             var task = emailConnector.ExecuteConnector(ExecutionTypes.Full);
             Thread.Sleep(50);
             kernel.TerminateAllConnectors();
             Task.WaitAll(task);
             Assert.IsFalse(kernel.GetLogger().GetLogItemHeader(task.Result.RunId).Success);
         }
         catch (AggregateException ex)
         {
             Assert.IsFalse(kernel.GetLogger().GetLogItemHeader(emailConnector.RunId).Success);
             Assert.IsInstanceOfType(ex.InnerException, typeof(InvalidAsynchronousStateException));
         }
         catch (Exception ex)
         {
             Assert.IsFalse(kernel.GetLogger().GetLogItemHeader(emailConnector.RunId).Success);
             Assert.IsInstanceOfType(ex, typeof(InvalidAsynchronousStateException));
         }
     }
 }
Ejemplo n.º 3
0
        public bool IsConnectorRunning(string name)
        {
            Initialize(string.Format("IsConnectorRunning({0})", name));
            var result = BatchProcessorFactory.GetKernel <T>().IsSynchronizerRunning(name);

            TearDown();
            return(result);
        }
Ejemplo n.º 4
0
        public IDictionary <string, ConnectorTypes> GetConnectors()
        {
            Initialize("GetConnectors");
            var result = BatchProcessorFactory.GetKernel <T>().GetConnectors();

            TearDown();
            return(result);
        }
Ejemplo n.º 5
0
        public bool Terminate(string name)
        {
            Initialize(string.Format("Terminate({0})", name));
            bool result;

            try
            {
                result = BatchProcessorFactory.GetKernel <T>().TerminateConnector(name);
            }
            catch (Exception ex)
            {
                Tracer.SetErrorState(ex);
                Tracer.SetAdidtionalInformation("Unable to terminate connectors");
                result = false;
            }
            TearDown();
            return(result);
        }
Ejemplo n.º 6
0
        public string StartConnector(string name, ExecutionTypes executionType)
        {
            Initialize(string.Format("StartConnector({0})", name));
            IBatchConnector <T> task;

            try
            {
                task = BatchProcessorFactory.GetKernel <T>().GetConnector(name);
                task.ExecuteConnector(executionType);
            }
            catch (Exception ex)
            {
                Tracer.SetAdidtionalInformation(ex.Message);
                Tracer.SetErrorState(ex);
                throw;
            }
            TearDown();
            return(task.RunId);
        }
Ejemplo n.º 7
0
 public void ImportStartTwoImportersFailureTest()
 {
     lock (TrioWing)
     {
         IBatchConnector <CoordinatedData>         emailConnector1;
         IBatchConnector <CoordinatedData>         emailConnector2;
         Task <IBatchConnector <CoordinatedData> > task = null;
         try
         {
             var kernel = BatchProcessorFactory.GetKernel <CoordinatedData>();
             emailConnector1 = kernel.GetConnector("EmailImporter");
             task            = emailConnector1.ExecuteConnector(ExecutionTypes.Full);
             emailConnector2 = kernel.GetConnector("EmailImporter");
             var task1 = emailConnector2.ExecuteConnector(ExecutionTypes.Full);
             Task.WaitAll(task, task1);
             Assert.Fail("Should throw InvalidAsynchronousStateException");
         }
         catch (Exception ex)
         {
             Assert.IsInstanceOfType(ex, typeof(InvalidAsynchronousStateException));
         }
     }
 }
Ejemplo n.º 8
0
 private static IBatchProgressLogger GetLogger()
 {
     return(BatchProcessorFactory.GetKernel <T>().GetLogger());
 }