//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void givenAccessGuardWith2ConditionsWhenGrantTwiceAndDenyOnceAndAwaitThenTimeoutAndReturnFalse() public virtual void GivenAccessGuardWith2ConditionsWhenGrantTwiceAndDenyOnceAndAwaitThenTimeoutAndReturnFalse() { // Given Log log = mock(typeof(Log)); DatabaseAvailabilityGuard databaseAvailabilityGuard = GetDatabaseAvailabilityGuard(_clock, log); databaseAvailabilityGuard.Require(_requirement_1); databaseAvailabilityGuard.Require(_requirement_2); // When databaseAvailabilityGuard.Fulfill(_requirement_1); databaseAvailabilityGuard.Fulfill(_requirement_1); databaseAvailabilityGuard.Require(_requirement_2); long start = _clock.millis(); long timeout = 1000; bool result = databaseAvailabilityGuard.IsAvailable(timeout); long end = _clock.millis(); // Then long waitTime = end - start; assertFalse(result); assertThat(waitTime, greaterThanOrEqualTo(timeout)); }
internal PageCacheWarmerKernelExtension(JobScheduler scheduler, DatabaseAvailabilityGuard databaseAvailabilityGuard, PageCache pageCache, FileSystemAbstraction fs, NeoStoreDataSource dataSource, Log log, PageCacheWarmerMonitor monitor, Config config) { this._databaseAvailabilityGuard = databaseAvailabilityGuard; this._dataSource = dataSource; this._config = config; _pageCacheWarmer = new PageCacheWarmer(fs, pageCache, scheduler, dataSource.DatabaseLayout.databaseDirectory()); _availabilityListener = new WarmupAvailabilityListener(scheduler, _pageCacheWarmer, config, log, monitor); }
//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 ), new LockedOnMasterAnswer() ); _lockManager = new ForsetiLockManager( Config.defaults(), Clocks.systemClock(), ResourceTypes.values() ); _requestContextFactory = mock( typeof( RequestContextFactory ) ); _databaseAvailabilityGuard = new DatabaseAvailabilityGuard( GraphDatabaseSettings.DEFAULT_DATABASE_NAME, Clocks.systemClock(), mock(typeof(Log)) ); when( _requestContextFactory.newRequestContext( Mockito.anyInt() ) ).thenReturn(RequestContext.anonymous(1)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void availabilityGuardRaisedOnCreation() public virtual void AvailabilityGuardRaisedOnCreation() { DatabaseAvailabilityGuard guard = NewAvailabilityGuard(); assertTrue(guard.Available); LocalDatabase localDatabase = NewLocalDatabase(guard); assertNotNull(localDatabase); AssertDatabaseIsStoppedAndUnavailable(guard); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldExplainWhoIsBlockingAccess() public virtual void ShouldExplainWhoIsBlockingAccess() { // Given Log log = mock(typeof(Log)); DatabaseAvailabilityGuard databaseAvailabilityGuard = GetDatabaseAvailabilityGuard(_clock, log); // When databaseAvailabilityGuard.Require(_requirement_1); databaseAvailabilityGuard.Require(_requirement_2); // Then assertThat(databaseAvailabilityGuard.DescribeWhoIsBlocking(), equalTo("2 reasons for blocking: Requirement 1, Requirement 2.")); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void givenAccessGuardWith2ConditionsWhenGrantEachAndAwaitThenTrue() public virtual void GivenAccessGuardWith2ConditionsWhenGrantEachAndAwaitThenTrue() { // Given Log log = mock(typeof(Log)); DatabaseAvailabilityGuard databaseAvailabilityGuard = GetDatabaseAvailabilityGuard(_clock, log); databaseAvailabilityGuard.Require(_requirement_1); databaseAvailabilityGuard.Require(_requirement_2); // When databaseAvailabilityGuard.Fulfill(_requirement_1); databaseAvailabilityGuard.Fulfill(_requirement_2); assertTrue(databaseAvailabilityGuard.IsAvailable(1000)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void givenAccessGuardWith2ConditionsWhenAwaitThenTimeoutAndReturnFalse() public virtual void GivenAccessGuardWith2ConditionsWhenAwaitThenTimeoutAndReturnFalse() { // Given Log log = mock(typeof(Log)); DatabaseAvailabilityGuard databaseAvailabilityGuard = GetDatabaseAvailabilityGuard(_clock, log); databaseAvailabilityGuard.Require(_requirement_1); databaseAvailabilityGuard.Require(_requirement_2); // When bool result = databaseAvailabilityGuard.IsAvailable(1000); // Then assertThat(result, equalTo(false)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void availabilityGuardRaisedOnStop() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void AvailabilityGuardRaisedOnStop() { DatabaseAvailabilityGuard guard = NewAvailabilityGuard(); assertTrue(guard.Available); LocalDatabase localDatabase = NewLocalDatabase(guard); assertFalse(guard.Available); localDatabase.Start(); assertTrue(guard.Available); localDatabase.Stop(); AssertDatabaseIsStoppedAndUnavailable(guard); }
public override Lifecycle NewInstance(KernelContext context, Dependencies deps) { JobScheduler scheduler = deps.JobScheduler(); DatabaseAvailabilityGuard databaseAvailabilityGuard = deps.AvailabilityGuard(); PageCache pageCache = deps.PageCache(); FileSystemAbstraction fs = deps.FileSystemAbstraction(); LogService logService = deps.LogService(); NeoStoreDataSource dataSourceManager = deps.DataSource; Log log = logService.GetInternalLog(typeof(PageCacheWarmer)); Monitors monitors = deps.Monitors(); PageCacheWarmerMonitor monitor = monitors.NewMonitor(typeof(PageCacheWarmerMonitor)); monitors.AddMonitorListener(new PageCacheWarmerLoggingMonitor(log)); Config config = deps.Config(); return(new PageCacheWarmerKernelExtension(scheduler, databaseAvailabilityGuard, pageCache, fs, dataSourceManager, log, monitor, config)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void givenAccessGuardWithConditionWhenShutdownThenInstantlyDenyAccess() public virtual void GivenAccessGuardWithConditionWhenShutdownThenInstantlyDenyAccess() { // Given Clock clock = Mockito.mock(typeof(Clock)); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.neo4j.kernel.availability.DatabaseAvailabilityGuard databaseAvailabilityGuard = getDatabaseAvailabilityGuard(clock, org.neo4j.logging.NullLog.getInstance()); DatabaseAvailabilityGuard databaseAvailabilityGuard = GetDatabaseAvailabilityGuard(clock, NullLog.Instance); databaseAvailabilityGuard.Require(_requirement_1); // When databaseAvailabilityGuard.Shutdown(); // Then assertFalse(databaseAvailabilityGuard.IsAvailable(1000)); verifyZeroInteractions(clock); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void givenAccessGuardWith2ConditionsWhenGrantOnceAndAwaitAndGrantAgainThenReturnTrue() public virtual void GivenAccessGuardWith2ConditionsWhenGrantOnceAndAwaitAndGrantAgainThenReturnTrue() { // Given Log log = mock(typeof(Log)); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.neo4j.kernel.availability.DatabaseAvailabilityGuard databaseAvailabilityGuard = getDatabaseAvailabilityGuard(clock, log); DatabaseAvailabilityGuard databaseAvailabilityGuard = GetDatabaseAvailabilityGuard(_clock, log); databaseAvailabilityGuard.Require(_requirement_1); databaseAvailabilityGuard.Require(_requirement_2); databaseAvailabilityGuard.Fulfill(_requirement_2); assertFalse(databaseAvailabilityGuard.IsAvailable(100)); databaseAvailabilityGuard.Fulfill(_requirement_1); assertTrue(databaseAvailabilityGuard.IsAvailable(100)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void givenAccessGuardWith2ConditionsWhenAwaitThenActuallyWaitGivenTimeout() public virtual void GivenAccessGuardWith2ConditionsWhenAwaitThenActuallyWaitGivenTimeout() { // Given Log log = mock(typeof(Log)); DatabaseAvailabilityGuard databaseAvailabilityGuard = GetDatabaseAvailabilityGuard(_clock, log); databaseAvailabilityGuard.Require(_requirement_1); databaseAvailabilityGuard.Require(_requirement_2); // When long timeout = 1000; long start = _clock.millis(); bool result = databaseAvailabilityGuard.IsAvailable(timeout); long end = _clock.millis(); // Then long waitTime = end - start; assertThat(result, equalTo(false)); assertThat(waitTime, greaterThanOrEqualTo(timeout)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldExplainBlockersOnCheckAvailable() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldExplainBlockersOnCheckAvailable() { // GIVEN DatabaseAvailabilityGuard databaseAvailabilityGuard = GetDatabaseAvailabilityGuard(Clocks.systemClock(), Instance); // At this point it should be available databaseAvailabilityGuard.CheckAvailable(); // WHEN databaseAvailabilityGuard.Require(_requirement_1); // THEN try { databaseAvailabilityGuard.CheckAvailable(); fail("Should not be available"); } catch (UnavailableException e) { assertThat(e.Message, containsString(_requirement_1())); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void givenAccessGuardWithConditionWhenGrantThenNotifyListeners() public virtual void GivenAccessGuardWithConditionWhenGrantThenNotifyListeners() { // Given Log log = mock(typeof(Log)); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.neo4j.kernel.availability.DatabaseAvailabilityGuard databaseAvailabilityGuard = getDatabaseAvailabilityGuard(clock, log); DatabaseAvailabilityGuard databaseAvailabilityGuard = GetDatabaseAvailabilityGuard(_clock, log); databaseAvailabilityGuard.Require(_requirement_1); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final java.util.concurrent.atomic.AtomicBoolean notified = new java.util.concurrent.atomic.AtomicBoolean(); AtomicBoolean notified = new AtomicBoolean(); AvailabilityListener availabilityListener = new AvailabilityListenerAnonymousInnerClass(this, notified); databaseAvailabilityGuard.AddListener(availabilityListener); // When databaseAvailabilityGuard.Fulfill(_requirement_1); // Then assertThat(notified.get(), equalTo(true)); }
private static void AssertDatabaseIsStoppedForStoreCopyAndUnavailable(DatabaseAvailabilityGuard guard) { assertFalse(guard.Available); assertThat(guard.DescribeWhoIsBlocking(), containsString("Database is stopped to copy store")); }
public CoreAPIAvailabilityGuard(DatabaseAvailabilityGuard guard, long timeout) { this._guard = guard; this._timeout = timeout; }