CucumberTest

34

tests

0

failures

0

ignored

21.425s

duration

100%

successful

Tests

Test Duration Result
Alle Dokumente auflisten 0.236s passed
Der Dienst sagt, wer er ist 0.058s passed
Der Feed meldet das Löschen und die Wiederherstellung 0.123s passed
Der Feed nennt den Absender einer Änderung 0.078s passed
Der Feed stellt die Umbenennung samt neuem Titel zu 0.057s passed
Die Historie protokolliert alle Änderungen 0.078s passed
Die Historie überlebt das Löschen eines Dokuments 0.071s passed
Die Info ist ohne Master-Passwort zu haben 0.026s passed
Dieselbe Änderung zweimal gesendet wirkt nur einmal 0.109s passed
Ein Dokument aktualisieren erhöht die Version 0.076s passed
Ein Dokument löschen 0.072s passed
Ein Index außerhalb des Dokuments wird nicht angewendet 0.070s passed
Ein Rückfall auf eine alte Version ist kein Wiederherstellen 0.154s passed
Ein Wartender wird geweckt, sobald eine Änderung eintrifft 0.414s passed
Ein einzelnes Dokument abrufen 0.040s passed
Ein gelöschtes Dokument nimmt keine Änderung mehr an 0.086s passed
Ein gelöschtes Dokument wiederherstellen 0.114s passed
Ein leerer Titel wird abgelehnt 0.058s passed
Ein neues Dokument anlegen 0.050s passed
Ein unbekanntes Dokument abrufen 0.034s passed
Eine falsche Prüfsumme wird nicht angewendet 0.097s passed
Eine gänzlich unbekannte UUID hat keinen Feed 0.080s passed
Eine veraltete Basis mit Überschneidung meldet einen Konflikt 0.109s passed
Eine veraltete Basis ohne Überschneidung wird serverseitig verschoben 0.121s passed
Eine veraltete Version wird abgelehnt 0.045s passed
Eine Änderung auf aktueller Basis wird angewendet 0.104s passed
Nach zu vielen Fehlversuchen ist die Liste gesperrt 0.488s passed
Ohne Master-Passwort bleibt die Liste verschlossen 0.091s passed
Umbenennen mit aktueller Version gilt und lässt den Inhalt stehen 0.075s passed
Wer auf dem neuesten Stand ist, bekommt nichts 1.096s passed
Wer noch gar nichts hat, bekommt den Volltext 0.049s passed
Wer zurückliegt, bekommt sofort das Diff 16.920s passed
Wiederherstellen ohne Historie schlägt fehl 0.032s passed
Zwei Einfügungen an derselben Stelle sind kein Konflikt 0.114s passed

Standard output

14:12:55.754 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils -- Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
14:12:55.977 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper -- Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::                (v4.0.2)

2026-09-03T14:12:56.867Z  INFO 105 --- [editor-backend] [    Test worker] d.w.bdd.CucumberSpringConfiguration      : Starting CucumberSpringConfiguration using Java 21.0.11 with PID 105 (started by root in /home/pacs/mih09/users/werkator/werkbaum/.git/werkator/worktrees/main-0d6e4079e367/backend)
2026-09-03T14:12:56.869Z  INFO 105 --- [editor-backend] [    Test worker] d.w.bdd.CucumberSpringConfiguration      : The following 1 profile is active: "test"
2026-09-03T14:12:59.210Z  INFO 105 --- [editor-backend] [    Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2026-09-03T14:12:59.295Z  INFO 105 --- [editor-backend] [    Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 58 ms. Found 2 JPA repository interfaces.
2026-09-03T14:13:00.147Z  INFO 105 --- [editor-backend] [    Test worker] o.s.boot.tomcat.TomcatWebServer          : Tomcat initialized with port 0 (http)
2026-09-03T14:13:00.167Z  INFO 105 --- [editor-backend] [    Test worker] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2026-09-03T14:13:00.168Z  INFO 105 --- [editor-backend] [    Test worker] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/11.0.15]
2026-09-03T14:13:00.229Z  INFO 105 --- [editor-backend] [    Test worker] b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 3325 ms
2026-09-03T14:13:00.563Z  INFO 105 --- [editor-backend] [    Test worker] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2026-09-03T14:13:00.990Z  INFO 105 --- [editor-backend] [    Test worker] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Added connection conn0: url=jdbc:h2:mem:editor-test user=SA
2026-09-03T14:13:00.993Z  INFO 105 --- [editor-backend] [    Test worker] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2026-09-03T14:13:01.113Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.database                       : Set default schema name to PUBLIC
2026-09-03T14:13:01.513Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.changelog                      : Creating database changelog table with name: PUBLIC.DATABASECHANGELOG
2026-09-03T14:13:01.673Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.changelog                      : Reading from PUBLIC.DATABASECHANGELOG
2026-09-03T14:13:01.689Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.snapshot                       : Creating snapshot
2026-09-03T14:13:01.793Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.lockservice                    : Successfully acquired change log lock
2026-09-03T14:13:01.794Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.command                        : Using deploymentId: 8444780470
2026-09-03T14:13:01.797Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.changelog                      : Reading from PUBLIC.DATABASECHANGELOG
2026-09-03T14:13:01.955Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.ui                             : Running Changeset: db/changelog/db.changelog-master.sql::001-create-document::editor
2026-09-03T14:13:01.975Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.changelog                      : Custom SQL executed
2026-09-03T14:13:01.978Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.changelog                      : ChangeSet db/changelog/db.changelog-master.sql::001-create-document::editor ran successfully in 20ms
2026-09-03T14:13:01.987Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.ui                             : Running Changeset: db/changelog/db.changelog-master.sql::002-create-document-history::editor
2026-09-03T14:13:02.023Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.changelog                      : Custom SQL executed
2026-09-03T14:13:02.024Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.changelog                      : ChangeSet db/changelog/db.changelog-master.sql::002-create-document-history::editor ran successfully in 36ms
2026-09-03T14:13:02.026Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.ui                             : Running Changeset: db/changelog/db.changelog-master.sql::003-index-document-history::editor
2026-09-03T14:13:02.029Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.changelog                      : Custom SQL executed
2026-09-03T14:13:02.030Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.changelog                      : ChangeSet db/changelog/db.changelog-master.sql::003-index-document-history::editor ran successfully in 4ms
2026-09-03T14:13:02.033Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.ui                             : Running Changeset: db/changelog/db.changelog-master.sql::004-history-milestone::editor
2026-09-03T14:13:02.056Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.changelog                      : Custom SQL executed
2026-09-03T14:13:02.057Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.changelog                      : ChangeSet db/changelog/db.changelog-master.sql::004-history-milestone::editor ran successfully in 23ms
2026-09-03T14:13:02.063Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.ui                             : Running Changeset: db/changelog/db.changelog-master.sql::005-history-author::editor
2026-09-03T14:13:02.088Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.changelog                      : Custom SQL executed
2026-09-03T14:13:02.091Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.changelog                      : ChangeSet db/changelog/db.changelog-master.sql::005-history-author::editor ran successfully in 26ms
2026-09-03T14:13:02.100Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.util                           : UPDATE SUMMARY
2026-09-03T14:13:02.101Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.util                           : Run:                          5
2026-09-03T14:13:02.101Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.util                           : Previously run:               0
2026-09-03T14:13:02.101Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.util                           : Filtered out:                 0
2026-09-03T14:13:02.102Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.util                           : -------------------------------
2026-09-03T14:13:02.102Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.util                           : Total change sets:            5
2026-09-03T14:13:02.103Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.util                           : Update summary generated
2026-09-03T14:13:02.106Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.command                        : Update command completed successfully.
2026-09-03T14:13:02.107Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.ui                             : Liquibase: Update has been successful. Rows affected: 0
2026-09-03T14:13:02.110Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.lockservice                    : Successfully released change log lock
2026-09-03T14:13:02.112Z  INFO 105 --- [editor-backend] [    Test worker] liquibase.command                        : Command execution complete
2026-09-03T14:13:03.913Z  INFO 105 --- [editor-backend] [    Test worker] org.hibernate.orm.jpa                    : HHH008540: Processing PersistenceUnitInfo [name: default]
2026-09-03T14:13:04.119Z  INFO 105 --- [editor-backend] [    Test worker] org.hibernate.orm.core                   : HHH000001: Hibernate ORM core version 7.2.1.Final
2026-09-03T14:13:05.182Z  INFO 105 --- [editor-backend] [    Test worker] o.s.o.j.p.SpringPersistenceUnitInfo      : No LoadTimeWeaver setup: ignoring JPA class transformer
2026-09-03T14:13:05.369Z  INFO 105 --- [editor-backend] [    Test worker] org.hibernate.orm.connections.pooling    : HHH10001005: Database info:
	Database JDBC URL [jdbc:h2:mem:editor-test]
	Database driver: H2 JDBC Driver
	Database dialect: H2Dialect
	Database version: 2.4.240
	Default catalog/schema: EDITOR-TEST/PUBLIC
	Autocommit mode: undefined/unknown
	Isolation level: READ_COMMITTED [default READ_COMMITTED]
	JDBC fetch size: 100
	Pool: DataSourceConnectionProvider
	Minimum pool size: undefined/unknown
	Maximum pool size: undefined/unknown
2026-09-03T14:13:07.368Z  INFO 105 --- [editor-backend] [    Test worker] org.hibernate.orm.core                   : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
2026-09-03T14:13:07.414Z  INFO 105 --- [editor-backend] [    Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2026-09-03T14:13:07.646Z  INFO 105 --- [editor-backend] [    Test worker] o.s.d.j.r.query.QueryEnhancerFactories   : Hibernate is in classpath; If applicable, HQL parser will be used.
2026-09-03T14:13:09.806Z  INFO 105 --- [editor-backend] [    Test worker] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name masterUser
2026-09-03T14:13:10.407Z  INFO 105 --- [editor-backend] [    Test worker] o.s.boot.tomcat.TomcatWebServer          : Tomcat started on port 38497 (http) with context path '/'
2026-09-03T14:13:10.414Z  INFO 105 --- [editor-backend] [    Test worker] d.w.bdd.CucumberSpringConfiguration      : Started CucumberSpringConfiguration in 14.186 seconds (process running for 17.563)

Szenario: Wer zurückliegt, bekommt sofort das Diff            ?[90m# features/aenderungsfeed.feature:11?[0m
2026-09-03T14:13:11.496Z  INFO 105 --- [editor-backend] [omcat-handler-0] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2026-09-03T14:13:11.498Z  INFO 105 --- [editor-backend] [omcat-handler-0] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2026-09-03T14:13:11.502Z  INFO 105 --- [editor-backend] [omcat-handler-0] o.s.web.servlet.DispatcherServlet        : Completed initialization in 3 ms
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    - [ ] Zwei
    """
  ?[32mUnd ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m kennt den aktuellen Stand?[0m                 ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client kennt den aktuellen Stand(java.lang.String)?[0m
  ?[32mUnd ?[0m?[32mClient ?[0m?[32m?[1m"ben"?[0m?[32m folgendes Diff einreicht:?[0m                  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"replace","index":0,"count":1,"lines":["- [x] Eins"]}]
    """
  ?[32mWenn ?[0m?[32mich die Änderungen seit Version ?[0m?[32m?[1m1?[0m?[32m abrufe?[0m               ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.ich rufe die Aenderungen ab(long)?[0m
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m200?[0m                ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
  ?[32mUnd ?[0m?[32mder Feed meldet die Version ?[0m?[32m?[1m2?[0m                           ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.der Feed meldet die Version(long)?[0m
  ?[32mUnd ?[0m?[32mder Feed liefert ?[0m?[32m?[1m1?[0m?[32m Operationen ab Version ?[0m?[32m?[1m1?[0m             ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.der Feed liefert n Operationen(int,long)?[0m
  ?[32mUnd ?[0m?[32mder Feed meldet das Ereignis ?[0m?[32m?[1m"UPDATED"?[0m                  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.der Feed meldet das Ereignis(java.lang.String)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort verbietet das Zwischenspeichern?[0m             ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.die Antwort verbietet das Zwischenspeichern()?[0m
2026-09-03T14:13:12.408Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:12.411Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Wer auf dem neuesten Stand ist, bekommt nichts            ?[90m# features/aenderungsfeed.feature:29?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m       ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    """
  ?[32mWenn ?[0m?[32mich höchstens ?[0m?[32m?[1m1?[0m?[32m Sekunden auf Änderungen seit Version ?[0m?[32m?[1m1?[0m?[32m warte?[0m ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.ich warte auf Aenderungen(int,long)?[0m
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m204?[0m                      ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
2026-09-03T14:13:13.504Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:13.507Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Ein Wartender wird geweckt, sobald eine Änderung eintrifft ?[90m# features/aenderungsfeed.feature:37?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m        ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    """
  ?[32mUnd ?[0m?[32mim Hintergrund auf Änderungen seit Version ?[0m?[32m?[1m1?[0m?[32m gewartet wird?[0m     ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.im Hintergrund wird gewartet(long)?[0m
  ?[32mWenn ?[0m?[32mClient ?[0m?[32m?[1m"ben"?[0m?[32m folgendes Diff einreicht:?[0m                        ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"insert","index":1,"lines":["- [ ] Zwei"]}]
    """
  ?[32mDann ?[0m?[32mhat der wartende Abruf die Änderung erhalten?[0m                  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.der wartende Abruf hat die Aenderung erhalten()?[0m
  ?[32mUnd ?[0m?[32mder Feed meldet die Version ?[0m?[32m?[1m2?[0m                                  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.der Feed meldet die Version(long)?[0m
  ?[32mUnd ?[0m?[32mder Feed liefert ?[0m?[32m?[1m1?[0m?[32m Operationen ab Version ?[0m?[32m?[1m1?[0m                    ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.der Feed liefert n Operationen(int,long)?[0m
2026-09-03T14:13:13.921Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:13.923Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Wer noch gar nichts hat, bekommt den Volltext       ?[90m# features/aenderungsfeed.feature:51?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    - [ ] Zwei
    """
  ?[32mWenn ?[0m?[32mich die Änderungen seit Version ?[0m?[32m?[1m0?[0m?[32m abrufe?[0m               ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.ich rufe die Aenderungen ab(long)?[0m
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m200?[0m                ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
  ?[32mUnd ?[0m?[32mder Feed liefert den Volltext:?[0m                          ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.der Feed liefert den Volltext(java.lang.String)?[0m
    """
    - [ ] Eins
    - [ ] Zwei
    """
2026-09-03T14:13:13.968Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:13.970Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Der Feed nennt den Absender einer Änderung          ?[90m# features/aenderungsfeed.feature:65?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    """
  ?[32mUnd ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m folgendes Diff einreicht:?[0m                 ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"replace","index":0,"count":1,"lines":["- [x] Eins"]}]
    """
  ?[32mWenn ?[0m?[32mich die Änderungen seit Version ?[0m?[32m?[1m1?[0m?[32m abrufe?[0m               ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.ich rufe die Aenderungen ab(long)?[0m
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m200?[0m                ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
  ?[32mUnd ?[0m?[32mder Feed nennt als Absender ?[0m?[32m?[1m"anna"?[0m                      ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.der Feed nennt als Absender(java.lang.String)?[0m
2026-09-03T14:13:14.046Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:14.048Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Der Feed meldet das Löschen und die Wiederherstellung ?[90m# features/aenderungsfeed.feature:78?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m   ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    """
  ?[32mUnd ?[0m?[32mdieses Dokument gelöscht wird?[0m                             ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.dieses Dokument wird geloescht()?[0m
  ?[32mWenn ?[0m?[32mich die Änderungen seit Version ?[0m?[32m?[1m1?[0m?[32m abrufe?[0m                 ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.ich rufe die Aenderungen ab(long)?[0m
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m200?[0m                  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
  ?[32mUnd ?[0m?[32mder Feed meldet das Ereignis ?[0m?[32m?[1m"DELETED"?[0m                    ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.der Feed meldet das Ereignis(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mdieses Dokument wiederhergestellt wird?[0m                   ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.dieses Dokument wird wiederhergestellt()?[0m
  ?[32mUnd ?[0m?[32mich die Änderungen seit Version ?[0m?[32m?[1m2?[0m?[32m abrufe?[0m                  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.ich rufe die Aenderungen ab(long)?[0m
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m200?[0m                  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
  ?[32mUnd ?[0m?[32mder Feed meldet das Ereignis ?[0m?[32m?[1m"RESTORED"?[0m                   ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.der Feed meldet das Ereignis(java.lang.String)?[0m
2026-09-03T14:13:14.171Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:14.173Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Eine gänzlich unbekannte UUID hat keinen Feed      ?[90m# features/aenderungsfeed.feature:92?[0m
  ?[32mWenn ?[0m?[32mich die Änderungen eines unbekannten Dokuments abrufe?[0m ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.ich rufe die Aenderungen eines unbekannten Dokuments ab()?[0m
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m404?[0m               ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
2026-09-03T14:13:14.252Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:14.254Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Der Dienst sagt, wer er ist                ?[90m# features/dokumente.feature:7?[0m
  ?[32mWenn ?[0m?[32mich die Info des Dienstes abrufe?[0m              ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich rufe die Info ab()?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m200?[0m                    ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort nennt einen Namen und eine Version?[0m ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort nennt Name und Version()?[0m
2026-09-03T14:13:14.311Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:14.313Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Die Info ist ohne Master-Passwort zu haben ?[90m# features/dokumente.feature:12?[0m
  ?[32mWenn ?[0m?[32mich die Info des Dienstes abrufe?[0m              ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich rufe die Info ab()?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m200?[0m                    ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
2026-09-03T14:13:14.346Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:14.350Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Ein neues Dokument anlegen                                               ?[90m# features/dokumente.feature:16?[0m
  ?[32mWenn ?[0m?[32mich ein Dokument mit dem Titel ?[0m?[32m?[1m"Notizen"?[0m?[32m und dem Inhalt ?[0m?[32m?[1m"Hallo Welt"?[0m?[32m anlege?[0m ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich lege ein Dokument an(java.lang.String,java.lang.String)?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m201?[0m                                                  ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält den Titel ?[0m?[32m?[1m"Notizen"?[0m                                      ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort enthaelt den Titel(java.lang.String)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält die Version ?[0m?[32m?[1m1?[0m                                            ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort enthaelt die Version(long)?[0m
2026-09-03T14:13:14.389Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:14.390Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Alle Dokumente auflisten                            ?[90m# features/dokumente.feature:22?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument mit dem Titel ?[0m?[32m?[1m"Erstes"?[0m ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.es existiert ein Dokument(java.lang.String)?[0m
  ?[32mUnd ?[0m?[32mes existiert ein Dokument mit dem Titel ?[0m?[32m?[1m"Zweites"?[0m       ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.es existiert ein Dokument(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mich alle Dokumente mit dem Master-Passwort abrufe?[0m      ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich rufe alle Dokumente ab()?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m200?[0m                             ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält ?[0m?[32m?[1m2?[0m?[32m Dokumente?[0m                         ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort enthaelt n Dokumente(int)?[0m
2026-09-03T14:13:14.625Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:14.630Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Ohne Master-Passwort bleibt die Liste verschlossen  ?[90m# features/dokumente.feature:29?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument mit dem Titel ?[0m?[32m?[1m"Geheim"?[0m ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.es existiert ein Dokument(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mich alle Dokumente ohne Master-Passwort abrufe?[0m         ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich rufe alle Dokumente ohne Passwort ab()?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m401?[0m                             ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
2026-09-03T14:13:14.716Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:14.718Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Nach zu vielen Fehlversuchen ist die Liste gesperrt ?[90m# features/dokumente.feature:34?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument mit dem Titel ?[0m?[32m?[1m"Geheim"?[0m ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.es existiert ein Dokument(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mich ?[0m?[32m?[1m3?[0m?[32m mal mit falschem Master-Passwort abrufe?[0m          ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich rufe mehrfach mit falschem Passwort ab(int)?[0m
  ?[32mUnd ?[0m?[32mich alle Dokumente mit dem Master-Passwort abrufe?[0m       ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich rufe alle Dokumente ab()?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m429?[0m                             ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
2026-09-03T14:13:15.206Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:15.208Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Ein einzelnes Dokument abrufen                         ?[90m# features/dokumente.feature:40?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument mit dem Titel ?[0m?[32m?[1m"Protokoll"?[0m ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.es existiert ein Dokument(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mich dieses Dokument abrufe?[0m                                ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich rufe dieses Dokument ab()?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m200?[0m                                ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält den Titel ?[0m?[32m?[1m"Protokoll"?[0m                  ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort enthaelt den Titel(java.lang.String)?[0m
2026-09-03T14:13:15.246Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:15.248Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Ein Dokument aktualisieren erhöht die Version        ?[90m# features/dokumente.feature:46?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument mit dem Titel ?[0m?[32m?[1m"Entwurf"?[0m ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.es existiert ein Dokument(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mich den Titel dieses Dokuments auf ?[0m?[32m?[1m"Final"?[0m?[32m ändere?[0m       ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich aendere den Titel(java.lang.String)?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m200?[0m                              ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält den Titel ?[0m?[32m?[1m"Final"?[0m                    ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort enthaelt den Titel(java.lang.String)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält die Version ?[0m?[32m?[1m2?[0m                        ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort enthaelt die Version(long)?[0m
2026-09-03T14:13:15.324Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:15.326Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Ein Dokument löschen                                  ?[90m# features/dokumente.feature:53?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument mit dem Titel ?[0m?[32m?[1m"Veraltet"?[0m ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.es existiert ein Dokument(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mich dieses Dokument lösche?[0m                               ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich loesche dieses Dokument()?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m204?[0m                               ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument ist nicht mehr abrufbar?[0m                      ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.das Dokument ist nicht mehr abrufbar()?[0m
2026-09-03T14:13:15.394Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:15.397Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Ein unbekanntes Dokument abrufen              ?[90m# features/dokumente.feature:59?[0m
  ?[32mWenn ?[0m?[32mich ein Dokument mit einer unbekannten ID abrufe?[0m ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich rufe ein unbekanntes Dokument ab()?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m404?[0m                       ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
2026-09-03T14:13:15.429Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:15.431Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Die Historie protokolliert alle Änderungen           ?[90m# features/dokumente.feature:63?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument mit dem Titel ?[0m?[32m?[1m"Bericht"?[0m ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.es existiert ein Dokument(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mich den Titel dieses Dokuments auf ?[0m?[32m?[1m"Bericht v2"?[0m?[32m ändere?[0m  ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich aendere den Titel(java.lang.String)?[0m
  ?[32mUnd ?[0m?[32mich die Historie dieses Dokuments abrufe?[0m                 ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich rufe die Historie ab()?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m200?[0m                              ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält ?[0m?[32m?[1m2?[0m?[32m Historieneinträge?[0m                  ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort enthaelt n Historieneintraege(int)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält den Änderungstyp ?[0m?[32m?[1m"CREATED"?[0m           ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort enthaelt den Aenderungstyp(java.lang.String)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält den Änderungstyp ?[0m?[32m?[1m"UPDATED"?[0m           ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort enthaelt den Aenderungstyp(java.lang.String)?[0m
2026-09-03T14:13:15.507Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:15.509Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Die Historie überlebt das Löschen eines Dokuments    ?[90m# features/dokumente.feature:72?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument mit dem Titel ?[0m?[32m?[1m"Wichtig"?[0m ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.es existiert ein Dokument(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mich dieses Dokument lösche?[0m                              ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich loesche dieses Dokument()?[0m
  ?[32mUnd ?[0m?[32mich die Historie dieses Dokuments abrufe?[0m                 ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich rufe die Historie ab()?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m200?[0m                              ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält den Änderungstyp ?[0m?[32m?[1m"DELETED"?[0m           ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort enthaelt den Aenderungstyp(java.lang.String)?[0m
2026-09-03T14:13:15.578Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:15.580Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Ein gelöschtes Dokument wiederherstellen             ?[90m# features/dokumente.feature:79?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument mit dem Titel ?[0m?[32m?[1m"Vertrag"?[0m ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.es existiert ein Dokument(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mich dieses Dokument lösche?[0m                              ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich loesche dieses Dokument()?[0m
  ?[32mUnd ?[0m?[32mich dieses Dokument wiederherstelle?[0m                      ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich stelle dieses Dokument wieder her()?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m200?[0m                              ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält den Titel ?[0m?[32m?[1m"Vertrag"?[0m                  ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort enthaelt den Titel(java.lang.String)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument ist wieder abrufbar?[0m                         ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.das Dokument ist wieder abrufbar()?[0m
2026-09-03T14:13:15.692Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:15.701Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Ein Rückfall auf eine alte Version ist kein Wiederherstellen ?[90m# features/dokumente.feature:87?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument mit dem Titel ?[0m?[32m?[1m"Satzung"?[0m         ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.es existiert ein Dokument(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mich den Titel dieses Dokuments auf ?[0m?[32m?[1m"Satzung v2"?[0m?[32m ändere?[0m          ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich aendere den Titel(java.lang.String)?[0m
  ?[32mUnd ?[0m?[32mich dieses Dokument auf Version ?[0m?[32m?[1m1?[0m?[32m zurücksetze?[0m                    ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich setze dieses Dokument zurueck(long)?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m200?[0m                                      ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält den Titel ?[0m?[32m?[1m"Satzung"?[0m                          ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort enthaelt den Titel(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mich die Historie dieses Dokuments abrufe?[0m                        ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich rufe die Historie ab()?[0m
  ?[32mDann ?[0m?[32mdie Antwort enthält den Änderungstyp ?[0m?[32m?[1m"ROLLED_BACK"?[0m              ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.die Antwort enthaelt den Aenderungstyp(java.lang.String)?[0m
2026-09-03T14:13:15.847Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:15.851Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Wiederherstellen ohne Historie schlägt fehl   ?[90m# features/dokumente.feature:96?[0m
  ?[32mWenn ?[0m?[32mich ein Dokument mit einer unbekannten ID abrufe?[0m ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.ich rufe ein unbekanntes Dokument ab()?[0m
  ?[32mDann ?[0m?[32merhalte ich den Status ?[0m?[32m?[1m404?[0m                       ?[90m# void de.werkbaum.bdd.DocumentStepDefinitions.erhalte ich den Status(int)?[0m
2026-09-03T14:13:15.881Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:15.882Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Eine Änderung auf aktueller Basis wird angewendet   ?[90m# features/live-editing.feature:12?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    - [ ] Zwei
    - [ ] Drei
    """
  ?[32mWenn ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m folgendes Diff einreicht:?[0m                ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"replace","index":1,"count":1,"lines":["- [x] Zwei"]}]
    """
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m200?[0m                ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort meldet die Version ?[0m?[32m?[1m2?[0m                        ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.die Antwort meldet die Version(long)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält ?[0m?[32m?[1m0?[0m?[32m fremde Operationen?[0m                ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.die Antwort enthaelt n fremde Operationen(int)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument hat die Zeilen:?[0m                            ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.das Dokument hat die Zeilen(java.lang.String)?[0m
    """
    - [ ] Eins
    - [x] Zwei
    - [ ] Drei
    """
2026-09-03T14:13:15.985Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:15.988Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Eine veraltete Basis ohne Überschneidung wird serverseitig verschoben ?[90m# features/live-editing.feature:33?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m                   ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    - [ ] Zwei
    - [ ] Drei
    """
  ?[32mUnd ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m kennt den aktuellen Stand?[0m                                   ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client kennt den aktuellen Stand(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mClient ?[0m?[32m?[1m"ben"?[0m?[32m folgendes Diff einreicht:?[0m                                   ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"replace","index":0,"count":1,"lines":["- [x] Eins"]}]
    """
  ?[32mUnd ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m folgendes Diff einreicht:?[0m                                   ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"replace","index":2,"count":1,"lines":["- [x] Drei"]}]
    """
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m200?[0m                                  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort enthält ?[0m?[32m?[1m1?[0m?[32m fremde Operationen?[0m                                  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.die Antwort enthaelt n fremde Operationen(int)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument hat die Zeilen:?[0m                                              ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.das Dokument hat die Zeilen(java.lang.String)?[0m
    """
    - [x] Eins
    - [ ] Zwei
    - [x] Drei
    """
2026-09-03T14:13:16.106Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:16.109Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Eine veraltete Basis mit Überschneidung meldet einen Konflikt         ?[90m# features/live-editing.feature:58?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m                   ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    - [ ] Zwei
    """
  ?[32mUnd ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m kennt den aktuellen Stand?[0m                                   ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client kennt den aktuellen Stand(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mClient ?[0m?[32m?[1m"ben"?[0m?[32m folgendes Diff einreicht:?[0m                                   ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"replace","index":0,"count":1,"lines":["- [x] Eins, von Ben"]}]
    """
  ?[32mUnd ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m folgendes Diff einreicht:?[0m                                   ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"replace","index":0,"count":1,"lines":["- [x] Eins, von Anna"]}]
    """
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m409?[0m                                  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdie Konfliktantwort nennt die aktuelle Version ?[0m?[32m?[1m2?[0m?[32m und ?[0m?[32m?[1m1?[0m?[32m fremde Operationen?[0m ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.die Konfliktantwort nennt(long,int)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument hat die Zeilen:?[0m                                              ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.das Dokument hat die Zeilen(java.lang.String)?[0m
    """
    - [x] Eins, von Ben
    - [ ] Zwei
    """
2026-09-03T14:13:16.215Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:16.216Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Zwei Einfügungen an derselben Stelle sind kein Konflikt ?[90m# features/live-editing.feature:81?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m     ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    - [ ] Zwei
    """
  ?[32mUnd ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m kennt den aktuellen Stand?[0m                     ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client kennt den aktuellen Stand(java.lang.String)?[0m
  ?[32mWenn ?[0m?[32mClient ?[0m?[32m?[1m"ben"?[0m?[32m folgendes Diff einreicht:?[0m                     ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"insert","index":1,"lines":["- [ ] Von Ben"]}]
    """
  ?[32mUnd ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m folgendes Diff einreicht:?[0m                     ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"insert","index":1,"lines":["- [ ] Von Anna"]}]
    """
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m200?[0m                    ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument hat die Zeilen:?[0m                                ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.das Dokument hat die Zeilen(java.lang.String)?[0m
    """
    - [ ] Eins
    - [ ] Von Ben
    - [ ] Von Anna
    - [ ] Zwei
    """
2026-09-03T14:13:16.329Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:16.330Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Dieselbe Änderung zweimal gesendet wirkt nur einmal ?[90m# features/live-editing.feature:105?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    """
  ?[32mWenn ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m folgendes Diff einreicht:?[0m                ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"insert","index":1,"lines":["- [ ] Zwei"]}]
    """
  ?[32mUnd ?[0m?[32mdieselbe Anfrage noch einmal gesendet wird?[0m              ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.dieselbe Anfrage noch einmal()?[0m
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m200?[0m                ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdie Antwort meldet die Version ?[0m?[32m?[1m2?[0m                        ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.die Antwort meldet die Version(long)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument hat die Version ?[0m?[32m?[1m2?[0m                          ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.das Dokument hat die Version(long)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument hat die Zeilen:?[0m                            ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.das Dokument hat die Zeilen(java.lang.String)?[0m
    """
    - [ ] Eins
    - [ ] Zwei
    """
2026-09-03T14:13:16.438Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:16.439Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Eine falsche Prüfsumme wird nicht angewendet                ?[90m# features/live-editing.feature:124?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m         ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    """
  ?[32mWenn ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m folgendes Diff mit falscher Prüfsumme einreicht:?[0m ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff mit falscher Pruefsumme ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"replace","index":0,"count":1,"lines":["- [x] Eins"]}]
    """
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m422?[0m                        ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument hat die Version ?[0m?[32m?[1m1?[0m                                  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.das Dokument hat die Version(long)?[0m
2026-09-03T14:13:16.535Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:16.536Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Ein Index außerhalb des Dokuments wird nicht angewendet ?[90m# features/live-editing.feature:136?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m     ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    """
  ?[32mWenn ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m folgendes Diff einreicht:?[0m                    ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"delete","index":7,"count":1}]
    """
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m422?[0m                    ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument hat die Version ?[0m?[32m?[1m1?[0m                              ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.das Dokument hat die Version(long)?[0m
2026-09-03T14:13:16.605Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:16.607Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Ein gelöschtes Dokument nimmt keine Änderung mehr an ?[90m# features/live-editing.feature:148?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    """
  ?[32mUnd ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m kennt den aktuellen Stand?[0m                  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client kennt den aktuellen Stand(java.lang.String)?[0m
  ?[32mUnd ?[0m?[32mdieses Dokument gelöscht wird?[0m                            ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.dieses Dokument wird geloescht()?[0m
  ?[32mWenn ?[0m?[32mClient ?[0m?[32m?[1m"anna"?[0m?[32m folgendes Diff einreicht:?[0m                 ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.Client reicht ein Diff ein(java.lang.String,java.lang.String)?[0m
    """
    [{"op":"replace","index":0,"count":1,"lines":["- [x] Eins"]}]
    """
  ?[32mDann ?[0m?[32merhalte ich für das Diff den Status ?[0m?[32m?[1m404?[0m                 ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.erhalte ich fuer das Diff den Status(int)?[0m
2026-09-03T14:13:16.691Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:16.693Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Umbenennen mit aktueller Version gilt und lässt den Inhalt stehen ?[90m# features/umbenennen.feature:11?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m               ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    """
  ?[32mWenn ?[0m?[32mdas Dokument auf ?[0m?[32m?[1m"Team-Plan"?[0m?[32m umbenannt wird?[0m                          ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.das Dokument wird umbenannt(java.lang.String)?[0m
  ?[32mDann ?[0m?[32merhalte ich für das Umbenennen den Status ?[0m?[32m?[1m200?[0m                        ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.status des Umbenennens(int)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument trägt den Titel ?[0m?[32m?[1m"Team-Plan"?[0m                              ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.dokument traegt den Titel(java.lang.String)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument steht auf Version ?[0m?[32m?[1m2?[0m                                      ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.dokument steht auf Version(long)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument hat die Zeilen:?[0m                                          ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.das Dokument hat die Zeilen(java.lang.String)?[0m
    """
    - [ ] Eins
    """
2026-09-03T14:13:16.767Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:16.768Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Der Feed stellt die Umbenennung samt neuem Titel zu ?[90m# features/umbenennen.feature:25?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    """
  ?[32mWenn ?[0m?[32mdas Dokument auf ?[0m?[32m?[1m"Team-Plan"?[0m?[32m umbenannt wird?[0m            ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.das Dokument wird umbenannt(java.lang.String)?[0m
  ?[32mUnd ?[0m?[32mich die Änderungen seit Version ?[0m?[32m?[1m1?[0m?[32m abrufe?[0m                ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.ich rufe die Aenderungen ab(long)?[0m
  ?[32mDann ?[0m?[32mder Feed meldet das Ereignis ?[0m?[32m?[1m"RENAMED"?[0m                 ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.der Feed meldet das Ereignis(java.lang.String)?[0m
  ?[32mUnd ?[0m?[32mdas RENAMED-Ereignis nennt den Titel ?[0m?[32m?[1m"Team-Plan"?[0m        ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.renamed nennt den Titel(java.lang.String)?[0m
2026-09-03T14:13:16.825Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:16.827Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Eine veraltete Version wird abgelehnt                         ?[90m# features/umbenennen.feature:35?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m           ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    """
  ?[32mWenn ?[0m?[32mdas Dokument mit veralteter Version auf ?[0m?[32m?[1m"Zu spät"?[0m?[32m umbenannt wird?[0m ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.veraltete Umbenennung(java.lang.String)?[0m
  ?[32mDann ?[0m?[32merhalte ich für das Umbenennen den Status ?[0m?[32m?[1m409?[0m                    ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.status des Umbenennens(int)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument trägt den Titel ?[0m?[32m?[1m"Plan"?[0m                               ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.dokument traegt den Titel(java.lang.String)?[0m
2026-09-03T14:13:16.870Z  INFO 105 --- [editor-backend] [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [de.werkbaum.bdd.CucumberSpringConfiguration]: CucumberSpringConfiguration does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-09-03T14:13:16.872Z  INFO 105 --- [editor-backend] [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration de.werkbaum.EditorBackendApplication for test class de.werkbaum.bdd.CucumberSpringConfiguration

Szenario: Ein leerer Titel wird abgelehnt                     ?[90m# features/umbenennen.feature:44?[0m
  ?[32mAngenommen ?[0m?[32mes existiert ein Dokument ?[0m?[32m?[1m"Plan"?[0m?[32m mit den Zeilen:?[0m ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.es existiert ein Dokument mit Zeilen(java.lang.String,java.lang.String)?[0m
    """
    - [ ] Eins
    """
  ?[32mWenn ?[0m?[32mdas Dokument auf ?[0m?[32m?[1m"   "?[0m?[32m umbenannt wird?[0m                  ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.das Dokument wird umbenannt(java.lang.String)?[0m
  ?[32mDann ?[0m?[32merhalte ich für das Umbenennen den Status ?[0m?[32m?[1m400?[0m          ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.status des Umbenennens(int)?[0m
  ?[32mUnd ?[0m?[32mdas Dokument trägt den Titel ?[0m?[32m?[1m"Plan"?[0m                     ?[90m# void de.werkbaum.bdd.LiveEditingStepDefinitions.dokument traegt den Titel(java.lang.String)?[0m

Standard error

Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build as described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org.mockito/org/mockito/Mockito.html#0.3
WARNING: A Java agent has been loaded dynamically (/root/.gradle/caches/modules-2/files-2.1/net.bytebuddy/byte-buddy-agent/1.17.8/f09415827a71be7ed621c7bd02550678f28bc81c/byte-buddy-agent-1.17.8.jar)
WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning
WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information
WARNING: Dynamic loading of agents will be disallowed by default in a future release