示例#1
0
 public AssetSettingsListService(IAssetSettingsListRepository assetTargetWorkDefinitionData,
                                 IEnumerable <IRequestValidator <AssetSettingsListRequest> > assetSettingsListValidators,
                                 IEnumerable <IRequestValidator <IServiceRequest> > serviceRequestParametersValidators,
                                 IParameterAttributeCache parameterAttributeCache,
                                 IMapper mapper,
                                 ILoggingService loggingService, IOptions <Configurations> configurations)
 {
     this._assetSettingsListValidators        = assetSettingsListValidators;
     this._serviceRequestParametersValidators = serviceRequestParametersValidators;
     this._assetSettingsListRepository        = assetTargetWorkDefinitionData;
     this._parameterAttributeCache            = parameterAttributeCache;
     this._mapper         = mapper;
     this._loggingService = loggingService;
     this._loggingService.CreateLogger(typeof(AssetSettingsListService));
     this._configurations = configurations.Value;
 }
示例#2
0
        public AssetSettingsListRepositoryTests()
        {
            _stubLoggingService          = Substitute.For <ILoggingService>();
            _stubTransactions            = Substitute.For <ITransactions>();
            _assetSettingsListRepository = new AssetSettingsListRepository(_stubTransactions, _stubLoggingService);

            _assetUIDs = new List <string>
            {
                Guid.NewGuid().ToString("N"),
                Guid.NewGuid().ToString("N"),
                Guid.NewGuid().ToString("N"),
                Guid.NewGuid().ToString("N"),
                Guid.NewGuid().ToString("N"),
                Guid.NewGuid().ToString("N")
            };
        }
示例#3
0
        public AssetSettingsServiceTests()
        {
            this._customerUid       = Guid.NewGuid();
            this._userUid           = Guid.NewGuid();
            this._assetUIDs         = new List <Guid>();
            this._assetSettingsDtos = new List <AssetSettingsDto>();
            for (int i = 0; i < 10; i++)
            {
                this._assetUIDs.Add(Guid.NewGuid());
            }

            for (int i = 0; i < 10; i++)
            {
                this._assetSettingsDtos.Add(new AssetSettingsDto
                {
                    AssetConfigUID = Guid.NewGuid(),
                    AssetUID       = this._assetUIDs[i],
                    InsertUTC      = DateTime.UtcNow,
                    UpdateUTC      = DateTime.UtcNow,
                    StartDate      = DateTime.Now.Date,
                    TargetType     = AssetTargetType.BucketVolumeinCuMeter.ToString(),
                    TargetValue    = 5500.00
                });
            }
            this._assetConfigTypeDtos = new List <AssetConfigTypeDto>();
            this._assetConfigTypeDtos.AddRange(
                new List <AssetConfigTypeDto> {
                new AssetConfigTypeDto
                {
                    AssetConfigTypeID = 0,
                    ConfigTypeName    = "IdletimeHours"
                },
                new AssetConfigTypeDto
                {
                    AssetConfigTypeID = 1,
                    ConfigTypeName    = "RuntimeHours"
                },
                new AssetConfigTypeDto
                {
                    AssetConfigTypeID = 2,
                    ConfigTypeName    = "Runtime"
                },
                new AssetConfigTypeDto
                {
                    AssetConfigTypeID = 3,
                    ConfigTypeName    = "OdometerinKmsPerWeek"
                },
                new AssetConfigTypeDto
                {
                    AssetConfigTypeID = 4,
                    ConfigTypeName    = "BucketVolumeinCuMeter"
                },
                new AssetConfigTypeDto
                {
                    AssetConfigTypeID = 5,
                    ConfigTypeName    = "PayloadinTonnes"
                },
                new AssetConfigTypeDto
                {
                    AssetConfigTypeID = 6,
                    ConfigTypeName    = "CycleCount"
                },
                new AssetConfigTypeDto
                {
                    AssetConfigTypeID = 7,
                    ConfigTypeName    = "VolumeinCuMeter"
                },
                new AssetConfigTypeDto
                {
                    AssetConfigTypeID = 8,
                    ConfigTypeName    = "IdlingBurnRateinLiPerHour"
                },
                new AssetConfigTypeDto
                {
                    AssetConfigTypeID = 9,
                    ConfigTypeName    = "WorkingBurnRateinLiPerHour"
                },
                new AssetConfigTypeDto
                {
                    AssetConfigTypeID = 10,
                    ConfigTypeName    = "PayloadPerCycleInTonnes"
                }
            });
            this._stubTransactions = Substitute.For <ITransactions>();
            this._stubAssetSettingsListRepository = Substitute.For <IAssetSettingsListRepository>();
            this._stubAssetSettingsListRepository.FetchValidAssetUIds(Arg.Any <List <string> >(), Arg.Any <AssetSettingsListRequestDto>()).Returns(
                x =>
            {
                var request = (AssetSettingsListRequestDto)x[1];
                if (request.CustomerUid == _customerUid.ToString("N") && request.UserUid == _userUid.ToString("N"))
                {
                    return(_assetUIDs.Where(y => ((List <string>)x[0]).Contains(y.ToString())).Select(z => z.ToString()));
                }
                else
                {
                    return(new List <string>());
                }
            });
            this._stubAssetConfigTypeRepository = Substitute.For <IAssetConfigTypeRepository>();
            this._stubAssetSettingsRepository   = Substitute.For <IAssetConfigRepository>();
            this._stubKafkaPublisher            = Substitute.For <IPublisher>();
            this._stubInjectConfig = Substitute.For <IInjectConfig>();
            this._stubInjectConfig.ResolveKeyed <IPublisher>(Arg.Any <string>()).Returns(this._stubKafkaPublisher);

            this._stubAssetSettingsRepository.FetchAssetConfig(Arg.Any <List <string> >(), Arg.Any <AssetSettingsDto>()).Returns(x => Task.FromResult(_assetSettingsDtos.Where(y => ((List <string>)x[0]).Contains(y.AssetUID.ToString()))));
            this._stubAssetConfigTypeRepository.FetchByConfigTypeNames(Arg.Any <AssetConfigTypeDto>()).Returns(callInfo => Task.FromResult(_assetConfigTypeDtos.Where(x => ((AssetConfigTypeDto)callInfo[0]).ConfigTypeNames.Contains(x.ConfigTypeName))));

            this._stubLoggingService = Substitute.For <ILoggingService>();
            this._stubLoggingService.CreateLogger(this.GetType());

            this._stubCustomerRepository = Substitute.For <ICustomerRepository>();

            this._serviceRequestParametersValidators = new List <IRequestValidator <IServiceRequest> >
            {
                new CustomerUidValidator(this._stubCustomerRepository, this._stubLoggingService),
                new UserUidValidator(this._stubLoggingService)
            };
            this._assetSettingsValidators = new List <IRequestValidator <AssetSettingsRequestBase> >
            {
                new AssetUIDsValidator(this._stubAssetSettingsListRepository, this._stubLoggingService)
            };
            this._stubConfigurations = Options.Create <Configurations>(new Configurations
            {
                KafkaSettings = new KafkaSettings
                {
                    PublisherTopics = new PublisherTopics
                    {
                        AssetWeeklySettingsTopicName     = "VSS.VISIONLINK.INTERFACES.ASSETWEEKLYTARGETS",
                        UserAssetSettingsTopicName       = "VSS.VISIONLINK.INTERFACES.USERASSETTARGETS",
                        AssetSettingsTopicName           = "VSS.VISIONLINK.INTERFACES.ASSETTARGETS",
                        UserAssetWeeklySettingsTopicName = "VSS.VISIONLINK.INTERFACES.USERASSETWEEKLYTARGETS"
                    }
                }
            });
            this._assetSettingsPublisher = new AssetSettingsPublisher(_stubConfigurations, _stubTransactions, _stubLoggingService);
            var mapperConfig = new MapperConfiguration(config =>
            {
                config.CreateMap <AssetSettingsListDto, AssetSettingsDetails>();
                config.CreateMap <AssetSettingsDto, AssetSettingsResponse>();
            });

            //var databaseManager = new DatabaseManager("");
            this._mapper = mapperConfig.CreateMapper();
            this._assetSettingsService = new AssetSettingsService(_stubAssetSettingsRepository, _stubAssetConfigTypeRepository, _assetSettingsPublisher, _assetSettingsValidators, _serviceRequestParametersValidators, _mapper, _stubTransactions, _stubLoggingService);
        }
示例#4
0
 public AssetUIDsValidator(IAssetSettingsListRepository assetSettingsListRepository, ILoggingService loggingService) : base(loggingService)
 {
     this._assetSettingsListRepository = assetSettingsListRepository;
 }
示例#5
0
        public AssetSettingsListServiceTests()
        {
            _customerUid = Guid.NewGuid();
            _userUid     = Guid.NewGuid();
            _assetUIDs   = new List <Guid>();

            _stubLoggingService     = Substitute.For <ILoggingService>();
            _stubCustomerRepository = Substitute.For <ICustomerRepository>();
            _stubLoggingService.CreateLogger(typeof(AssetSettingsListService));

            _assetSettingsListValidators = new List <IRequestValidator <AssetSettingsListRequest> >
            {
                new AssetSettingsListPageValidator(_stubLoggingService),
                new AssetSettingsFilterValidator(_stubLoggingService),
                new AssetSettingsSortColumnValidator(_stubLoggingService)
            };

            _serviceRequestParametersValidators = new List <IRequestValidator <IServiceRequest> >
            {
                new CustomerUidValidator(_stubCustomerRepository, _stubLoggingService),
                new UserUidValidator(_stubLoggingService)
            };

            for (int i = 0; i < 10; i++)
            {
                _assetUIDs.Add(Guid.NewGuid());
            }
            _stubParameterAttributeCache     = Substitute.For <IParameterAttributeCache>();
            _stubAssetSettingsListRepository = Substitute.For <IAssetSettingsListRepository>();
            _stubAssetSettingsListRepository.FetchEssentialAssets(Arg.Any <AssetSettingsListRequestDto>()).Returns(
                x =>
            {
                var request = (AssetSettingsListRequestDto)x[0];
                if (request.CustomerUid == _customerUid.ToString("N") && request.UserUid == _userUid.ToString("N"))
                {
                    if ((_assetUIDs.Count / request.PageSize) < request.PageNumber)
                    {
                        return(new Tuple <int, IList <AssetSettingsListDto> >(0, new List <AssetSettingsListDto>()));
                    }
                    return(new Tuple <int, IList <AssetSettingsListDto> >(_assetUIDs.Count, _assetUIDs.Select(y => new AssetSettingsListDto
                    {
                        AssetUIDString = y.ToString("N"),
                        AssetName = y.ToString("N")
                    }).ToList()));
                }
                else
                {
                    return(new Tuple <int, IList <AssetSettingsListDto> >(0, new List <AssetSettingsListDto>()));
                }
            });

            _stubAssetSettingsListRepository.FetchDeviceTypesByAssetUID(Arg.Any <AssetDeviceTypeRequest>()).Returns(x =>
            {
                var request = (AssetDeviceTypeRequest)x[0];
                return(Tuple.Create <int, IEnumerable <DeviceTypeDto> >(3, new List <DeviceTypeDto>()
                {
                    new DeviceTypeDto()
                    {
                        DeviceType = "PL121", AssetCount = 120
                    },
                    new DeviceTypeDto()
                    {
                        DeviceType = "PL142", AssetCount = 24
                    },
                    new DeviceTypeDto()
                    {
                        DeviceType = "PL132", AssetCount = 100
                    }
                }));
            });

            var mapperconfig = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <AssetSettingsListDto, AssetSettingsDetails>();
            });

            this._stubConfigurations = Options.Create <Configurations>(Substitute.For <Configurations>());
            _mapper = mapperconfig.CreateMapper();
            _assetSettingsListService = new AssetSettingsListService(_stubAssetSettingsListRepository, _assetSettingsListValidators, _serviceRequestParametersValidators, _stubParameterAttributeCache, _mapper, _stubLoggingService, _stubConfigurations);
        }