private (ITraceableRemoteApiMap, Dictionary <string, SocketTester>) ArrangeRemoteApiMapWithSockets( IApplicationRecorder applicationRecorder, IRecorder recorder, SocketTester socketConnecter, string address) { var sockets = new Dictionary <string, SocketTester>(); var socketListener = new SocketTester("listener"); var socketAccepted = new SocketTester("accepted"); var socketFactory = ArrangeSocketFactoryTraceableRemoteApiMap(socketConnecter, socketListener, socketAccepted, isRemote: true); // RemoteApiMap var instructionReceiverFactory = new TestInstructionReceiverFactory(socketFactory, recorder); var traceableRemoteApiMapFactory = new BaseTraceableRemoteApiMapFactory( instructionReceiverFactory, applicationRecorder); sockets.Add("connecter", socketConnecter); sockets.Add("listener", socketListener); sockets.Add("accepted", socketAccepted); var apiMap = traceableRemoteApiMapFactory.Create(address); return(apiMap, sockets); }
public Task Run() { _mainApplicationTask = new TaskCompletionSource <bool>(); // System recorder var systemRecorder = new SystemRecorder(); _systemMessageDispatcher = systemRecorder; _systemMessageDispatcher.InterruptedWithMessage += SystemInterruptedHandler; // Application recorder _applicationRecorder = new ApplicationRecorder(systemRecorder, new MessagesCache(10)); // Remote trace monitor var remoteTraceMonitor = new RemoteTraceMonitor(new ConsoleAbstraction() , 4, systemRecorder, systemRecorder); remoteTraceMonitor.Start(); var remoteTraceMonitorСonsistent = new RemoteTraceMonitorСonsistent(remoteTraceMonitor); var remoteOperatorFactory = new BaseMonitoredRemoteOperatorFactory(new BaseInstructionSenderFactory(_applicationRecorder), remoteTraceMonitorСonsistent, _applicationRecorder); var traceableRemoteApiMapFactory = new BaseTraceableRemoteApiMapFactory(new BaseInstructionReceiverFactory(_applicationRecorder), _applicationRecorder); var apiOperatorFactory = new ApiOperatorFactory(remoteOperatorFactory, traceableRemoteApiMapFactory, _applicationRecorder); apiOperatorFactory.Create("127.0.0.1:8081"); return(_mainApplicationTask.Task); }
public BaseTraceableRemoteApiMapFactory( IInstructionReceiverFactory instructionReceiverFactory, IApplicationRecorder recorder) { _instructionReceiverFactory = instructionReceiverFactory; _recorder = recorder; }
public RemoteApiIntegrationTests(ITestOutputHelper testOutputHelper) { _output = testOutputHelper; _cacheRecorder = new CacheRecorder(); _recorder = Mock.Create <IRecorder>(); _applicationRecorder = Mock.Create <IApplicationRecorder>(); _systemRecorder = Mock.Create <ISystemRecorder>(); }
public ApiOperatorFactory( IMonitoredRemoteOperatorFactory monitoredRemoteOperatorFactory, ITraceableRemoteApiMapFactory traceableRemoteApiMapFactory, IApplicationRecorder applicationRecorder) { _traceableRemoteApiMapFactory = traceableRemoteApiMapFactory; _monitoredRemoteOperatorFactory = monitoredRemoteOperatorFactory; _applicationRecorder = applicationRecorder; }
public RemoteRecordsSender( IСonsistentMessageSender consistentMessageSender, IApplicationRecorder applicationRecorder, IRecorder recorder) { _consistentMessageSender = consistentMessageSender; _applicationRecorder = applicationRecorder; _recorder = recorder; _applicationRecorder.RecordReceived += RecordReceivedHandler; }
public BaseMonitoredRemoteOperatorFactory( IInstructionSenderFactory instructionSenderFactory, IRemoteTraceMonitorСonsistent remoteTraceMonitor, IApplicationRecorder applicationRecorder, IRecorder recorder) { _instructionSenderFactory = instructionSenderFactory; _remoteTraceMonitor = remoteTraceMonitor; _applicationRecorder = applicationRecorder; _recorder = recorder; }
public ApiOperator( IMonitoredRemoteOperator monitoredRemoteOperator, ITraceableRemoteApiMap traceableRemoteApiMap, IApplicationRecorder applicationRecorder) { _traceableRemoteApiMap = traceableRemoteApiMap; _monitoredRemoteOperator = monitoredRemoteOperator; _applicationRecorder = applicationRecorder; _traceableRemoteApiMap.RegisterWrongCommandHandler(WrongCommandHandler); _monitoredRemoteOperator.Start(); }
private static IRunnable SetupCoreHandler(ITraceableRemoteApiMap map, IApplicationRecorder recorder) { recorder.RecordReceived += s => Console.WriteLine(s); // Create core logic here var core = new UsefulLogic(recorder); // Register commands here map.RegisterCommandWithParameters("set", parameter => { core.SetValue(Int32.Parse(parameter.FirstOrDefault())); }); return(core); }
public Task Run() { _mainApplicationTask = new TaskCompletionSource <bool>(); var configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); // System recorder var systemRecorder = new SystemRecorder(); _systemMessageDispatcher = systemRecorder; _systemMessageDispatcher.InterruptedWithMessage += SystemInterruptedHandler; // Application recorder _applicationRecorder = new ApplicationRecorder(systemRecorder, new MessagesCache(Int32.Parse(configuration["MESSAGE_CACHE"]))); // Remote trace monitor var remoteTraceMonitor = new RemoteTraceMonitor(new ConsoleAbstraction() , Int32.Parse(configuration["MONITOR_LINES"]), bool.Parse(configuration["SHOW_DEBUG_MESSAGES"]), systemRecorder, systemRecorder); remoteTraceMonitor.Start(); var remoteTraceMonitorСonsistent = new RemoteTraceMonitorСonsistent(remoteTraceMonitor); var remoteOperatorFactory = new BaseMonitoredRemoteOperatorFactory(new BaseInstructionSenderFactory(_applicationRecorder), remoteTraceMonitorСonsistent, _applicationRecorder, _applicationRecorder); var traceableRemoteApiMapFactory = new BaseTraceableRemoteApiMapFactory(new BaseInstructionReceiverFactory(_applicationRecorder), _applicationRecorder); var apiOperatorFactory = new ApiOperatorFactory(remoteOperatorFactory, traceableRemoteApiMapFactory, _applicationRecorder); apiOperatorFactory.Create(configuration["IP_ADDRESS"]); return(_mainApplicationTask.Task); }
public RemoteRecordsSenderTests() { _consistentMessageSender = Mock.Create <IСonsistentMessageSender>(); _applicationRecorder = Mock.Create <IApplicationRecorder>(); _recorder = Mock.Create <IRecorder>(); }
public UsefulLogic(IApplicationRecorder recorder) { _recorder = recorder; _currentValue = 0; }