public void ProxySystem_Read_ReadFromFakeDistributor_ExpectedData() { var queue = new QueueConfiguration(1, 100); var connection = new ConnectionConfiguration("testService", 10); var ndrc2 = new NetReceiverConfiguration(32192, "localhost", "testService"); var pcc = new ProxyCacheConfiguration(TimeSpan.FromSeconds(20000000)); var proxy = new TestProxySystem(new ServerId("", 1), queue, connection, pcc, pcc, ndrc2, new AsyncTasksConfiguration(TimeSpan.FromMinutes(60000)), new AsyncTasksConfiguration(TimeSpan.FromMinutes(60000)), new ConnectionTimeoutConfiguration(Consts.OpenTimeout, Consts.SendTimeout)); proxy.Build(); proxy.Start(); var distr = new ServerId("localhost", 22194); TestHelper.OpenDistributorHost(distr, connection); proxy.Distributor.SayIAmHere(distr); var provider = new IntHashConvertor(); var hash = provider.CalculateHashFromKey(10); var transaction = new Transaction(hash, "") { OperationName = OperationName.Read, OperationType = OperationType.Sync }; Task.Factory.StartNew(() => { Thread.Sleep(200); transaction.Complete(); var data = new InnerData(transaction) { Data = provider.SerializeValue(10) }; proxy.Queue.ProxyDistributorQueue.Add(new ReadOperationCompleteCommand(data)); }); try { UserTransaction userTransaction; var api = proxy.CreateApi("", false, new IntHashConvertor()); var wait = api.Read(10, out userTransaction); Assert.AreEqual(10, wait); Assert.AreEqual(TransactionState.Complete, userTransaction.State); } catch (Exception e) { Assert.Fail(e.Message); } proxy.Dispose(); }
public void DbModule_LocalAndRemoteData_Count() { var provider = new IntHashConvertor(); var writer = new HashWriter(new HashMapConfiguration("TestLocalAndRemote", HashMapCreationMode.CreateNew, 2, 3, HashFileType.Collector)); writer.CreateMap(); writer.SetServer(0, "localhost", 157, 157); writer.SetServer(1, "localhost", 11011, 157); writer.Save(); _writer1.Build(157, "TestLocalAndRemote", 1); var list = new List <InnerData>(); const int count = 100; for (int i = 0; i < count; i++) { var ev = new InnerData(new Transaction(provider.CalculateHashFromKey(i), "") { OperationName = OperationName.Create }) { Data = CommonDataSerializer.Serialize(i), Key = CommonDataSerializer.Serialize(i), Transaction = { Distributor = new ServerId("localhost", 22188) } }; ev.Transaction.TableName = "Int"; list.Add(ev); } TestHelper.OpenDistributorHostForDb(new ServerId("localhost", 22188), new ConnectionConfiguration("testService", 10)); _writer1.Start(); foreach (var data in list) { _writer1.Input.Process(data); } Thread.Sleep(1000); var mem = _writer1.Db.GetDbModules.First() as TestDbInMemory; Assert.AreNotEqual(count, mem.Local); Assert.AreNotEqual(count, mem.Remote); Assert.AreEqual(count, mem.Local + mem.Remote); _writer1.Dispose(); }