Пример #1
0
 public BooksController(IBooksRepository booksRepository, ILoggers loggers, IUserRepository userRepository, IImageRepository imageRepository)
 {
     this.booksRepository = booksRepository;
     this.loggers         = loggers;
     this.userRepository  = userRepository;
     this.imageRepository = imageRepository;
 }
Пример #2
0
 public IoServerInterface(ILoggers logger, IIoServer ioServer, char endOfMessageChar = EndofMessageChar)
 {
     _logger = logger;
     _ioServer = ioServer;
     Initialise();
     _timeoutPeriod = TimeSpan.FromSeconds(HeartbeatPeriod*2);
     _endOfMessage = endOfMessageChar;
     _timeoutTimer = new Timer(TimeoutTimerElapsed,null,0, (int)TimeSpan.FromSeconds(10).TotalMilliseconds);
 }
Пример #3
0
 /// <summary>
 /// 有参构造函数
 /// </summary>
 /// <param name="loggers"></param>
 /// <param name="connectionString">数据库连接字符串</param>
 /// <param name="dataBaseType">数据库类型</param>
 public DataAccess(ILoggers loggers, string connectionString, DataBaseTypeEnum dataBaseType)
 {
     _logger = loggers;
     if (string.IsNullOrEmpty(connectionString))
     {
         _logger.Error(null, "创建数据库连接失败,错误信息:数据库连接字符串为空");
         throw new ArgumentNullException("Connection String is null or empty");
     }
     _connectionString = connectionString;
     _dataBaseType     = dataBaseType;
 }
Пример #4
0
        public IoClientInterface(ILoggers logger, ITcpClient tcpClient, char endOfMessageChar = EndofMessageChar)
        {
            _logger = logger;
            _tcpClient = tcpClient;
            Initialise();

            _endOfMessage = endOfMessageChar;
            _heartbeatPeriod = TimeSpan.FromSeconds(HeartbeatPeriod);
            _heartbeatTimer = new Timer(HeartbeatTimerElapsed,null, 0, (int)_heartbeatPeriod.TotalMilliseconds);
            //_heartbeatTimer.Elapsed += HeartbeatTimerElapsed;
            //_heartbeatTimer.Interval = _heartbeatPeriod.TotalMilliseconds;
            //_heartbeatTimer.Start();
        }
Пример #5
0
        public void NoParameters()
        {
            ITaskRegistry    registry    = Substitute.For <ITaskRegistry>();
            UnknownTask      task        = new UnknownTask(registry, "GeneralHelp");
            ITaskInteraction interaction = Substitute.For <ITaskInteraction>();
            ILoggers         loggers     = Substitute.For <ILoggers>();

            interaction.Loggers.Returns(loggers);
            ILogger logger = Substitute.For <ILogger>();

            loggers[LoggerType.Status].Returns(logger);

            task.Execute(interaction).Should().Be(ExitCode.InvalidArgument);
            logger.Received().WriteLine(WriteStyle.Error, XTaskStrings.ErrorNoParametersSpecified);
        }
Пример #6
0
        public void UnknownTaskLogsHelp()
        {
            ITaskRegistry    registry    = Substitute.For <ITaskRegistry>();
            UnknownTask      task        = new UnknownTask(registry, "GeneralHelp");
            ITaskInteraction interaction = Substitute.For <ITaskInteraction>();
            ILoggers         loggers     = Substitute.For <ILoggers>();

            interaction.Loggers.Returns(loggers);
            ILogger logger = Substitute.For <ILogger>();

            loggers[LoggerType.Result].Returns(logger);

            task.Execute(interaction).Should().Be(ExitCode.InvalidArgument);
            logger.Received().WriteLine(WriteStyle.Fixed, "GeneralHelp");
        }
Пример #7
0
        public void ListSettings_CountIsCorrect()
        {
            // Ensure we output the location table and all settings when listing settings

            // Set up loggers
            List <ITable> outputTables = new List <ITable>();
            ILogger       logger       = Substitute.For <ILogger>();

            logger.Write(Arg.Do <ITable>(x => outputTables.Add(x)));
            ILoggers loggers = Substitute.For <ILoggers>();

            loggers[Arg.Any <LoggerType>()].Returns(logger);

            // Set up to list settings
            ITaskInteraction interaction = Substitute.For <ITaskInteraction>();

            interaction.Loggers.Returns(loggers);
            IArgumentProvider argumentProvider = Substitute.For <IArgumentProvider, IClientSettings>();

            argumentProvider.GetOption <SettingsLocation?>(StandardOptions.List).Returns(new Nullable <SettingsLocation>(SettingsLocation.Local));
            interaction.Arguments.Returns(argumentProvider);

            // Prepare the configuration results
            ((IClientSettings)argumentProvider).GetConfigurationPath(SettingsLocation.Local).Returns("LocalPath");
            ((IClientSettings)argumentProvider).GetConfigurationPath(SettingsLocation.Roaming).Returns("RoamingPath");
            ((IClientSettings)argumentProvider).GetConfigurationPath(SettingsLocation.RunningExecutable).Returns("ExePath");

            ClientSetting[] settings =
            {
                new ClientSetting("foo", "one", SettingsLocation.Local),
                new ClientSetting("bar", "two", SettingsLocation.Roaming)
            };
            ((IClientSettings)argumentProvider).GetAllSettings().Returns(settings);

            DefaultsTask task = new DefaultsTask("Foo");

            task.Execute(interaction).Should().Be(ExitCode.Success);

            outputTables.Count.Should().Be(2, "table for locations and table for settings");
            outputTables[0].Rows.Skip(1).ForEachDoOne(
                row => row.Should().Contain(SettingsLocation.Local.ToString(), "LocalPath"),
                row => row.Should().Contain(SettingsLocation.Roaming.ToString(), "RoamingPath"),
                row => row.Should().Contain(SettingsLocation.RunningExecutable.ToString(), "ExePath"));

            outputTables[1].Rows.Skip(1).ForEachDoOne(
                row => row.Should().Contain("foo", SettingsLocation.Local.ToString(), "one"),
                row => row.Should().Contain("bar", SettingsLocation.Roaming.ToString(), "two"));
        }
Пример #8
0
        public void UnkownCommand()
        {
            ITaskRegistry     registry    = Substitute.For <ITaskRegistry>();
            UnknownTask       task        = new UnknownTask(registry, "GeneralHelp");
            ITaskInteraction  interaction = Substitute.For <ITaskInteraction>();
            IArgumentProvider arguments   = Substitute.For <IArgumentProvider>();
            string            commandName = "Foo";

            interaction.Arguments.Returns(arguments);
            interaction.Arguments.Command.Returns(commandName);
            ILoggers loggers = Substitute.For <ILoggers>();

            interaction.Loggers.Returns(loggers);
            ILogger logger = Substitute.For <ILogger>();

            loggers[LoggerType.Status].Returns(logger);

            task.Execute(interaction).Should().Be(ExitCode.InvalidArgument);
            logger.Received().WriteLine(WriteStyle.Error, XTaskStrings.UnknownCommand, commandName);
        }
Пример #9
0
 /// <summary>
 /// Note that I'm only injecting ILoggerConfiguration, and all the others are being looked up via Service Locator.
 /// This seemed like an easier pattern to use instead of having a large interface listing into constructor
 /// </summary>
 public Logger(
     ILoggerConfiguration config,
     ILoggers loggers,
     IServiceProvider provider,
     IAlert alert,
     LongRunningInformation longRunningInfo,
     HttpResponseInformation httpResponseInfo,
     IApplicationSettings app,
     IEmail email
     )
 {
     Config           = config;
     Loggers          = loggers;
     Provider         = provider;
     Alert            = alert;
     LongRunningInfo  = longRunningInfo;
     HttpResponseInfo = httpResponseInfo;
     App       = app;
     EmailImpl = email;
 }
Пример #10
0
 public ConfigController(IConfigRepository configRepository, ILoggers logger)
 {
     this.configRepository = configRepository;
     this.logger           = logger;
 }
Пример #11
0
 public UserController(IUserRepository userRepository, ILoggers loggers, IImageRepository imageRepository)
 {
     this.userRepository  = userRepository;
     this.loggers         = loggers;
     this.imageRepository = imageRepository;
 }
 public RegistrationController(IUserRepository userRepository, ILoggers loggers, IPasswordRepository passwordRepository)
 {
     this.userRepository     = userRepository;
     this.loggers            = loggers;
     this.passwordRepository = passwordRepository;
 }
Пример #13
0
 public ValuesController(ILoggers loggers)
 {
     _loggers = loggers;
 }