public virtual void Conc(IExtObjectContainer oc, int seq) { IMessageSender sender = null; // Configuration is not threadsafe. lock (Lock) { Server().Ext().Configure().ClientServer().SetMessageRecipient(_recipient); sender = oc.Configure().ClientServer().GetMessageSender(); } sender.Send(new MessagingTestCase.Data(seq)); }
public virtual void Conc2(IExtObjectContainer oc, int seq) { oc.Configure().ObjectClass(typeof(MultiLevelIndexTestCase)).CascadeOnUpdate(true); IQuery q = oc.Query(); q.Constrain(typeof(MultiLevelIndexTestCase)); q.Descend("_child").Descend("_i").Constrain(seq - 102); IObjectSet objectSet = q.Execute(); Assert.AreEqual(1, objectSet.Count); MultiLevelIndexTestCase mli = (MultiLevelIndexTestCase)objectSet.Next(); Assert.AreEqual(102 - seq, mli._i); mli._child._i = -(seq + 201); oc.Store(mli); }
public virtual void Conc2(IExtObjectContainer oc, int seq) { oc.Configure().ObjectClass(typeof(MultiLevelIndexTestCase)).CascadeOnUpdate(true); var q = oc.Query(); q.Constrain(typeof(MultiLevelIndexTestCase)); q.Descend("_child").Descend("_i").Constrain(seq - 102); var objectSet = q.Execute(); Assert.AreEqual(1, objectSet.Count); var mli = (MultiLevelIndexTestCase)objectSet.Next(); Assert.AreEqual(102 - seq, mli._i); mli._child._i = -(seq + 201); oc.Store(mli); }
public virtual void TestTimedoutAndClosedClient() { Store(new ClientTimeOutTestCase.Item("one")); ClientServerFixture().Server().Ext().Configure().ClientServer().SetMessageRecipient (recipient); IExtObjectContainer client = ClientServerFixture().Db(); IMessageSender sender = client.Configure().ClientServer().GetMessageSender(); _clientWasBlocked = false; sender.Send(new ClientTimeOutTestCase.Data()); long start = Runtime.CurrentTimeMillis(); Assert.Expect(typeof(DatabaseClosedException), new _ICodeBlock_58(client)); long stop = Runtime.CurrentTimeMillis(); long duration = stop - start; Assert.IsGreaterOrEqual(Timeout / 2, duration); Assert.IsTrue(_clientWasBlocked); }
public virtual void TestRefreshIsUnaffectedByPrefetchingBehavior() { IExtObjectContainer oc1 = Db(); IExtObjectContainer oc2 = OpenNewSession(); oc1.Configure().ClientServer().PrefetchDepth(1); oc2.Configure().ClientServer().PrefetchDepth(1); try { PrefetchConfigurationTestCase.Item itemFromClient1 = new PrefetchConfigurationTestCase.RootItem (new PrefetchConfigurationTestCase.Item()); oc1.Store(itemFromClient1); oc1.Commit(); itemFromClient1.child = null; oc1.Store(itemFromClient1); PrefetchConfigurationTestCase.Item itemFromClient2 = ((PrefetchConfigurationTestCase.RootItem )RetrieveOnlyInstance(oc2, typeof(PrefetchConfigurationTestCase.RootItem))); Assert.IsNotNull(itemFromClient2.child); oc1.Rollback(); itemFromClient2 = ((PrefetchConfigurationTestCase.RootItem)RetrieveOnlyInstance(oc2 , typeof(PrefetchConfigurationTestCase.RootItem))); oc2.Refresh(itemFromClient2, int.MaxValue); Assert.IsNotNull(itemFromClient2.child); oc1.Commit(); itemFromClient2 = ((PrefetchConfigurationTestCase.RootItem)RetrieveOnlyInstance(oc2 , typeof(PrefetchConfigurationTestCase.RootItem))); Assert.IsNotNull(itemFromClient2.child); oc1.Store(itemFromClient1); oc1.Commit(); oc2.Refresh(itemFromClient2, int.MaxValue); itemFromClient2 = ((PrefetchConfigurationTestCase.RootItem)RetrieveOnlyInstance(oc2 , typeof(PrefetchConfigurationTestCase.RootItem))); Assert.IsNull(itemFromClient2.child); } finally { oc2.Close(); } }
public virtual void Test() { ClientServerFixture().Server().Ext().Configure().ClientServer().SetMessageRecipient (recipient); IExtObjectContainer client = ClientServerFixture().Db(); IMessageSender sender = client.Configure().ClientServer().GetMessageSender(); if (IsEmbedded()) { Assert.Expect(typeof(NotSupportedException), new _ICodeBlock_36(sender)); return; } sender.Send(new PingTestCase.Data()); // The following query will be block by the sender IObjectSet os = client.QueryByExample(null); while (os.HasNext()) { os.Next(); } Assert.IsFalse(client.IsClosed()); }
public virtual void TestConfigure() { Assert.IsNotNull(_client1.Configure()); }