Тестирование neo4j 4.0 со встроенной базой данных DatabaseManagementServiceBuilder не найдено нигде - PullRequest
0 голосов
/ 19 марта 2020

Я новичок в neo4j. Я пытаюсь построить тесты, используя встроенную базу данных neo4j внутри приложения Springboot. У меня не получилось, поскольку класс DatabaseManagementServiceBuilder нигде не найден. Обратите внимание, я использую версию 4.0.2. Помогите, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 20 марта 2020

Я боролся с использованием встроенного neo4j db для своих тестов несколько месяцев назад.

Если вы не найдете подходящего решения для встроенной версии, я заканчиваю тем, что начинаю реальную экземпляр db ...

Я немного настроил официальный Dockerfile neo4j, чтобы использовать jdk вместо jre, и смог запустить мои тесты против него.

Вот Dockerfile, начиная с официального 3.4.5-предприятие Dockerfile :

FROM openjdk:8-jdk-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
        make && \
      rm -rf /var/lib/apt/lists/*

ADD maven-settings.xml /root/.m2/settings.xml

# from official neo4j:3.4.5-enterprise image content (changed base image to use jdk instead of jre)
RUN addgroup --system neo4j && adduser --system --no-create-home --home /var/lib/neo4j --ingroup neo4j neo4j

ENV NEO4J_SHA256=0629f17a99ba90d6900c98f332c775a732cc2ad6298b8df41a2872277b19e6e3 \
    NEO4J_TARBALL=neo4j-enterprise-3.4.5-unix.tar.gz \
    NEO4J_EDITION=enterprise \
    NEO4J_ACCEPT_LICENSE_AGREEMENT=yes \
    TINI_VERSION="v0.18.0" \
    TINI_SHA256="12d20136605531b09a2c2dac02ccee85e1b874eb322ef6baf7561cd93f93c855"

ARG NEO4J_URI=http://dist.neo4j.org/neo4j-enterprise-3.4.5-unix.tar.gz

RUN apt update \
    && apt install -y \
    bash \
    curl \
    && curl -L --fail --silent --show-error "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" > /sbin/tini \
    && echo "${TINI_SHA256}  /sbin/tini" | sha256sum -c --strict --quiet \
    && chmod +x /sbin/tini \
    && curl --fail --silent --show-error --location --remote-name ${NEO4J_URI} \
    && echo "${NEO4J_SHA256}  ${NEO4J_TARBALL}" | sha256sum -c --strict --quiet \
    && tar --extract --file ${NEO4J_TARBALL} --directory /var/lib \
    && mv /var/lib/neo4j-* /var/lib/neo4j \
    && rm ${NEO4J_TARBALL} \
    && mv /var/lib/neo4j/data /data \
    && chown -R neo4j:neo4j /data \
    && chmod -R 777 /data \
    && chown -R neo4j:neo4j /var/lib/neo4j \
    && chmod -R 777 /var/lib/neo4j \
    && ln -s /data /var/lib/neo4j/data

# Install latest su-exec
RUN  set -ex; \
     \
     curl -o /usr/local/bin/su-exec.c https://raw.githubusercontent.com/ncopa/su-exec/master/su-exec.c; \
     \
     fetch_deps='gcc libc-dev'; \
     apt-get update; \
     apt-get install -y --no-install-recommends $fetch_deps; \
     rm -rf /var/lib/apt/lists/*; \
     gcc -Wall \
         /usr/local/bin/su-exec.c -o/usr/local/bin/su-exec; \
     chown root:root /usr/local/bin/su-exec; \
     chmod 0755 /usr/local/bin/su-exec; \
     rm /usr/local/bin/su-exec.c; \
     \
     apt-get purge -y --auto-remove $fetch_deps

ENV PATH /var/lib/neo4j/bin:$PATH

ARG NEO4J_AUTH=neo4j/neo4jtest
ENV NEO4J_AUTH=${NEO4J_AUTH}

WORKDIR /var/lib/neo4j

VOLUME /data

COPY docker-entrypoint.sh /docker-entrypoint.sh

EXPOSE 7474 7473 7687

ENTRYPOINT ["/sbin/tini", "-g", "--", "/docker-entrypoint.sh"]
CMD ["neo4j"]

Я использовал оригинальный docker-entrypoint.sh скрипт .

0 голосов
/ 20 марта 2020

Полное имя класса: org.neo4j.dbms.api.DatabaseManagementServiceBuilder .

Здесь приведен пример класса , в котором используется построитель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...