use of org.neo4j.internal.kernel.api.procs.QualifiedName in project neo4j by neo4j.
the class BuiltInDbmsProceduresIT method listClientConfig.
@Test
void listClientConfig() throws Exception {
QualifiedName procedureName = procedureName("dbms", "clientConfig");
int procedureId = procs().procedureGet(procedureName).id();
RawIterator<AnyValue[], ProcedureException> callResult = procs().procedureCallDbms(procedureId, new AnyValue[] {}, ProcedureCallContext.EMPTY);
List<AnyValue[]> config = asList(callResult);
assertEquals(4, config.size());
assertEquals(config.get(0)[0], stringValue("browser.post_connect_cmd"));
assertEquals(config.get(1)[0], stringValue("browser.remote_content_hostname_whitelist"));
assertEquals(config.get(2)[0], stringValue("dbms.default_database"));
assertEquals(config.get(3)[0], stringValue("dbms.security.auth_enabled"));
}
use of org.neo4j.internal.kernel.api.procs.QualifiedName in project neo4j by neo4j.
the class BuiltInDbmsProceduresIT method listCapabilitiesShouldNotReturnBlocked.
@Test
void listCapabilitiesShouldNotReturnBlocked() throws KernelException {
// set blocked capabilities
Config config = dependencyResolver.resolveDependency(Config.class);
config.set(CapabilitiesSettings.dbms_capabilities_blocked, List.of("my.**"));
QualifiedName procedureName = procedureName("dbms", "listCapabilities");
int procedureId = procs().procedureGet(procedureName).id();
RawIterator<AnyValue[], ProcedureException> callResult = procs().procedureCallDbms(procedureId, new AnyValue[] {}, ProcedureCallContext.EMPTY);
List<AnyValue[]> capabilities = asList(callResult);
List<String> capabilityNames = capabilities.stream().map(c -> ((TextValue) c[0]).stringValue()).collect(Collectors.toList());
assertThat(capabilityNames).doesNotContain(TestCapabilities.my_custom_capability.name().fullName());
}
use of org.neo4j.internal.kernel.api.procs.QualifiedName in project neo4j by neo4j.
the class TokenHoldersIdLookupTest method setup.
@BeforeAll
static void setup() throws KernelException {
GlobalProcedures procs = new GlobalProceduresRegistry();
procs.registerProcedure(TestProcedures.class);
procs.registerFunction(TestProcedures.class);
procs.registerAggregationFunction(TestProcedures.class);
procName2id = new HashMap<>();
for (ProcedureSignature signature : procs.getAllProcedures()) {
QualifiedName name = signature.name();
ProcedureHandle procedure = procs.procedure(name);
procName2id.put(name.toString(), procedure.id());
}
funcName2id = new HashMap<>();
procs.getAllNonAggregatingFunctions().forEach(signature -> {
QualifiedName name = signature.name();
UserFunctionHandle function = procs.function(name);
funcName2id.put(name.toString(), function.id());
});
procs.getAllAggregatingFunctions().forEach(signature -> {
QualifiedName name = signature.name();
UserFunctionHandle function = procs.aggregationFunction(name);
funcName2id.put(name.toString(), function.id());
});
idLookup = new TokenHoldersIdLookup(mockedTokenHolders(), procs);
}
use of org.neo4j.internal.kernel.api.procs.QualifiedName in project neo4j by neo4j.
the class ProceduresKernelIT method shouldGetProcedureByName.
@Test
void shouldGetProcedureByName() throws Throwable {
// Given
internalKernel().registerProcedure(procedure);
// When
ProcedureSignature found = procs().procedureGet(new QualifiedName(new String[] { "example" }, "exampleProc")).signature();
// Then
assertThat(found).isEqualTo(signature);
commit();
}
use of org.neo4j.internal.kernel.api.procs.QualifiedName in project neo4j by neo4j.
the class ProcedureHolderTest method canOverwriteFunctionAndChangeCaseSensitivity.
@Test
void canOverwriteFunctionAndChangeCaseSensitivity() {
// given
ProcedureHolder<String> procHolder = new ProcedureHolder<>();
QualifiedName qualifiedName = new QualifiedName(new String[0], "CaseInSensitive");
String item = "CaseInSensitiveItem";
procHolder.put(qualifiedName, item, true);
// then
QualifiedName lowerCaseName = new QualifiedName(new String[0], "caseinsensitive");
assertThat(procHolder.get(lowerCaseName)).isEqualTo(item);
assertThat(procHolder.idOf(lowerCaseName)).isEqualTo(0);
// and then
procHolder.put(qualifiedName, item, false);
assertNull(procHolder.get(lowerCaseName));
assertThrows(NoSuchElementException.class, () -> procHolder.idOf(lowerCaseName));
}
Aggregations