public void SetUpTests()
        {
            _caseModel = new AutoCompleteCaseModel
            {
                InstrumentName = _instrumentName,
                ServerPark     = _serverParkName,
                NumberOfCases  = 10,
                Payload        = new Dictionary <string, string>
                {
                    { "Key1", "Value1" }
                }
            };

            _loggingMock = new Mock <ILog>();

            _blaiseApiMock = new Mock <IFluentBlaiseApi>();
            _blaiseApiMock.Setup(b => b.WithConnection(It.IsAny <ConnectionModel>())).Returns(_blaiseApiMock.Object);
            _blaiseApiMock.Setup(b => b.WithInstrument(_instrumentName)).Returns(_blaiseApiMock.Object);
            _blaiseApiMock.Setup(b => b.WithServerPark(_serverParkName)).Returns(_blaiseApiMock.Object);
            _blaiseApiMock.Setup(b => b.Survey.Exists).Returns(true);

            _dataSetMock             = new Mock <IDataSet>();
            _completeCaseServiceMock = new Mock <ICompleteCaseService>();
            _sut = new AutoCompleteCasesService(_loggingMock.Object, _blaiseApiMock.Object, _completeCaseServiceMock.Object);
        }
 private IDataSet GetCases(AutoCompleteCaseModel caseModel)
 {
     return(_blaiseApi
            .WithConnection(_blaiseApi.DefaultConnection)
            .WithInstrument(caseModel.InstrumentName)
            .WithServerPark(caseModel.ServerPark)
            .Cases);
 }
Ejemplo n.º 3
0
        public void CompleteCase(IDataRecord dataRecord, AutoCompleteCaseModel model)
        {
            model.InstrumentName.ThrowExceptionIfNullOrEmpty("InstrumentName");
            model.ServerPark.ThrowExceptionIfNullOrEmpty("ServerPark");

            UpdateDataRecord(dataRecord, model);
            MarkAsComplete(dataRecord, model);
        }
Ejemplo n.º 4
0
 private IDataRecord GetCase(AutoCompleteCaseModel model)
 {
     return(_blaiseApi
            .WithConnection(_blaiseApi.DefaultConnection)
            .WithInstrument(model.InstrumentName)
            .WithServerPark(model.ServerPark)
            .Case
            .WithPrimaryKey(model.PrimaryKey)
            .Get());
 }
Ejemplo n.º 5
0
 private bool CaseExists(AutoCompleteCaseModel model)
 {
     return(_blaiseApi
            .WithConnection(_blaiseApi.DefaultConnection)
            .WithInstrument(model.InstrumentName)
            .WithServerPark(model.ServerPark)
            .Case
            .WithPrimaryKey(model.PrimaryKey)
            .Exists);
 }
Ejemplo n.º 6
0
 private void MarkAsComplete(IDataRecord dataRecord, AutoCompleteCaseModel model)
 {
     _blaiseApi
     .WithConnection(_blaiseApi.DefaultConnection)
     .WithInstrument(model.InstrumentName)
     .WithServerPark(model.ServerPark)
     .Case
     .WithDataRecord(dataRecord)
     .WithStatus(CaseStatusType.Completed)
     .Update();
 }
Ejemplo n.º 7
0
 private void UpdateDataRecord(IDataRecord dataRecord, AutoCompleteCaseModel model)
 {
     _blaiseApi
     .WithConnection(_blaiseApi.DefaultConnection)
     .WithInstrument(model.InstrumentName)
     .WithServerPark(model.ServerPark)
     .Case
     .WithDataRecord(dataRecord)
     .WithData(model.Payload)
     .Update();
 }
Ejemplo n.º 8
0
        public CompletionModelMapperTests()
        {
            _caseModel = new AutoCompleteCaseModel
            {
                InstrumentName = "OPN2000",
                ServerPark     = "Park1",
                PrimaryKey     = "Key1",
                NumberOfCases  = 10,
                Payload        = new Dictionary <string, string>
                {
                    { "Key1", "Value1" }
                }
            };

            _sut = new ModelMapper();
        }
        public void SetUpTests()
        {
            _caseModel = new AutoCompleteCaseModel
            {
                InstrumentName = _instrumentName,
                ServerPark     = _serverParkName,
                PrimaryKey     = "Key1",
                NumberOfCases  = 10,
                Payload        = new Dictionary <string, string>
                {
                    { "Key1", "Value1" }
                }
            };

            _dataRecord = new Mock <IDataRecord>();
            _dataRecord.Setup(d => d.Keys[0].KeyValue).Returns("");

            _loggingMock = new Mock <ILog>();

            _blaiseApiMock = new Mock <IFluentBlaiseApi>();
            _blaiseApiMock.Setup(b => b.WithConnection(It.IsAny <ConnectionModel>())).Returns(_blaiseApiMock.Object);
            _blaiseApiMock.Setup(b => b.WithInstrument(It.IsAny <string>())).Returns(_blaiseApiMock.Object);
            _blaiseApiMock.Setup(b => b.WithServerPark(It.IsAny <string>())).Returns(_blaiseApiMock.Object);

            _blaiseApiMock.Setup(b => b
                                 .Case
                                 .WithPrimaryKey(It.IsAny <string>())
                                 .Get()).Returns(_dataRecord.Object);

            _blaiseApiMock.Setup(b => b
                                 .Case
                                 .WithDataRecord(It.IsAny <IDataRecord>())
                                 .WithData(It.IsAny <Dictionary <string, string> >())
                                 .Update());

            _blaiseApiMock.Setup(b => b
                                 .Case
                                 .WithDataRecord(It.IsAny <IDataRecord>())
                                 .WithStatus(It.IsAny <CaseStatusType>())
                                 .Update());

            _sut = new CompleteCaseService(_loggingMock.Object, _blaiseApiMock.Object);
        }
Ejemplo n.º 10
0
        public void CompleteCase(AutoCompleteCaseModel model)
        {
            model.PrimaryKey.ThrowExceptionIfNullOrEmpty("PrimaryKey");
            model.InstrumentName.ThrowExceptionIfNullOrEmpty("InstrumentName");
            model.ServerPark.ThrowExceptionIfNullOrEmpty("ServerPark");

            if (!CaseExists(model))
            {
                _logger.Info(
                    $"Case with primary key '{model.PrimaryKey}' was not found for survey '{model.InstrumentName}' on ServeParkName: {model.ServerPark}");

                return;
            }

            var dataRecord = GetCase(model);

            CompleteCase(dataRecord, model);

            _logger.Info($"Completed case with primary key '{model.PrimaryKey}'");
        }
        public void CompleteCases(AutoCompleteCaseModel model)
        {
            model.InstrumentName.ThrowExceptionIfNullOrEmpty("InstrumentName");
            model.NumberOfCases.ThrowExceptionIfLessThanOrEqualToZero("NumberOfCases");

            var caseCompletedCounter = 0;

            if (!_blaiseApi
                .WithInstrument(model.InstrumentName)
                .WithServerPark(model.ServerPark)
                .WithConnection(_blaiseApi.DefaultConnection)
                .Survey
                .Exists)
            {
                _logger.Warn($"The survey '{model.InstrumentName}' does not exist on server park '{model.ServerPark}'");
                return;
            }

            _logger.Info($"Getting cases for survey '{model.InstrumentName}' on server park '{model.ServerPark}'");
            var dataSet = GetCases(model);

            while (!dataSet.EndOfSet)
            {
                if (model.NumberOfCases == caseCompletedCounter)
                {
                    break;
                }

                if (!CaseIsComplete(dataSet.ActiveRecord))
                {
                    _completeCaseService.CompleteCase(dataSet.ActiveRecord, model);

                    caseCompletedCounter++;
                }
                dataSet.MoveNext();
            }

            _logger.Info(caseCompletedCounter == 0
                ? "No Cases Found to Complete"
                : $"Completed {caseCompletedCounter} cases");
        }
 public AutoCompleteCaseHandlerTests()
 {
     _message   = "Test message";
     _caseModel = new AutoCompleteCaseModel();
 }