Search in sources :

Example 26 with Log

use of org.neo4j.logging.Log in project neo4j by neo4j.

the class ReflectiveUserFunctionTest method shouldNotLoadAnyFunctionIfConfigIsEmpty.

@Test
public void shouldNotLoadAnyFunctionIfConfigIsEmpty() throws Throwable {
    // Given
    Log log = spy(Log.class);
    procedureCompiler = new ReflectiveProcedureCompiler(new TypeMappers(), components, new ComponentRegistry(), log, new ProcedureConfig(Config.defaults().with(MapUtil.stringMap(GraphDatabaseSettings.procedure_whitelist.name(), ""))));
    List<CallableUserFunction> method = compile(SingleReadOnlyFunction.class);
    verify(log).warn("The function 'org.neo4j.kernel.impl.proc.listCoolPeople' is not on the whitelist and won't be loaded.");
    assertThat(method.size(), equalTo(0));
}
Also used : CallableUserFunction(org.neo4j.kernel.api.proc.CallableUserFunction) Log(org.neo4j.logging.Log) NullLog(org.neo4j.logging.NullLog) Test(org.junit.Test)

Example 27 with Log

use of org.neo4j.logging.Log in project neo4j by neo4j.

the class ConfiguringPageCacheFactoryTest method mustUseAndLogConfiguredPageSwapper.

@Test
public void mustUseAndLogConfiguredPageSwapper() throws Exception {
    // Given
    Config config = Config.embeddedDefaults(stringMap(pagecache_memory.name(), "8m", pagecache_swapper.name(), TEST_PAGESWAPPER_NAME));
    AssertableLogProvider logProvider = new AssertableLogProvider();
    Log log = logProvider.getLog(PageCache.class);
    // When
    new ConfiguringPageCacheFactory(fsRule.get(), config, PageCacheTracer.NULL, PageCursorTracerSupplier.NULL, log);
    // Then
    assertThat(PageSwapperFactoryForTesting.countCreatedPageSwapperFactories(), is(1));
    assertThat(PageSwapperFactoryForTesting.countConfiguredPageSwapperFactories(), is(1));
    logProvider.assertContainsMessageContaining(TEST_PAGESWAPPER_NAME);
}
Also used : Log(org.neo4j.logging.Log) NullLog(org.neo4j.logging.NullLog) Config(org.neo4j.kernel.configuration.Config) AssertableLogProvider(org.neo4j.logging.AssertableLogProvider) Test(org.junit.Test)

Example 28 with Log

use of org.neo4j.logging.Log in project neo4j by neo4j.

the class ReflectiveProcedureTest method shouldSupportProcedureDeprecation.

@Test
public void shouldSupportProcedureDeprecation() throws Throwable {
    // Given
    Log log = mock(Log.class);
    ReflectiveProcedureCompiler procedureCompiler = new ReflectiveProcedureCompiler(new TypeMappers(), components, components, log, ProcedureConfig.DEFAULT);
    // When
    List<CallableProcedure> procs = procedureCompiler.compileProcedure(ProcedureWithDeprecation.class, Optional.empty(), true);
    // Then
    verify(log).warn("Use of @Procedure(deprecatedBy) without @Deprecated in badProc");
    verifyNoMoreInteractions(log);
    for (CallableProcedure proc : procs) {
        String name = proc.signature().name().name();
        proc.apply(new BasicContext(), new Object[0]);
        switch(name) {
            case "newProc":
                assertFalse("Should not be deprecated", proc.signature().deprecated().isPresent());
                break;
            case "oldProc":
            case "badProc":
                assertTrue("Should be deprecated", proc.signature().deprecated().isPresent());
                assertThat(proc.signature().deprecated().get(), equalTo("newProc"));
                break;
            default:
                fail("Unexpected procedure: " + name);
        }
    }
}
Also used : Log(org.neo4j.logging.Log) NullLog(org.neo4j.logging.NullLog) BasicContext(org.neo4j.kernel.api.proc.BasicContext) CallableProcedure(org.neo4j.kernel.api.proc.CallableProcedure) Test(org.junit.Test)

Example 29 with Log

use of org.neo4j.logging.Log in project neo4j by neo4j.

the class ReflectiveProcedureTest method shouldNotLoadAnyProcedureIfConfigIsEmpty.

@Test
public void shouldNotLoadAnyProcedureIfConfigIsEmpty() throws Throwable {
    // Given
    ProcedureConfig config = new ProcedureConfig(Config.defaults().with(genericMap(procedure_whitelist.name(), "")));
    Log log = mock(Log.class);
    ReflectiveProcedureCompiler procedureCompiler = new ReflectiveProcedureCompiler(new TypeMappers(), components, components, log, config);
    // When
    List<CallableProcedure> proc = procedureCompiler.compileProcedure(SingleReadOnlyProcedure.class, Optional.empty(), false);
    // Then
    verify(log).warn("The procedure 'org.neo4j.kernel.impl.proc.listCoolPeople' is not on the whitelist and won't be loaded.");
    assertThat(proc.isEmpty(), is(true));
}
Also used : Log(org.neo4j.logging.Log) NullLog(org.neo4j.logging.NullLog) CallableProcedure(org.neo4j.kernel.api.proc.CallableProcedure) Test(org.junit.Test)

Example 30 with Log

use of org.neo4j.logging.Log in project neo4j by neo4j.

the class ReflectiveProcedureTest method shouldIgnoreWhiteListingIfFullAccess.

@Test
public void shouldIgnoreWhiteListingIfFullAccess() throws Throwable {
    // Given
    ProcedureConfig config = new ProcedureConfig(Config.defaults().with(genericMap(procedure_whitelist.name(), "empty")));
    Log log = mock(Log.class);
    ReflectiveProcedureCompiler procedureCompiler = new ReflectiveProcedureCompiler(new TypeMappers(), components, components, log, config);
    // When
    CallableProcedure proc = procedureCompiler.compileProcedure(SingleReadOnlyProcedure.class, Optional.empty(), true).get(0);
    // Then
    RawIterator<Object[], ProcedureException> result = proc.apply(new BasicContext(), new Object[0]);
    assertEquals(result.next()[0], "Bonnie");
}
Also used : Log(org.neo4j.logging.Log) NullLog(org.neo4j.logging.NullLog) BasicContext(org.neo4j.kernel.api.proc.BasicContext) CallableProcedure(org.neo4j.kernel.api.proc.CallableProcedure) ProcedureException(org.neo4j.kernel.api.exceptions.ProcedureException) Test(org.junit.Test)

Aggregations

Log (org.neo4j.logging.Log)91 Test (org.junit.Test)63 NullLog (org.neo4j.logging.NullLog)29 File (java.io.File)12 LogProvider (org.neo4j.logging.LogProvider)12 IOException (java.io.IOException)9 Config (org.neo4j.kernel.configuration.Config)9 BasicContext (org.neo4j.kernel.api.proc.BasicContext)8 Map (java.util.Map)7 NullLogProvider (org.neo4j.logging.NullLogProvider)7 PageCache (org.neo4j.io.pagecache.PageCache)6 CallableProcedure (org.neo4j.kernel.api.proc.CallableProcedure)6 LogService (org.neo4j.kernel.impl.logging.LogService)6 AssertableLogProvider (org.neo4j.logging.AssertableLogProvider)6 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)5 Monitors (org.neo4j.kernel.monitoring.Monitors)5 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)4 Before (org.junit.Before)4 GraphDatabaseService (org.neo4j.graphdb.GraphDatabaseService)4 FileSystemAbstraction (org.neo4j.io.fs.FileSystemAbstraction)4