Example #1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setUp()
        public virtual void SetUp()
        {
            _master = mock(typeof(Master));
            _databaseAvailabilityGuard = new DatabaseAvailabilityGuard(DEFAULT_DATABASE_NAME, Clocks.fakeClock(), Instance);

            _lockManager = new CommunityLockManger(Config.defaults(), Clocks.systemClock());
            _local       = spy(_lockManager.newClient());
            _logProvider = new AssertableLogProvider();

            LockResult lockResultOk = new LockResult(LockStatus.OkLocked);
            TransactionStreamResponse <LockResult> responseOk = new TransactionStreamResponse <LockResult>(lockResultOk, null, Org.Neo4j.com.TransactionStream_Fields.Empty, Org.Neo4j.com.ResourceReleaser_Fields.NoOp);

            WhenMasterAcquireShared().thenReturn(responseOk);

            WhenMasterAcquireExclusive().thenReturn(responseOk);

            _client = new SlaveLocksClient(_master, _local, _lockManager, mock(typeof(RequestContextFactory)), _databaseAvailabilityGuard, _logProvider);
        }
Example #2
0
        private void ReceiveLockResponse(Response <LockResult> response)
        {
            LockResult result = response.ResponseConflict();

            switch (result.Status)
            {
            case DEAD_LOCKED:
                throw new DeadlockDetectedException(result.Message);

            case NOT_LOCKED:
                throw new System.NotSupportedException(result.ToString());

            case OK_LOCKED:
                break;

            default:
                throw new System.NotSupportedException(result.ToString());
            }
        }
Example #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldIncludeReasonForNotLocked()
        public virtual void ShouldIncludeReasonForNotLocked()
        {
            // GIVEN
            SlaveLocksClient      client     = NewSlaveLocksClient(_lockManager);
            LockResult            lockResult = new LockResult(LockStatus.NotLocked, "Simply not locked");
            Response <LockResult> response   = new TransactionObligationResponse <LockResult>(lockResult, DEFAULT, 2, NO_OP);
            long          nodeId             = 0;
            ResourceTypes resourceType       = NODE;

            when(_master.acquireExclusiveLock(Null, eq(resourceType), anyLong())).thenReturn(response);

            // WHEN
            try
            {
                client.AcquireExclusive(LockTracer.NONE, resourceType, nodeId);
                fail("Should have failed");
            }
            catch (System.NotSupportedException e)
            {
                // THEN
                assertThat(e.Message, containsString(lockResult.Message));
                assertThat(e.Message, containsString(lockResult.Status.name()));
            }
        }