static async Task Main(string[] args) { var options = ReadOptions(args); var logger = Log.ForContext <Program>(); logger.Information($"Starting Alien reader protocol simulator on {options.ListenOn}"); var readerEndpoint = IPEndPoint.Parse(options.ListenOn); var simulator = new SimulatorListener(readerEndpoint); var tagListHandler = new TagListHandler(options); simulator.TagListHandler = tagListHandler.Handle; var tags = options.KnownTags .Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .Select(x => new Tag { TagId = x, DiscoveryTime = DateTime.UtcNow, LastSeenTime = DateTime.UtcNow, ReadCount = 1 }) .ToArray(); if (options.RandomTags) { logger.Information($"Will return random tags"); } else { logger.Information($"Found {tags.Length} tags in options"); } tagListHandler.ReturnContinuos(tags); logger.Information($"Waiting for connections on {simulator.ListenEndpoint}, press CTRL+C to stop"); Console.CancelKeyPress += (sender, args) => simulator.Dispose(); await simulator.ListenTask; }
public HardwareTests() { sim = new SimulatorListener(); proto = new AlienReaderProtocol(baseTimeout, baseTimeout * 2); proto.ConnectAndLogin(sim.Host, sim.Port, "alien", "password").Wait(baseTimeout * 2).ShouldBeTrue(); reader = proto.Api; }
public AlienReaderFactsWithLogin() { logger = LoggerIndexer.GetCurrentClassLogger(); sim = new SimulatorListener(); proto = new AlienReaderProtocol(baseTimeout, baseTimeout * 2); proto.ConnectAndLogin(sim.Host, sim.Port, "alien", "password").Wait(baseTimeout * 2).ShouldBeTrue(); reader = proto.Api; }
public TagStreamListenerTests() { sim = new SimulatorListener(); proto = new AlienReaderProtocol(receiveTimeout: int.MaxValue); proto.ConnectAndLogin(sim.Host, sim.Port, "alien", "password").Wait(2000).ShouldBeTrue(); proto.StartTagPolling(tagStream).Wait(2000).ShouldBeTrue(); reader = proto.Api; tagStream.Subscribe(tags.Add, ex => throw ex, () => completed = true); proto.TagPoller.UnparsedMessages.Subscribe(msgs.Add); }
public TagListHandler Build(bool enableRfid = true) { var readerEndpoint = IPEndPoint.Parse("127.0.0.1:0"); var simulator = new SimulatorListener(readerEndpoint); var tagListHandler = new TagListHandler(); simulator.TagListHandler = tagListHandler.Handle; var serializedConnectionString = $"Protocol = Alien; Network = {simulator.ListenEndpoint}"; var settings = checkpointRepository.GetRfidOptions(); settings.Enabled = enableRfid; settings.ConnectionString = serializedConnectionString; checkpointRepository.SetRfidOptions(settings); return(tagListHandler); }
public TagListHandler Build() { var readerEndpoint = IPEndPoint.Parse("127.0.0.1:0"); var simulator = new SimulatorListener(readerEndpoint); var tagListHandler = new TagListHandler(); simulator.TagListHandler = tagListHandler.Handle; var serializedConnectionString = $"Protocol = Alien; Network = {simulator.ListenEndpoint}"; var settings = storageService.GetRfidOptions(); settings.Enabled = true; settings.ConnectionString = serializedConnectionString; storageService.SetRfidOptions(settings); return(tagListHandler); }
public ReaderFixture() { Settings = new ConfigurationBuilder() .AddJsonFile("alien-test-settings.json", true) .AddEnvironmentVariables() .Build() .Get <AlienTestSettings>(); if (Settings.UseHardwareReader) { UseEndpoint(Settings.HardwareReaderAddress); } else { Simulator = new SimulatorListener(UseEndpoint(Settings.ReaderSimAddress)); Port = Simulator.ListenEndpoint.Port; } Proto = new AlienReaderProtocol(); Proto.ConnectAndLogin(Host, Port, "alien", "password") .Wait(AlienReaderProtocol.DefaultConnectTimeout).Should().BeTrue(); }
public AlienReaderProtocolTests() { sim = new SimulatorListener(); proto = new AlienReaderProtocol(); proto.ConnectAndLogin(sim.Host, sim.Port, "alien", "password").Wait(2000).ShouldBeTrue(); }
public void ShouldSetHandlerProperly() { var sim = new SimulatorListener(IPEndPoint.Parse("127.0.0.1:20023")); sim.TagListHandler = () => ""; }
public ReconnectionTests() { sim = new SimulatorListener(); }