Example #1
0
		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));
		}
Example #2
0
        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);
		}
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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();
            }
        }
Example #7
0
        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());
        }
Example #8
0
 public virtual void TestConfigure()
 {
     Assert.IsNotNull(_client1.Configure());
 }