Started by an SCM change Building in workspace /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace > /usr/local/bin/git rev-parse --is-inside-work-tree # timeout=10 Fetching changes from the remote Git repository > /usr/local/bin/git config remote.origin.url https://github.com/locationtech/geogig.git # timeout=10 Fetching upstream changes from https://github.com/locationtech/geogig.git > /usr/local/bin/git --version # timeout=10 Setting http proxy: proxy.eclipse.org:9898 > /usr/local/bin/git fetch --tags --progress https://github.com/locationtech/geogig.git +refs/heads/*:refs/remotes/origin/* > /usr/local/bin/git rev-parse origin/1.1.x^{commit} # timeout=10 Checking out Revision 4b501cac975c82e9677288aca2f114b2e646bccc (origin/1.1.x) > /usr/local/bin/git config core.sparsecheckout # timeout=10 > /usr/local/bin/git checkout -f 4b501cac975c82e9677288aca2f114b2e646bccc Commit message: "Merge pull request #397 from emerkle826/GIG-981-backport" > /usr/local/bin/git rev-list 1765eb7bbd73a6c02d38e4eadcf0fc2d3e5f422d # timeout=10 Parsing POMs Established TCP socket on 39731 [parent] $ /shared/common/jdk1.8.0_x64-latest/bin/java -cp /home/hudson/genie.geogig/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven33-agent-1.12-alpha-1.jar:/shared/common/apache-maven-latest/boot/plexus-classworlds-2.5.2.jar:/shared/common/apache-maven-latest/conf/logging jenkins.maven3.agent.Maven33Main /shared/common/apache-maven-latest /home/hudson/genie.geogig/.jenkins/war/WEB-INF/lib/remoting-3.10.2.jar /home/hudson/genie.geogig/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven33-interceptor-1.12-alpha-1.jar /home/hudson/genie.geogig/.jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.12-alpha-1.jar 39731 <===[JENKINS REMOTING CAPACITY]===>channel started Executing Maven: -B -f /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/parent/pom.xml -Dmaven.repo.local=/home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository clean install -Pexperimental -DskipTests=false -Dcucumber.options=--monochrome --plugin json:target/cucumber.json -Djava.io.tmpdir=/opt/public/hipp/ramdisk/geogig [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] GeoGig [INFO] GeoGig Core API [INFO] GeoGig Core [INFO] GeoGig DataStore Implementation [INFO] Storage backends [INFO] RocksDB storage backend [INFO] GeoGig Command Line Interface [INFO] PostgreSQL Storage Backend [INFO] GeoTools Extension [INFO] Web modules [INFO] GeoGig Web API [INFO] GeoGig WebApp [INFO] GeoGig Web API Automated Functional Tests [INFO] GeoGig Query Language Extension [INFO] Basic GUI tools [INFO] GeoGig CLI App [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building GeoGig 1.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ geogig --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/parent/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig --- [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ geogig --- [WARNING] JAR will be empty - no content was marked for inclusion! [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/parent/target/geogig-1.1-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ geogig >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ geogig <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ geogig --- [INFO] [INFO] >>> maven-source-plugin:2.2.1:test-jar (attach-sources) > generate-sources @ geogig >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.TestSourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:test-jar (attach-sources) < generate-sources @ geogig <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:test-jar (attach-sources) @ geogig --- [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ geogig --- [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/parent/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig/1.1-SNAPSHOT/geogig-1.1-SNAPSHOT.pom [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/parent/target/geogig-1.1-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig/1.1-SNAPSHOT/geogig-1.1-SNAPSHOT-tests.jar [JENKINS] Archiving disabled Started calculate disk usage of build Finished Calculation of disk usage of build in 0 seconds Started calculate disk usage of workspace Finished Calculation of disk usage of workspace in 0 seconds [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building GeoGig Core API 1.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ geogig-api --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-api --- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ geogig-api --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 1 resource [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ geogig-api --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 55 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/target/classes [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ geogig-api --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/src/test/resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ geogig-api --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 29 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/target/test-classes [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/src/test/java/org/locationtech/geogig/model/FieldTypeTest.java: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/src/test/java/org/locationtech/geogig/model/FieldTypeTest.java uses or overrides a deprecated API. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/src/test/java/org/locationtech/geogig/model/FieldTypeTest.java: Recompile with -Xlint:deprecation for details. [INFO] [INFO] --- maven-surefire-plugin:2.17:test (default-test) @ geogig-api --- [INFO] Surefire report directory: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/target/surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.locationtech.geogig.model.FieldTypeTest Running org.locationtech.geogig.model.SymRefTest Running org.locationtech.geogig.model.RevObjectTest Running org.locationtech.geogig.model.HashObjectFunnelsTest Running org.locationtech.geogig.model.BucketTest Running org.locationtech.geogig.model.RefTest Running org.locationtech.geogig.model.NodeRefTest Running org.locationtech.geogig.model.ObjectIdTest Running org.locationtech.geogig.model.RevTreeTest Running org.locationtech.geogig.model.Float32BoundsTest Running org.locationtech.geogig.model.CanonicalNodeOrderTest Running org.locationtech.geogig.model.NodeTest Running org.locationtech.geogig.repository.ConflictTest Running org.locationtech.geogig.repository.DiffEntryTest Running org.locationtech.geogig.repository.HintsTest Running org.locationtech.geogig.repository.FeatureInfoTest Running org.locationtech.geogig.repository.DiffObjectCountTest Running org.locationtech.geogig.repository.AbstractGeoGigOpTest Running org.locationtech.geogig.repository.RemoteTest Running org.locationtech.geogig.repository.ProgressListenerTest Running org.locationtech.geogig.storage.StorageTypeTest Running org.locationtech.geogig.storage.ConfigExceptionTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.124 sec - in org.locationtech.geogig.model.ObjectIdTest Running org.locationtech.geogig.storage.VersionedFormatTest Running org.locationtech.geogig.storage.AutoCloseableIteratorTest Running org.locationtech.geogig.storage.GraphDatabaseTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.275 sec - in org.locationtech.geogig.model.Float32BoundsTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.397 sec - in org.locationtech.geogig.model.SymRefTest Running org.locationtech.geogig.storage.PluginDefaultsTest Running org.locationtech.geogig.storage.BulkOpListenerTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in org.locationtech.geogig.storage.BulkOpListenerTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.014 sec - in org.locationtech.geogig.storage.PluginDefaultsTest Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.344 sec - in org.locationtech.geogig.model.RefTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.396 sec - in org.locationtech.geogig.model.BucketTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.25 sec - in org.locationtech.geogig.storage.VersionedFormatTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.303 sec - in org.locationtech.geogig.repository.DiffObjectCountTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.394 sec - in org.locationtech.geogig.repository.ConflictTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.293 sec - in org.locationtech.geogig.storage.ConfigExceptionTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.449 sec - in org.locationtech.geogig.model.CanonicalNodeOrderTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.355 sec - in org.locationtech.geogig.repository.ProgressListenerTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.299 sec - in org.locationtech.geogig.storage.StorageTypeTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.309 sec - in org.locationtech.geogig.storage.GraphDatabaseTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.629 sec - in org.locationtech.geogig.model.FieldTypeTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.404 sec - in org.locationtech.geogig.repository.FeatureInfoTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.411 sec - in org.locationtech.geogig.repository.HintsTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.487 sec - in org.locationtech.geogig.repository.DiffEntryTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.691 sec - in org.locationtech.geogig.model.RevObjectTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.666 sec - in org.locationtech.geogig.model.RevTreeTest Tests run: 23, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.682 sec - in org.locationtech.geogig.model.NodeRefTest Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.659 sec - in org.locationtech.geogig.model.NodeTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.581 sec - in org.locationtech.geogig.repository.AbstractGeoGigOpTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.521 sec - in org.locationtech.geogig.storage.AutoCloseableIteratorTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.906 sec - in org.locationtech.geogig.model.HashObjectFunnelsTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.743 sec - in org.locationtech.geogig.repository.RemoteTest Results : Tests run: 141, Failures: 0, Errors: 0, Skipped: 0 [JENKINS] Recording test results [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ geogig-api --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/target/geogig-api-1.1-SNAPSHOT.jar [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ geogig-api --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/target/geogig-api-1.1-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ geogig-api >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-api --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ geogig-api <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ geogig-api --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/target/geogig-api-1.1-SNAPSHOT-sources.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:test-jar (attach-sources) > generate-sources @ geogig-api >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-api --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.TestSourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:test-jar (attach-sources) < generate-sources @ geogig-api <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:test-jar (attach-sources) @ geogig-api --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/target/geogig-api-1.1-SNAPSHOT-test-sources.jar [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ geogig-api --- [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/target/geogig-api-1.1-SNAPSHOT.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-api/1.1-SNAPSHOT/geogig-api-1.1-SNAPSHOT.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-api/1.1-SNAPSHOT/geogig-api-1.1-SNAPSHOT.pom [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/target/geogig-api-1.1-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-api/1.1-SNAPSHOT/geogig-api-1.1-SNAPSHOT-tests.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/target/geogig-api-1.1-SNAPSHOT-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-api/1.1-SNAPSHOT/geogig-api-1.1-SNAPSHOT-sources.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/api/target/geogig-api-1.1-SNAPSHOT-test-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-api/1.1-SNAPSHOT/geogig-api-1.1-SNAPSHOT-test-sources.jar [JENKINS] Archiving disabled Started calculate disk usage of build Finished Calculation of disk usage of build in 0 seconds Started calculate disk usage of workspace Finished Calculation of disk usage of workspace in 0 seconds [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building GeoGig Core 1.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ geogig-core --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-core --- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ geogig-core --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 5 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ geogig-core --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 336 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/target/classes [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/src/main/java/org/locationtech/geogig/storage/datastream/v2_3/DataStreamValueSerializerV2_3.java: Some input files use or override a deprecated API. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/src/main/java/org/locationtech/geogig/storage/datastream/v2_3/DataStreamValueSerializerV2_3.java: Recompile with -Xlint:deprecation for details. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/src/main/java/org/locationtech/geogig/model/internal/NodeId.java: Some input files use unchecked or unsafe operations. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/src/main/java/org/locationtech/geogig/model/internal/NodeId.java: Recompile with -Xlint:unchecked for details. [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ geogig-core --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 3 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ geogig-core --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 187 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/target/test-classes [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/src/test/java/org/locationtech/geogig/test/integration/HooksTest.java: Some input files use or override a deprecated API. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/src/test/java/org/locationtech/geogig/test/integration/HooksTest.java: Recompile with -Xlint:deprecation for details. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/src/test/java/org/locationtech/geogig/data/retrieve/BulkFeatureRetrieverTest.java: Some input files use unchecked or unsafe operations. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/src/test/java/org/locationtech/geogig/data/retrieve/BulkFeatureRetrieverTest.java: Recompile with -Xlint:unchecked for details. [INFO] [INFO] --- maven-surefire-plugin:2.17:test (default-test) @ geogig-core --- [INFO] Surefire report directory: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/target/surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.locationtech.geogig.storage.cache.CacheManagerTest Running org.locationtech.geogig.storage.cache.KeyTest Running org.locationtech.geogig.storage.cache.SharedCacheTest Running org.locationtech.geogig.storage.cache.ObjectCacheTest Running org.locationtech.geogig.storage.datastream.v2_3.StringTableTest Running org.locationtech.geogig.storage.datastream.v2_3.TailTest Running org.locationtech.geogig.storage.datastream.v2_3.RevTreeFormatTest Running org.locationtech.geogig.storage.datastream.v2_3.RevTreeFormatPrefTest Running org.locationtech.geogig.storage.datastream.v2_3.DataStreamSerializationFactoryV2_3Test Running org.locationtech.geogig.storage.datastream.v2_3.NodeSetTest Running org.locationtech.geogig.storage.datastream.Float32BoundsSerializationTest Running org.locationtech.geogig.storage.datastream.LZFSerializationFactoryTest Running org.locationtech.geogig.storage.datastream.FormatCommonV2_1Test Running org.locationtech.geogig.storage.datastream.DataStreamSerializationFactoryV1Test Running org.locationtech.geogig.storage.datastream.LZ4SerializationFactoryTest Running org.locationtech.geogig.storage.datastream.DataStreamSerializationFactoryV2_2Test Running org.locationtech.geogig.storage.datastream.DataStreamSerializationFactoryV2_1Test Running org.locationtech.geogig.storage.datastream.DataStreamSerializationFactoryV2Test Running org.locationtech.geogig.storage.datastream.VarintTest Running org.locationtech.geogig.storage.datastream.FloatPackedCoordinateSequenceTest Running org.locationtech.geogig.storage.memory.HeapBlobStoreTest Running org.locationtech.geogig.storage.memory.HeapRefDatabaseTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.342 sec - in org.locationtech.geogig.storage.cache.KeyTest Running org.locationtech.geogig.storage.memory.HeapConflictsDatabaseConformanceTest Running org.locationtech.geogig.storage.memory.HeapIndexDatabaseConformanceTest Running org.locationtech.geogig.storage.memory.HeapObjectStoreConformanceTest [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Registered GeoGig cache manager MBean as org.geogig:type=shared-cache Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.392 sec - in org.locationtech.geogig.storage.datastream.Float32BoundsSerializationTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.452 sec - in org.locationtech.geogig.storage.datastream.v2_3.StringTableTest [main] INFO org.locationtech.geogig.test.performance.EnablePerformanceTestRule - org.locationtech.geogig.storage.datastream.v2_3.RevTreeFormatPrefTest ignored, run with -Dgeogig.runPerformanceTests=true to enable it. [main] INFO org.locationtech.geogig.test.performance.EnablePerformanceTestRule - org.locationtech.geogig.storage.datastream.v2_3.RevTreeFormatPrefTest ignored, run with -Dgeogig.runPerformanceTests=true to enable it. Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.35 sec - in org.locationtech.geogig.storage.datastream.VarintTest Running org.locationtech.geogig.storage.impl.INIBlobTest Running org.locationtech.geogig.storage.impl.PersistedIterableTest [main] INFO org.locationtech.geogig.test.performance.EnablePerformanceTestRule - org.locationtech.geogig.storage.datastream.v2_3.RevTreeFormatPrefTest ignored, run with -Dgeogig.runPerformanceTests=true to enable it. [main] INFO org.locationtech.geogig.test.performance.EnablePerformanceTestRule - org.locationtech.geogig.storage.datastream.v2_3.RevTreeFormatPrefTest ignored, run with -Dgeogig.runPerformanceTests=true to enable it. [main] INFO org.locationtech.geogig.test.performance.EnablePerformanceTestRule - org.locationtech.geogig.storage.datastream.v2_3.RevTreeFormatPrefTest ignored, run with -Dgeogig.runPerformanceTests=true to enable it. [main] INFO org.locationtech.geogig.test.performance.EnablePerformanceTestRule - org.locationtech.geogig.storage.datastream.v2_3.RevTreeFormatPrefTest ignored, run with -Dgeogig.runPerformanceTests=true to enable it. Running org.locationtech.geogig.storage.memory.HeapGraphDatabaseTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.473 sec - in org.locationtech.geogig.storage.datastream.v2_3.RevTreeFormatPrefTest Running org.locationtech.geogig.storage.fs.FileRefDatabaseTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.609 sec - in org.locationtech.geogig.storage.datastream.v2_3.TailTest Running org.locationtech.geogig.storage.fs.FileConflictsDatabaseConformanceTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.523 sec - in org.locationtech.geogig.storage.datastream.FloatPackedCoordinateSequenceTest Running org.locationtech.geogig.storage.fs.FileBlobStoreTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.282 sec - in org.locationtech.geogig.storage.impl.PersistedIterableTest Running org.locationtech.geogig.storage.fs.IniFileConfigDatabaseTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.61 sec - in org.locationtech.geogig.storage.memory.HeapBlobStoreTest Running org.locationtech.geogig.storage.text.TextSerializationFactoryTest [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to the default of 2,500 bytes as given by the default 0.250000 percent of available heap. Use the GEOGIG_CACHE_MAX_SIZE System property or environmentvariable to set a different maximum size at runtime Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.346 sec - in org.locationtech.geogig.storage.fs.FileBlobStoreTest Running org.locationtech.geogig.test.integration.CleanOpTest [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to 1,025 bytes as given by the System property GEOGIG_CACHE_MAX_SIZE=1025 [main] WARN org.locationtech.geogig.storage.cache.CacheManager - cache size is too big: 1025, maximum allowed: 921 [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to the default of 256 bytes as given by the default 0.250000 percent of available heap. Use the GEOGIG_CACHE_MAX_SIZE System property or environmentvariable to set a different maximum size at runtime [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to the default of 119,406,592 bytes as given by the default 0.250000 percent of available heap. Use the GEOGIG_CACHE_MAX_SIZE System property or environmentvariable to set a different maximum size at runtime Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.724 sec - in org.locationtech.geogig.storage.fs.FileRefDatabaseTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.317 sec - in org.locationtech.geogig.storage.cache.ObjectCacheTest Running org.locationtech.geogig.test.integration.HooksTest Running org.locationtech.geogig.test.integration.ConfigOpTest Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.116 sec - in org.locationtech.geogig.storage.memory.HeapConflictsDatabaseConformanceTest Running org.locationtech.geogig.test.integration.CheckoutOpTest Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.87 sec - in org.locationtech.geogig.storage.memory.HeapGraphDatabaseTest Running org.locationtech.geogig.test.integration.ReportMergeConflictsOpTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.265 sec - in org.locationtech.geogig.storage.memory.HeapRefDatabaseTest Running org.locationtech.geogig.test.integration.repository.IndexTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.481 sec - in org.locationtech.geogig.storage.datastream.FormatCommonV2_1Test Running org.locationtech.geogig.test.integration.repository.WorkingTreeTest Tests run: 23, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.089 sec - in org.locationtech.geogig.storage.fs.IniFileConfigDatabaseTest Running org.locationtech.geogig.test.integration.RemoveOpTest [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to 1,048,576 bytes as given by the System property GEOGIG_CACHE_MAX_SIZE=1M [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to 102,400 bytes as given by the System property GEOGIG_CACHE_MAX_SIZE=100K [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to 5,000 bytes as given by the System property GEOGIG_CACHE_MAX_SIZE=0.5 [main] WARN org.locationtech.geogig.storage.cache.CacheManager - Unable to parse System property GEOGIG_CACHE_MAX_SIZE=-1G. Falling back to default value java.lang.IllegalArgumentException: Value must be a positive number or zero at com.google.common.base.Preconditions.checkArgument(Preconditions.java:122) at org.locationtech.geogig.storage.cache.CacheManager.parseCacheSizeArgument(CacheManager.java:257) at org.locationtech.geogig.storage.cache.CacheManagerTest.assertDefaultMaxSizeDefaultValue(CacheManagerTest.java:188) at org.locationtech.geogig.storage.cache.CacheManagerTest.resolveDefaultMaxSizeSystemPropertyInvalidValue(CacheManagerTest.java:207) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to the default of 2,500 bytes as given by the default 0.250000 percent of available heap. Use the GEOGIG_CACHE_MAX_SIZE System property or environmentvariable to set a different maximum size at runtime [main] WARN org.locationtech.geogig.storage.cache.CacheManager - Unable to parse System property GEOGIG_CACHE_MAX_SIZE=. Falling back to default value java.lang.IllegalArgumentException: Invalid format (), expected <float>[B|K|M|G] at org.locationtech.geogig.storage.cache.CacheManager.parseCacheSizeArgument(CacheManager.java:269) at org.locationtech.geogig.storage.cache.CacheManagerTest.getDefaultSizeMB(CacheManagerTest.java:270) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] WARN org.locationtech.geogig.storage.cache.CacheManager - Unable to parse environment variable GEOGIG_CACHE_MAX_SIZE= java.lang.IllegalArgumentException: Invalid format (), expected <float>[B|K|M|G] at org.locationtech.geogig.storage.cache.CacheManager.parseCacheSizeArgument(CacheManager.java:269) at org.locationtech.geogig.storage.cache.CacheManagerTest.getDefaultSizeMB(CacheManagerTest.java:270) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to the default of 2,621,440 bytes as given by the default 0.250000 percent of available heap. Use the GEOGIG_CACHE_MAX_SIZE System property or environmentvariable to set a different maximum size at runtime [main] WARN org.locationtech.geogig.storage.cache.CacheManager - Unable to parse System property GEOGIG_CACHE_MAX_SIZE=-1G. Falling back to environment variable java.lang.IllegalArgumentException: Value must be a positive number or zero at com.google.common.base.Preconditions.checkArgument(Preconditions.java:122) at org.locationtech.geogig.storage.cache.CacheManager.parseCacheSizeArgument(CacheManager.java:257) at org.locationtech.geogig.storage.cache.CacheManagerTest.resolveDefaultMaxSizeInvalidSysPropFallsBackToEnvVariable(CacheManagerTest.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to 1,024 bytes as given by the environment variable GEOGIG_CACHE_MAX_SIZE=1024 [main] WARN org.locationtech.geogig.storage.cache.CacheManager - Unable to parse System property GEOGIG_CACHE_MAX_SIZE=. Falling back to environment variable java.lang.IllegalArgumentException: Invalid format (), expected <float>[B|K|M|G] at org.locationtech.geogig.storage.cache.CacheManager.parseCacheSizeArgument(CacheManager.java:269) at org.locationtech.geogig.storage.cache.CacheManagerTest.resolveDefaultMaxSizeEnvironmantVariable(CacheManagerTest.java:214) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to 1,048,576 bytes as given by the environment variable GEOGIG_CACHE_MAX_SIZE=1M [main] WARN org.locationtech.geogig.storage.cache.CacheManager - Unable to parse System property GEOGIG_CACHE_MAX_SIZE=. Falling back to environment variable java.lang.IllegalArgumentException: Invalid format (), expected <float>[B|K|M|G] at org.locationtech.geogig.storage.cache.CacheManager.parseCacheSizeArgument(CacheManager.java:269) at org.locationtech.geogig.storage.cache.CacheManagerTest.resolveDefaultMaxSizeEnvironmantVariable(CacheManagerTest.java:217) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to 102,400 bytes as given by the environment variable GEOGIG_CACHE_MAX_SIZE=100K [main] WARN org.locationtech.geogig.storage.cache.CacheManager - Unable to parse System property GEOGIG_CACHE_MAX_SIZE=. Falling back to environment variable java.lang.IllegalArgumentException: Invalid format (), expected <float>[B|K|M|G] at org.locationtech.geogig.storage.cache.CacheManager.parseCacheSizeArgument(CacheManager.java:269) at org.locationtech.geogig.storage.cache.CacheManagerTest.resolveDefaultMaxSizeEnvironmantVariable(CacheManagerTest.java:223) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to 5,000 bytes as given by the environment variable GEOGIG_CACHE_MAX_SIZE=0.5 [main] WARN org.locationtech.geogig.storage.cache.CacheManager - Unable to parse System property GEOGIG_CACHE_MAX_SIZE=. Falling back to environment variable java.lang.IllegalArgumentException: Invalid format (), expected <float>[B|K|M|G] at org.locationtech.geogig.storage.cache.CacheManager.parseCacheSizeArgument(CacheManager.java:269) at org.locationtech.geogig.storage.cache.CacheManagerTest.assertDefaultMaxSizeDefaultValue(CacheManagerTest.java:188) at org.locationtech.geogig.storage.cache.CacheManagerTest.resolveDefaultMaxSizeEnvironmantVariableInvalidValue(CacheManagerTest.java:229) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] WARN org.locationtech.geogig.storage.cache.CacheManager - Unable to parse environment variable GEOGIG_CACHE_MAX_SIZE=-1G java.lang.IllegalArgumentException: Value must be a positive number or zero at com.google.common.base.Preconditions.checkArgument(Preconditions.java:122) at org.locationtech.geogig.storage.cache.CacheManager.parseCacheSizeArgument(CacheManager.java:257) at org.locationtech.geogig.storage.cache.CacheManagerTest.assertDefaultMaxSizeDefaultValue(CacheManagerTest.java:188) at org.locationtech.geogig.storage.cache.CacheManagerTest.resolveDefaultMaxSizeEnvironmantVariableInvalidValue(CacheManagerTest.java:229) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to the default of 2,500 bytes as given by the default 0.250000 percent of available heap. Use the GEOGIG_CACHE_MAX_SIZE System property or environmentvariable to set a different maximum size at runtime [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to the default of 119,406,592 bytes as given by the default 0.250000 percent of available heap. Use the GEOGIG_CACHE_MAX_SIZE System property or environmentvariable to set a different maximum size at runtime [main] WARN org.locationtech.geogig.storage.cache.CacheManager - Unable to parse System property GEOGIG_CACHE_MAX_SIZE=0.91. Falling back to environment variable java.lang.IllegalArgumentException: percent must be between zero and 90% (0.9) at com.google.common.base.Preconditions.checkArgument(Preconditions.java:122) at org.locationtech.geogig.storage.cache.CacheManager.getCacheSizePercent(CacheManager.java:203) at org.locationtech.geogig.storage.cache.CacheManagerTest.assertDefaultMaxSizeDefaultValue(CacheManagerTest.java:188) at org.locationtech.geogig.storage.cache.CacheManagerTest.resolveDefaultMaxSizeInvalidSysPropAndEnvVarFallsBackToDefaultPercent(CacheManagerTest.java:242) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] WARN org.locationtech.geogig.storage.cache.CacheManager - Unable to parse environment variable GEOGIG_CACHE_MAX_SIZE=alsoInvalid java.lang.IllegalArgumentException: Invalid format (ALSOINVALID), expected <float>[B|K|M|G] at org.locationtech.geogig.storage.cache.CacheManager.parseCacheSizeArgument(CacheManager.java:269) at org.locationtech.geogig.storage.cache.CacheManagerTest.assertDefaultMaxSizeDefaultValue(CacheManagerTest.java:188) at org.locationtech.geogig.storage.cache.CacheManagerTest.resolveDefaultMaxSizeInvalidSysPropAndEnvVarFallsBackToDefaultPercent(CacheManagerTest.java:242) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.storage.cache.CacheManager - Configuring GeoGig shared object cache maximum size to the default of 2,500 bytes as given by the default 0.250000 percent of available heap. Use the GEOGIG_CACHE_MAX_SIZE System property or environmentvariable to set a different maximum size at runtime Tests run: 31, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.696 sec - in org.locationtech.geogig.storage.cache.CacheManagerTest Running org.locationtech.geogig.test.integration.RevParseIntegrationTest Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.422 sec - in org.locationtech.geogig.storage.memory.HeapObjectStoreConformanceTest Running org.locationtech.geogig.test.integration.ApplyPatchOpTest Tests run: 39, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.804 sec - in org.locationtech.geogig.storage.memory.HeapIndexDatabaseConformanceTest Running org.locationtech.geogig.test.integration.BranchRenameOpTest Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.13 sec - in org.locationtech.geogig.storage.datastream.DataStreamSerializationFactoryV2_1Test Running org.locationtech.geogig.test.integration.RemoteRemoveOpTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.408 sec - in org.locationtech.geogig.storage.datastream.v2_3.NodeSetTest Running org.locationtech.geogig.test.integration.LogOpTest Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.512 sec - in org.locationtech.geogig.storage.datastream.DataStreamSerializationFactoryV2Test Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.592 sec - in org.locationtech.geogig.storage.datastream.LZ4SerializationFactoryTest Running org.locationtech.geogig.test.integration.GeogigTransactionTest Running org.locationtech.geogig.test.integration.PushOpTest Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.649 sec - in org.locationtech.geogig.storage.datastream.DataStreamSerializationFactoryV1Test Running org.locationtech.geogig.test.integration.RevertOpTest Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.89 sec - in org.locationtech.geogig.storage.datastream.DataStreamSerializationFactoryV2_2Test Running org.locationtech.geogig.test.integration.BranchListOpTest Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.268 sec - in org.locationtech.geogig.storage.datastream.v2_3.DataStreamSerializationFactoryV2_3Test Running org.locationtech.geogig.test.integration.BranchCreateOpTest Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.401 sec - in org.locationtech.geogig.storage.datastream.LZFSerializationFactoryTest Running org.locationtech.geogig.test.integration.RebaseOpTest Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.733 sec - in org.locationtech.geogig.storage.text.TextSerializationFactoryTest Running org.locationtech.geogig.test.integration.TagTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.513 sec - in org.locationtech.geogig.storage.impl.INIBlobTest Running org.locationtech.geogig.test.integration.MergeOpTest testMergeNoCommits testOctopusMerge Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.337 sec - in org.locationtech.geogig.test.integration.ConfigOpTest Running org.locationtech.geogig.test.integration.CloneOpTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.659 sec - in org.locationtech.geogig.test.integration.RemoteRemoveOpTest Running org.locationtech.geogig.test.integration.FetchOpTest Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.387 sec - in org.locationtech.geogig.storage.fs.FileConflictsDatabaseConformanceTest Running org.locationtech.geogig.test.integration.FindCommonAncestorTest [main] INFO org.locationtech.geogig.hooks.Scripting - Running jvm script /opt/public/hipp/ramdisk/geogig/junit2400584939929799790/repo-505034911/.geogig/hooks/pre_commit.js Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.189 sec - in org.locationtech.geogig.test.integration.CleanOpTest Running org.locationtech.geogig.test.integration.AddOpTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.846 sec - in org.locationtech.geogig.test.integration.TagTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.977 sec - in org.locationtech.geogig.test.integration.RevParseIntegrationTest Running org.locationtech.geogig.test.integration.BlameOpTest Running org.locationtech.geogig.test.integration.ReportCommitConflictsOpTest testMergeTwice [main] INFO org.locationtech.geogig.hooks.Scripting - Running jvm script /opt/public/hipp/ramdisk/geogig/junit2400584939929799790/repo-505034911/.geogig/hooks/pre_commit.js Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.053 sec - in org.locationtech.geogig.storage.datastream.v2_3.RevTreeFormatTest Running org.locationtech.geogig.test.integration.PullOpTest [main] INFO org.locationtech.geogig.hooks.Scripting - Running jvm script /opt/public/hipp/ramdisk/geogig/junit2556490856610067384/repo320854520/.geogig/hooks/post_commit.js [main] WARN org.locationtech.geogig.hooks.CommandHookChain - Post-command hook org.locationtech.geogig.hooks.JVMScriptHook@344344fa for command org.locationtech.geogig.porcelain.CommitOp threw an exception that will not be propagated java.lang.NullPointerException at org.locationtech.geogig.hooks.Scripting.runJVMScript(Scripting.java:93) at org.locationtech.geogig.hooks.JVMScriptHook.post(JVMScriptHook.java:52) at org.locationtech.geogig.hooks.CommandHookChain.runPostHooks(CommandHookChain.java:65) at org.locationtech.geogig.hooks.CommandHooksDecorator$HooksListener.postCall(CommandHooksDecorator.java:60) at org.locationtech.geogig.repository.AbstractGeoGigOp.notifyPost(AbstractGeoGigOp.java:179) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:155) at org.locationtech.geogig.test.integration.HooksTest.testFailingPostPostProcessHook(HooksTest.java:148) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] WARN org.locationtech.geogig.hooks.CommandHookChain - Post-command hook org.locationtech.geogig.test.integration.HooksTest$ClasspathHookTest@5528a42c for command org.locationtech.geogig.porcelain.AddOp threw an exception that will not be propagated java.lang.RuntimeException: expected at org.locationtech.geogig.test.integration.HooksTest$ClasspathHookTest.post(HooksTest.java:266) at org.locationtech.geogig.hooks.CommandHookChain.runPostHooks(CommandHookChain.java:65) at org.locationtech.geogig.hooks.CommandHooksDecorator$HooksListener.postCall(CommandHooksDecorator.java:60) at org.locationtech.geogig.repository.AbstractGeoGigOp.notifyPost(AbstractGeoGigOp.java:179) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:155) at org.locationtech.geogig.test.integration.RepositoryTestCase.insertAndAdd(RepositoryTestCase.java:377) at org.locationtech.geogig.test.integration.RepositoryTestCase.insertAndAdd(RepositoryTestCase.java:365) at org.locationtech.geogig.test.integration.HooksTest.testClasspathHookPostFail(HooksTest.java:191) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/master -> a3ad4dd3b550a1215e3001faf8071e3448956105] to refs/remotes/origin/NewRemoteBranch(NewRemoteBranch) [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/Branch1 -> 43a3e480cf2de155a4a8a7b4a9030df9a23ab671] to refs/remotes/origin/NewRemoteBranch2(NewRemoteBranch2) Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.783 sec - in org.locationtech.geogig.storage.cache.SharedCacheTest Running org.locationtech.geogig.test.integration.CheckSparsePathTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.892 sec - in org.locationtech.geogig.test.integration.BranchListOpTest Running org.locationtech.geogig.test.integration.CreatePatchOpTest [main] INFO org.locationtech.geogig.hooks.Scripting - Running shell script /opt/public/hipp/ramdisk/geogig/junit93666862609391252/repo-486529968/.geogig/hooks/pre_commit.bat [main] INFO org.locationtech.geogig.hooks.Scripting - Running shell script /opt/public/hipp/ramdisk/geogig/junit93666862609391252/repo-486529968/.geogig/hooks/pre_commit.bat Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.629 sec - in org.locationtech.geogig.test.integration.repository.WorkingTreeTest Running org.locationtech.geogig.test.integration.SquashOpTest testNoFastForwardSpecifyAuthor [main] INFO org.locationtech.geogig.hooks.Scripting - Running jvm script /opt/public/hipp/ramdisk/geogig/junit3249511093395501695/repo282109794/.geogig/hooks/pre_commit.js Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.94 sec - in org.locationtech.geogig.test.integration.BlameOpTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.184 sec - in org.locationtech.geogig.test.integration.HooksTest Running org.locationtech.geogig.test.integration.SparseCloneTest Running org.locationtech.geogig.test.integration.DiffOpTest testBothBranchesSameGeometryChange Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.55 sec - in org.locationtech.geogig.test.integration.BranchCreateOpTest Running org.locationtech.geogig.test.integration.CleanRefsOpTest [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/master -> a3ad4dd3b550a1215e3001faf8071e3448956105] to refs/remotes/origin/NewRemoteBranch(NewRemoteBranch) Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.084 sec - in org.locationtech.geogig.test.integration.CleanRefsOpTest Running org.locationtech.geogig.test.integration.LsTreeOpTest Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.395 sec - in org.locationtech.geogig.test.integration.RevertOpTest Running org.locationtech.geogig.test.integration.GeogigAPITest testMergeFastForwardSecondCase Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.282 sec - in org.locationtech.geogig.test.integration.GeogigAPITest Running org.locationtech.geogig.test.integration.BranchDeleteOpTest testOctopusMergeWithAutomerge Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.187 sec - in org.locationtech.geogig.test.integration.repository.IndexTest Running org.locationtech.geogig.test.integration.CherryPickOpTest Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.254 sec - in org.locationtech.geogig.test.integration.GeogigTransactionTest Running org.locationtech.geogig.test.integration.RemoteListOpTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.937 sec - in org.locationtech.geogig.test.integration.BranchRenameOpTest Running org.locationtech.geogig.test.integration.CommitOpTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.637 sec - in org.locationtech.geogig.test.integration.BranchDeleteOpTest Running org.locationtech.geogig.test.integration.ConflictsReadWriteOpTest Tests run: 10, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 11.286 sec - in org.locationtech.geogig.test.integration.RemoveOpTest Running org.locationtech.geogig.test.integration.RebuildGraphOpTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.137 sec - in org.locationtech.geogig.test.integration.ConflictsReadWriteOpTest Running org.locationtech.geogig.test.integration.RemoteAddOpTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.421 sec - in org.locationtech.geogig.test.integration.RemoteListOpTest Running org.locationtech.geogig.test.integration.StatusOpTest Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.713 sec - in org.locationtech.geogig.test.integration.ApplyPatchOpTest Running org.locationtech.geogig.test.integration.ResetOpTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.546 sec - in org.locationtech.geogig.test.integration.CreatePatchOpTest Running org.locationtech.geogig.test.performance.LogOpPerformanceTest [main] INFO org.locationtech.geogig.test.performance.EnablePerformanceTestRule - org.locationtech.geogig.test.performance.LogOpPerformanceTest ignored, run with -Dgeogig.runPerformanceTests=true to enable it. Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec - in org.locationtech.geogig.test.performance.LogOpPerformanceTest Running org.locationtech.geogig.test.performance.HeapGraphDatabaseStressTest [main] INFO org.locationtech.geogig.test.performance.EnablePerformanceTestRule - org.locationtech.geogig.test.performance.HeapGraphDatabaseStressTest ignored, run with -Dgeogig.runPerformanceTests=true to enable it. Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.locationtech.geogig.test.performance.HeapGraphDatabaseStressTest Running org.locationtech.geogig.test.performance.RevTreeBuilderPerformanceTest [main] INFO org.locationtech.geogig.test.performance.EnablePerformanceTestRule - org.locationtech.geogig.test.performance.RevTreeBuilderPerformanceTest ignored, run with -Dgeogig.runPerformanceTests=true to enable it. Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec - in org.locationtech.geogig.test.performance.RevTreeBuilderPerformanceTest Running org.locationtech.geogig.model.impl.RevPersonTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.014 sec - in org.locationtech.geogig.model.impl.RevPersonTest Running org.locationtech.geogig.model.impl.RevFeatureTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.locationtech.geogig.model.impl.RevFeatureTest Running org.locationtech.geogig.model.impl.RevFeatureTypeTest testConflictingMergeInterceptor Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.134 sec - in org.locationtech.geogig.test.integration.ReportCommitConflictsOpTest Running org.locationtech.geogig.model.impl.RevCommitImplTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.locationtech.geogig.model.impl.RevCommitImplTest Running org.locationtech.geogig.model.impl.QuadTreeBuilderExpandCollapseTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.locationtech.geogig.model.impl.QuadTreeBuilderExpandCollapseTest Running org.locationtech.geogig.model.impl.LegacyTreeBuilderTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.202 sec - in org.locationtech.geogig.model.impl.RevFeatureTypeTest Running org.locationtech.geogig.model.impl.CanonicalTreeBuilderTest [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/master -> d13557ae0d974dbbc25eb1e98414ea3a2455cc3c] to refs/remotes/origin/refs/heads/master(refs/heads/master) Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.785 sec - in org.locationtech.geogig.test.integration.RebuildGraphOpTest Running org.locationtech.geogig.model.impl.CommitBuilderTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.037 sec - in org.locationtech.geogig.model.impl.CommitBuilderTest Running org.locationtech.geogig.model.internal.QuadTreeClusteringStrategyTest Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.631 sec - in org.locationtech.geogig.test.integration.ReportMergeConflictsOpTest Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.556 sec - in org.locationtech.geogig.test.integration.RebaseOpTest Tests run: 12, Failures: 0, Errors: 0, Skipped: 12, Time elapsed: 0.029 sec - in org.locationtech.geogig.model.internal.QuadTreeClusteringStrategyTest Running org.locationtech.geogig.model.internal.QuadTreeClusteringStrategy_putTest Running org.locationtech.geogig.model.internal.CanonicalClusteringStrategyHeapStorageTest Running org.locationtech.geogig.model.internal.CanonicalClusteringStrategyRocksdbStorageTest testMerge Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.897 sec - in org.locationtech.geogig.test.integration.RemoteAddOpTest Running org.locationtech.geogig.model.internal.DAGNodeTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.944 sec - in org.locationtech.geogig.test.integration.StatusOpTest Running org.locationtech.geogig.model.internal.QuadTreeClusteringStrategy_computeIdTest [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/master -> a3ad4dd3b550a1215e3001faf8071e3448956105] to refs/remotes/origin/master(null) Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.15 sec - in org.locationtech.geogig.model.internal.QuadTreeClusteringStrategy_computeIdTest Running org.locationtech.geogig.model.internal.NodeIdTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in org.locationtech.geogig.model.internal.NodeIdTest Running org.locationtech.geogig.model.internal.QuadrantTest testConflictingOctopusMerge Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.048 sec - in org.locationtech.geogig.model.internal.QuadrantTest Running org.locationtech.geogig.data.retrieve.IteratorBackedFeatureReaderTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.055 sec - in org.locationtech.geogig.data.retrieve.IteratorBackedFeatureReaderTest Running org.locationtech.geogig.data.retrieve.BulkFeatureRetrieverTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 1.983 sec - in org.locationtech.geogig.test.integration.CherryPickOpTest Running org.locationtech.geogig.data.retrieve.MultiFeatureTypeBuilderTest DAG[id:[], orig:EMPTY, status: CHANGED, size: 129, children: 0, buckets: 1)[children: {}, buckets: [[2]]] DAG[id:[2], orig:EMPTY, status: CHANGED, size: 129, children: 0, buckets: 2)[children: {}, buckets: [[2, 0], [2, 3]]] DAG[id:[2, 0], orig:EMPTY, status: CHANGED, size: 90, children: 90, buckets: 0)[children: {node # 2=NodeId[node # 2, Env[2.0 : 2.0, 1.0 : 1.0]], node # 1=NodeId[node # 1, Env[1.0 : 1.0, 1.0 : 1.0]], node # 18=NodeId[node # 18, Env[18.0 : 18.0, 1.0 : 1.0]], node # 19=NodeId[node # 19, Env[19.0 : 19.0, 1.0 : 1.0]], node # 16=NodeId[node # 16, Env[16.0 : 16.0, 1.0 : 1.0]], node # 17=NodeId[node # 17, Env[17.0 : 17.0, 1.0 : 1.0]], node # 9=NodeId[node # 9, Env[9.0 : 9.0, 1.0 : 1.0]], node # 8=NodeId[node # 8, Env[8.0 : 8.0, 1.0 : 1.0]], node # 7=NodeId[node # 7, Env[7.0 : 7.0, 1.0 : 1.0]], node # 6=NodeId[node # 6, Env[6.0 : 6.0, 1.0 : 1.0]], node # 5=NodeId[node # 5, Env[5.0 : 5.0, 1.0 : 1.0]], node # 4=NodeId[node # 4, Env[4.0 : 4.0, 1.0 : 1.0]], node # 3=NodeId[node # 3, Env[3.0 : 3.0, 1.0 : 1.0]], node # 61=NodeId[node # 61, Env[61.0 : 61.0, 1.0 : 1.0]], node # 62=NodeId[node # 62, Env[62.0 : 62.0, 1.0 : 1.0]], node # 60=NodeId[node # 60, Env[60.0 : 60.0, 1.0 : 1.0]], node # 69=NodeId[node # 69, Env[69.0 : 69.0, 1.0 : 1.0]], node # 25=NodeId[node # 25, Env[25.0 : 25.0, 1.0 : 1.0]], node # 26=NodeId[node # 26, Env[26.0 : 26.0, 1.0 : 1.0]], node # 67=NodeId[node # 67, Env[67.0 : 67.0, 1.0 : 1.0]], node # 23=NodeId[node # 23, Env[23.0 : 23.0, 1.0 : 1.0]], node # 68=NodeId[node # 68, Env[68.0 : 68.0, 1.0 : 1.0]], node # 24=NodeId[node # 24, Env[24.0 : 24.0, 1.0 : 1.0]], node # 65=NodeId[node # 65, Env[65.0 : 65.0, 1.0 : 1.0]], node # 21=NodeId[node # 21, Env[21.0 : 21.0, 1.0 : 1.0]], node # 66=NodeId[node # 66, Env[66.0 : 66.0, 1.0 : 1.0]], node # 22=NodeId[node # 22, Env[22.0 : 22.0, 1.0 : 1.0]], node # 63=NodeId[node # 63, Env[63.0 : 63.0, 1.0 : 1.0]], node # 64=NodeId[node # 64, Env[64.0 : 64.0, 1.0 : 1.0]], node # 20=NodeId[node # 20, Env[20.0 : 20.0, 1.0 : 1.0]], node # 49=NodeId[node # 49, Env[49.0 : 49.0, 1.0 : 1.0]], node # 50=NodeId[node # 50, Env[50.0 : 50.0, 1.0 : 1.0]], node # 51=NodeId[node # 51, Env[51.0 : 51.0, 1.0 : 1.0]], node # 90=NodeId[node # 90, Env[90.0 : 90.0, 1.0 : 1.0]], node # 58=NodeId[node # 58, Env[58.0 : 58.0, 1.0 : 1.0]], node # 14=NodeId[node # 14, Env[14.0 : 14.0, 1.0 : 1.0]], node # 59=NodeId[node # 59, Env[59.0 : 59.0, 1.0 : 1.0]], node # 15=NodeId[node # 15, Env[15.0 : 15.0, 1.0 : 1.0]], node # 56=NodeId[node # 56, Env[56.0 : 56.0, 1.0 : 1.0]], node # 12=NodeId[node # 12, Env[12.0 : 12.0, 1.0 : 1.0]], node # 57=NodeId[node # 57, Env[57.0 : 57.0, 1.0 : 1.0]], node # 13=NodeId[node # 13, Env[13.0 : 13.0, 1.0 : 1.0]], node # 54=NodeId[node # 54, Env[54.0 : 54.0, 1.0 : 1.0]], node # 10=NodeId[node # 10, Env[10.0 : 10.0, 1.0 : 1.0]], node # 55=NodeId[node # 55, Env[55.0 : 55.0, 1.0 : 1.0]], node # 11=NodeId[node # 11, Env[11.0 : 11.0, 1.0 : 1.0]], node # 52=NodeId[node # 52, Env[52.0 : 52.0, 1.0 : 1.0]], node # 53=NodeId[node # 53, Env[53.0 : 53.0, 1.0 : 1.0]], node # 38=NodeId[node # 38, Env[38.0 : 38.0, 1.0 : 1.0]], node # 39=NodeId[node # 39, Env[39.0 : 39.0, 1.0 : 1.0]], node # 83=NodeId[node # 83, Env[83.0 : 83.0, 1.0 : 1.0]], node # 84=NodeId[node # 84, Env[84.0 : 84.0, 1.0 : 1.0]], node # 40=NodeId[node # 40, Env[40.0 : 40.0, 1.0 : 1.0]], node # 81=NodeId[node # 81, Env[81.0 : 81.0, 1.0 : 1.0]], node # 82=NodeId[node # 82, Env[82.0 : 82.0, 1.0 : 1.0]], node # 80=NodeId[node # 80, Env[80.0 : 80.0, 1.0 : 1.0]], node # 47=NodeId[node # 47, Env[47.0 : 47.0, 1.0 : 1.0]], node # 48=NodeId[node # 48, Env[48.0 : 48.0, 1.0 : 1.0]], node # 89=NodeId[node # 89, Env[89.0 : 89.0, 1.0 : 1.0]], node # 45=NodeId[node # 45, Env[45.0 : 45.0, 1.0 : 1.0]], node # 46=NodeId[node # 46, Env[46.0 : 46.0, 1.0 : 1.0]], node # 87=NodeId[node # 87, Env[87.0 : 87.0, 1.0 : 1.0]], node # 43=NodeId[node # 43, Env[43.0 : 43.0, 1.0 : 1.0]], node # 88=NodeId[node # 88, Env[88.0 : 88.0, 1.0 : 1.0]], node # 44=NodeId[node # 44, Env[44.0 : 44.0, 1.0 : 1.0]], node # 85=NodeId[node # 85, Env[85.0 : 85.0, 1.0 : 1.0]], node # 41=NodeId[node # 41, Env[41.0 : 41.0, 1.0 : 1.0]], node # 86=NodeId[node # 86, Env[86.0 : 86.0, 1.0 : 1.0]], node # 42=NodeId[node # 42, Env[42.0 : 42.0, 1.0 : 1.0]], node # 29=NodeId[node # 29, Env[29.0 : 29.0, 1.0 : 1.0]], node # 27=NodeId[node # 27, Env[27.0 : 27.0, 1.0 : 1.0]], node # 28=NodeId[node # 28, Env[28.0 : 28.0, 1.0 : 1.0]], node # 72=NodeId[node # 72, Env[72.0 : 72.0, 1.0 : 1.0]], node # 73=NodeId[node # 73, Env[73.0 : 73.0, 1.0 : 1.0]], node # 70=NodeId[node # 70, Env[70.0 : 70.0, 1.0 : 1.0]], node # 71=NodeId[node # 71, Env[71.0 : 71.0, 1.0 : 1.0]], node # 36=NodeId[node # 36, Env[36.0 : 36.0, 1.0 : 1.0]], node # 37=NodeId[node # 37, Env[37.0 : 37.0, 1.0 : 1.0]], node # 78=NodeId[node # 78, Env[78.0 : 78.0, 1.0 : 1.0]], node # 34=NodeId[node # 34, Env[34.0 : 34.0, 1.0 : 1.0]], node # 79=NodeId[node # 79, Env[79.0 : 79.0, 1.0 : 1.0]], node # 35=NodeId[node # 35, Env[35.0 : 35.0, 1.0 : 1.0]], node # 76=NodeId[node # 76, Env[76.0 : 76.0, 1.0 : 1.0]], node # 32=NodeId[node # 32, Env[32.0 : 32.0, 1.0 : 1.0]], node # 77=NodeId[node # 77, Env[77.0 : 77.0, 1.0 : 1.0]], node # 33=NodeId[node # 33, Env[33.0 : 33.0, 1.0 : 1.0]], node # 74=NodeId[node # 74, Env[74.0 : 74.0, 1.0 : 1.0]], node # 30=NodeId[node # 30, Env[30.0 : 30.0, 1.0 : 1.0]], node # 75=NodeId[node # 75, Env[75.0 : 75.0, 1.0 : 1.0]], node # 31=NodeId[node # 31, Env[31.0 : 31.0, 1.0 : 1.0]]}, buckets: []] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.567 sec - in org.locationtech.geogig.test.integration.AddOpTest DAG[id:[2, 3], orig:EMPTY, status: CHANGED, size: 39, children: 39, buckets: 0)[children: {node # 107=NodeId[node # 107, Env[107.0 : 107.0, 1.0 : 1.0]], node # 129=NodeId[node # 129, Env[129.0 : 129.0, 1.0 : 1.0]], node # 106=NodeId[node # 106, Env[106.0 : 106.0, 1.0 : 1.0]], node # 128=NodeId[node # 128, Env[128.0 : 128.0, 1.0 : 1.0]], node # 109=NodeId[node # 109, Env[109.0 : 109.0, 1.0 : 1.0]], node # 108=NodeId[node # 108, Env[108.0 : 108.0, 1.0 : 1.0]], node # 103=NodeId[node # 103, Env[103.0 : 103.0, 1.0 : 1.0]], node # 125=NodeId[node # 125, Env[125.0 : 125.0, 1.0 : 1.0]], node # 102=NodeId[node # 102, Env[102.0 : 102.0, 1.0 : 1.0]], node # 124=NodeId[node # 124, Env[124.0 : 124.0, 1.0 : 1.0]], node # 105=NodeId[node # 105, Env[105.0 : 105.0, 1.0 : 1.0]], node # 127=NodeId[node # 127, Env[127.0 : 127.0, 1.0 : 1.0]], node # 104=NodeId[node # 104, Env[104.0 : 104.0, 1.0 : 1.0]], node # 126=NodeId[node # 126, Env[126.0 : 126.0, 1.0 : 1.0]], node # 121=NodeId[node # 121, Env[121.0 : 121.0, 1.0 : 1.0]], node # 120=NodeId[node # 120, Env[120.0 : 120.0, 1.0 : 1.0]], node # 101=NodeId[node # 101, Env[101.0 : 101.0, 1.0 : 1.0]], node # 123=NodeId[node # 123, Env[123.0 : 123.0, 1.0 : 1.0]], node # 100=NodeId[node # 100, Env[100.0 : 100.0, 1.0 : 1.0]], node # 122=NodeId[node # 122, Env[122.0 : 122.0, 1.0 : 1.0]], node # 118=NodeId[node # 118, Env[118.0 : 118.0, 1.0 : 1.0]], node # 117=NodeId[node # 117, Env[117.0 : 117.0, 1.0 : 1.0]], node # 119=NodeId[node # 119, Env[119.0 : 119.0, 1.0 : 1.0]], node # 114=NodeId[node # 114, Env[114.0 : 114.0, 1.0 : 1.0]], node # 113=NodeId[node # 113, Env[113.0 : 113.0, 1.0 : 1.0]], node # 116=NodeId[node # 116, Env[116.0 : 116.0, 1.0 : 1.0]], node # 115=NodeId[node # 115, Env[115.0 : 115.0, 1.0 : 1.0]], node # 110=NodeId[node # 110, Env[110.0 : 110.0, 1.0 : 1.0]], node # 112=NodeId[node # 112, Env[112.0 : 112.0, 1.0 : 1.0]], node # 111=NodeId[node # 111, Env[111.0 : 111.0, 1.0 : 1.0]], node # 94=NodeId[node # 94, Env[94.0 : 94.0, 1.0 : 1.0]], node # 95=NodeId[node # 95, Env[95.0 : 95.0, 1.0 : 1.0]], node # 92=NodeId[node # 92, Env[92.0 : 92.0, 1.0 : 1.0]], node # 93=NodeId[node # 93, Env[93.0 : 93.0, 1.0 : 1.0]], node # 91=NodeId[node # 91, Env[91.0 : 91.0, 1.0 : 1.0]], node # 98=NodeId[node # 98, Env[98.0 : 98.0, 1.0 : 1.0]], node # 99=NodeId[node # 99, Env[99.0 : 99.0, 1.0 : 1.0]], node # 96=NodeId[node # 96, Env[96.0 : 96.0, 1.0 : 1.0]], node # 97=NodeId[node # 97, Env[97.0 : 97.0, 1.0 : 1.0]]}, buckets: []] Running org.locationtech.geogig.data.retrieve.BulkGeoGigFeatureRetrieverTest testFastForwardOnly testSpecifyAuthor Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.577 sec - in org.locationtech.geogig.data.retrieve.BulkFeatureRetrieverTest Running org.locationtech.geogig.data.retrieve.BackgroundingIteratorTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.581 sec - in org.locationtech.geogig.data.retrieve.BulkGeoGigFeatureRetrieverTest Running org.locationtech.geogig.data.EPSGBoundsCalcTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.739 sec - in org.locationtech.geogig.data.retrieve.MultiFeatureTypeBuilderTest Running org.locationtech.geogig.data.EPSGBoundsXYTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.002 sec - in org.locationtech.geogig.data.EPSGBoundsXYTest Running org.locationtech.geogig.data.MapToStringConverterFactoryTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.188 sec - in org.locationtech.geogig.model.internal.DAGNodeTest Running org.locationtech.geogig.data.PrimitiveArrayToStringConverterFactoryTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.112 sec - in org.locationtech.geogig.data.PrimitiveArrayToStringConverterFactoryTest Running org.locationtech.geogig.data.EPSGBoundsYXTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.004 sec - in org.locationtech.geogig.data.EPSGBoundsYXTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.167 sec - in org.locationtech.geogig.data.MapToStringConverterFactoryTest Running org.locationtech.geogig.plumbing.ResolveRepositoryNameTest Running org.locationtech.geogig.data.FeatureBuilderTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.044 sec - in org.locationtech.geogig.data.FeatureBuilderTest Running org.locationtech.geogig.plumbing.merge.MergeFeaturesOpTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.278 sec - in org.locationtech.geogig.plumbing.ResolveRepositoryNameTest Running org.locationtech.geogig.plumbing.merge.MergeStatusBuilderDiffEntrySerializerTest [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/master -> a3ad4dd3b550a1215e3001faf8071e3448956105] to refs/remotes/origin/master(null) [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/Branch1 -> e4d10fce0f71850b8e201763343ebde1c71aa5f6] to refs/remotes/origin/Branch1(null) Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.18 sec - in org.locationtech.geogig.plumbing.merge.MergeFeaturesOpTest Running org.locationtech.geogig.plumbing.index.BuildIndexOpTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.316 sec - in org.locationtech.geogig.plumbing.merge.MergeStatusBuilderDiffEntrySerializerTest Running org.locationtech.geogig.plumbing.index.BuildFullHistoryIndexOpTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.209 sec - in org.locationtech.geogig.model.internal.QuadTreeClusteringStrategy_putTest Running org.locationtech.geogig.plumbing.diff.DepthTreeIteratorTest testOursAndTheirs testNoCommitMerge Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.489 sec - in org.locationtech.geogig.test.integration.SquashOpTest Running org.locationtech.geogig.plumbing.diff.MutableTreeTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec - in org.locationtech.geogig.plumbing.diff.MutableTreeTest Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.499 sec - in org.locationtech.geogig.data.retrieve.BackgroundingIteratorTest Running org.locationtech.geogig.plumbing.diff.TreeDifferenceTest Running org.locationtech.geogig.plumbing.diff.PostOrderDiffWalkTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.044 sec - in org.locationtech.geogig.plumbing.diff.TreeDifferenceTest Running org.locationtech.geogig.plumbing.diff.GeometryDiffTest testMergeFastForward Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.45 sec - in org.locationtech.geogig.plumbing.diff.GeometryDiffTest Running org.locationtech.geogig.plumbing.diff.PreOrderDiffWalkTest testOctopusMergeSameFeatureChanges [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/Branch1 -> b9ffcf8d172b8905500e906f2218c55b58cf2c44] to refs/remotes/origin/Branch1(Branch1) Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.709 sec - in org.locationtech.geogig.test.integration.CheckoutOpTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.408 sec - in org.locationtech.geogig.test.integration.CloneOpTest Running org.locationtech.geogig.plumbing.diff.PatchSerializationTest Running org.locationtech.geogig.plumbing.diff.DiffCountConsumerTest testMergeNullCommit [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/master -> b2e392a358773a01efe3ec48a3580362a7fc83d0] to refs/remotes/origin/refs/heads/master(refs/heads/master) testMergeMultiple Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.151 sec - in org.locationtech.geogig.test.integration.LogOpTest Running org.locationtech.geogig.plumbing.diff.AttributeDiffTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.025 sec - in org.locationtech.geogig.plumbing.diff.AttributeDiffTest Running org.locationtech.geogig.plumbing.RevParseTest testMergeConflictingPolygon Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.843 sec - in org.locationtech.geogig.test.integration.DiffOpTest Running org.locationtech.geogig.plumbing.DiffTreeTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.322 sec - in org.locationtech.geogig.plumbing.diff.PatchSerializationTest Running org.locationtech.geogig.plumbing.HashObjectTest Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.615 sec - in org.locationtech.geogig.test.integration.LsTreeOpTest Running org.locationtech.geogig.plumbing.ResolveFeatureTypeTest testMergeConflictingBranchesTheirs Removed 32,600 nodes in 2.577 s testMergeWithFeatureMerge Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.683 sec - in org.locationtech.geogig.plumbing.ResolveFeatureTypeTest Running org.locationtech.geogig.plumbing.ParseTimestampTest Removed 32,600 nodes in 3.437 s Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.978 sec - in org.locationtech.geogig.test.integration.CheckSparsePathTest Running org.locationtech.geogig.plumbing.RefParseTest Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.3 sec - in org.locationtech.geogig.test.integration.ResetOpTest Running org.locationtech.geogig.plumbing.WriteTree2Test Added 7,000 nodes in 123.5 ms Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.573 sec - in org.locationtech.geogig.plumbing.ParseTimestampTest Running org.locationtech.geogig.plumbing.UpdateRefTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.874 sec - in org.locationtech.geogig.test.integration.FindCommonAncestorTest Running org.locationtech.geogig.plumbing.DescribeFeatureTypeTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.29 sec - in org.locationtech.geogig.plumbing.RefParseTest Running org.locationtech.geogig.plumbing.ResolveGeogigURITest testMergeNoCommitMessage [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/Branch1 -> b9ffcf8d172b8905500e906f2218c55b58cf2c44] to refs/remotes/origin/Branch1(Branch1) Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.203 sec - in org.locationtech.geogig.plumbing.DescribeFeatureTypeTest Running org.locationtech.geogig.plumbing.CatObjectTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.213 sec - in org.locationtech.geogig.plumbing.ResolveGeogigURITest Running org.locationtech.geogig.plumbing.UpdateSymRefTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.025 sec - in org.locationtech.geogig.plumbing.HashObjectTest Running org.locationtech.geogig.plumbing.UpdateTreeTest testMergeTwoBranchesWithNewFeatureType left : Tree[c932cbd11ec75bcc145e2a362a3199bb85eb3abc; size=7; subtrees=2, buckets=0, features=0] [TreeNode[buildings -> a400000000000000000000000000000000000000], TreeNode[roads -> ff488999ad51848c7850ffd4d12568a3125172b0]] [] right: Tree[8996d6e4437a8d8ea41ffc1f32cfaab9bf9de384; size=5; subtrees=1, buckets=0, features=0] [TreeNode[roads -> 72e2f547f3adc30edd55733abb885e8e6de1f1a4]] [] Added 7,000Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.918 sec - in org.locationtech.geogig.plumbing.UpdateRefTest Running org.locationtech.geogig.plumbing.DiffBoundsTest nodes in 577.8 ms Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.749 sec - in org.locationtech.geogig.plumbing.UpdateTreeTest Running org.locationtech.geogig.plumbing.CheckRefFormatTest testCancelScenario1 Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.216 sec - in org.locationtech.geogig.plumbing.CheckRefFormatTest Running org.locationtech.geogig.plumbing.DiffFeatureTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.311 sec - in org.locationtech.geogig.plumbing.CatObjectTest Running org.locationtech.geogig.plumbing.WalkGraphOpTest Added 5,000 nodes in 27.57 ms Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.462 sec - in org.locationtech.geogig.plumbing.UpdateSymRefTest Running org.locationtech.geogig.porcelain.index.UpdateIndexesOpTest Added 1,024 nodes in 4.941 ms Removed 400 nodes in 1.650 ms Tests run: 26, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.996 sec - in org.locationtech.geogig.test.integration.CommitOpTest Running org.locationtech.geogig.porcelain.index.UpdateIndexOpTest [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit7038553772610502602/mockWorkingDir/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit1561191963686504556/mockWorkingDir/.geogig/ sp StringProp1_1 -> StringProp1_1a ip 1000 -> 1001 pp 0 point(s) deleted, 0 new point(s) added, 1 point(s) moved Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.004 sec - in org.locationtech.geogig.plumbing.DiffFeatureTest Running org.locationtech.geogig.porcelain.index.DropIndexOpTest Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.863 sec - in org.locationtech.geogig.plumbing.WriteTree2Test Added 10,000 nodes in 298.0 ms Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.599 sec - in org.locationtech.geogig.model.internal.CanonicalClusteringStrategyHeapStorageTest Running org.locationtech.geogig.porcelain.index.CreateIndexOpTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.863 sec - in org.locationtech.geogig.plumbing.diff.PostOrderDiffWalkTest Running org.locationtech.geogig.repository.impl.SpatialOpsTest Running org.locationtech.geogig.porcelain.InitOpTest Exception caught executing task: java.lang.IllegalStateException: java.lang.IllegalStateException: Object NodeRef[Points/Points.1 -> a47ca38e5c3e92c94dec9e8ea597c642003ec878] not found. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593) at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677) at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:720) at java.util.concurrent.ForkJoinPool.invoke(ForkJoinPool.java:2616) at org.locationtech.geogig.plumbing.diff.PreOrderDiffWalk.walk(PreOrderDiffWalk.java:322) at org.locationtech.geogig.plumbing.WalkGraphOp._call(WalkGraphOp.java:160) at org.locationtech.geogig.plumbing.WalkGraphOp._call(WalkGraphOp.java:32) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.plumbing.WalkGraphOpTest.testObjectDoesNotExist(WalkGraphOpTest.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Caused by: java.lang.IllegalStateException: Object NodeRef[Points/Points.1 -> a47ca38e5c3e92c94dec9e8ea597c642003ec878] not found. at org.locationtech.geogig.plumbing.WalkGraphOp$1.checkExists(WalkGraphOp.java:155) at org.locationtech.geogig.plumbing.WalkGraphOp$1.feature(WalkGraphOp.java:128) at org.locationtech.geogig.plumbing.diff.PreOrderDiffWalk$CancellableConsumer.feature(PreOrderDiffWalk.java:1303) at org.locationtech.geogig.plumbing.diff.PreOrderDiffWalk$WalkAction.node(PreOrderDiffWalk.java:627) at org.locationtech.geogig.plumbing.diff.PreOrderDiffWalk$TraverseLeafLeaf.compute(PreOrderDiffWalk.java:830) at org.locationtech.geogig.plumbing.diff.PreOrderDiffWalk$TraverseTreeContents.compute(PreOrderDiffWalk.java:736) at org.locationtech.geogig.plumbing.diff.PreOrderDiffWalk$TraverseTree.compute(PreOrderDiffWalk.java:692) at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) at java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:401) at java.util.concurrent.ForkJoinTask.invokeAll(ForkJoinTask.java:843) at org.locationtech.geogig.plumbing.diff.PreOrderDiffWalk$TraverseLeafLeaf.compute(PreOrderDiffWalk.java:837) at org.locationtech.geogig.plumbing.diff.PreOrderDiffWalk$TraverseTreeContents.compute(PreOrderDiffWalk.java:736) at org.locationtech.geogig.plumbing.diff.PreOrderDiffWalk$TraverseTree.compute(PreOrderDiffWalk.java:692) at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.4 sec - in org.locationtech.geogig.plumbing.WalkGraphOpTest Running org.locationtech.geogig.repository.impl.RepositoryResolverTest testCancelScenario2 Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.047 sec - in org.locationtech.geogig.repository.impl.RepositoryResolverTest Running org.locationtech.geogig.repository.impl.DepthSearchTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.42 sec - in org.locationtech.geogig.model.impl.LegacyTreeBuilderTest Running org.locationtech.geogig.repository.impl.RevFeatureBuilderTest testCancelScenario3 [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/master -> a3ad4dd3b550a1215e3001faf8071e3448956105] to refs/remotes/origin/master(null) Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.783 sec - in org.locationtech.geogig.porcelain.InitOpTest testCancelScenario4 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.243 sec - in org.locationtech.geogig.repository.impl.DepthSearchTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.195 sec - in org.locationtech.geogig.repository.impl.RevFeatureBuilderTest testNoFastForward Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.537 sec - in org.locationtech.geogig.plumbing.diff.DiffCountConsumerTest testMergeConflictingBranches [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/master -> a3ad4dd3b550a1215e3001faf8071e3448956105] to refs/remotes/origin/master(null) Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.167 sec - in org.locationtech.geogig.plumbing.RevParseTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.232 sec - in org.locationtech.geogig.test.integration.PushOpTest testMergeConflictingBranchesOurs Tests run: 30, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.42 sec - in org.locationtech.geogig.test.integration.MergeOpTest [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit7329006978953378560/mockWorkingDir/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit1001199327216439921/mockWorkingDir/.geogig/ Added 5,000 nodes in 180.0 ms [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit6446944108861702971/mockWorkingDir/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit2695314267235366253/mockWorkingDir/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit6266569728009919788/mockWorkingDir/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit4677092800573490235/mockWorkingDir/.geogig/ Added 1,024 nodes in 39.16 ms Removed 400 nodes in 4.367 ms [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/master -> 32b4e258bf8026e45ba1c2ace4a1f36e15b862a1] to refs/remotes/origin/master(null) Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.975 sec - in org.locationtech.geogig.test.integration.FetchOpTest Added 10,000 nodes in 465.1 ms Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.662 sec - in org.locationtech.geogig.model.internal.CanonicalClusteringStrategyRocksdbStorageTest [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit1496144261482894266/mockWorkingDir/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit3521174098782263815/mockWorkingDir/.geogig/ Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.31 sec - in org.locationtech.geogig.test.integration.SparseCloneTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.608 sec - in org.locationtech.geogig.plumbing.DiffTreeTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.175 sec - in org.locationtech.geogig.model.impl.CanonicalTreeBuilderTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.477 sec - in org.locationtech.geogig.porcelain.index.DropIndexOpTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.418 sec - in org.locationtech.geogig.test.integration.PullOpTest Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.135 sec - in org.locationtech.geogig.plumbing.index.BuildIndexOpTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.966 sec - in org.locationtech.geogig.plumbing.DiffBoundsTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.302 sec - in org.locationtech.geogig.plumbing.index.BuildFullHistoryIndexOpTest Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.109 sec - in org.locationtech.geogig.porcelain.index.CreateIndexOpTest Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.458 sec - in org.locationtech.geogig.porcelain.index.UpdateIndexOpTest Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.297 sec - in org.locationtech.geogig.porcelain.index.UpdateIndexesOpTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.908 sec - in org.locationtech.geogig.plumbing.diff.DepthTreeIteratorTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.139 sec - in org.locationtech.geogig.data.EPSGBoundsCalcTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.675 sec - in org.locationtech.geogig.repository.impl.SpatialOpsTest PreOrderDiffWalkTest: walked 524,288 vs 262144 trees in 382.4 ms PreOrderDiffWalkTest: walked 1,024 vs 512 trees in 12.64 ms PreOrderDiffWalkTest: walked 16,384 vs 512 trees in 134.6 ms Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.889 sec - in org.locationtech.geogig.plumbing.diff.PreOrderDiffWalkTest Results : Tests run: 1288, Failures: 0, Errors: 0, Skipped: 16 [JENKINS] Recording test results [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ geogig-core --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/target/geogig-core-1.1-SNAPSHOT.jar [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ geogig-core --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/target/geogig-core-1.1-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ geogig-core >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-core --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ geogig-core <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ geogig-core --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/target/geogig-core-1.1-SNAPSHOT-sources.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:test-jar (attach-sources) > generate-sources @ geogig-core >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-core --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.TestSourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:test-jar (attach-sources) < generate-sources @ geogig-core <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:test-jar (attach-sources) @ geogig-core --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/target/geogig-core-1.1-SNAPSHOT-test-sources.jar [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ geogig-core --- [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/target/geogig-core-1.1-SNAPSHOT.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-core/1.1-SNAPSHOT/geogig-core-1.1-SNAPSHOT.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-core/1.1-SNAPSHOT/geogig-core-1.1-SNAPSHOT.pom [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/target/geogig-core-1.1-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-core/1.1-SNAPSHOT/geogig-core-1.1-SNAPSHOT-tests.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/target/geogig-core-1.1-SNAPSHOT-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-core/1.1-SNAPSHOT/geogig-core-1.1-SNAPSHOT-sources.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/core/target/geogig-core-1.1-SNAPSHOT-test-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-core/1.1-SNAPSHOT/geogig-core-1.1-SNAPSHOT-test-sources.jar [JENKINS] Archiving disabled Started calculate disk usage of build Finished Calculation of disk usage of build in 0 seconds Started calculate disk usage of workspace Finished Calculation of disk usage of workspace in 0 seconds [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building GeoGig DataStore Implementation 1.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ geogig-datastore --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-datastore --- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ geogig-datastore --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 3 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ geogig-datastore --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 18 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/target/classes [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/src/main/java/org/locationtech/geogig/geotools/data/GeogigFeatureSource.java: Some input files use unchecked or unsafe operations. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/src/main/java/org/locationtech/geogig/geotools/data/GeogigFeatureSource.java: Recompile with -Xlint:unchecked for details. [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ geogig-datastore --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 2 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ geogig-datastore --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 15 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/target/test-classes [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/src/test/java/org/locationtech/geogig/geotools/data/reader/FeatureReaderBuilderTest.java: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/src/test/java/org/locationtech/geogig/geotools/data/reader/FeatureReaderBuilderTest.java uses unchecked or unsafe operations. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/src/test/java/org/locationtech/geogig/geotools/data/reader/FeatureReaderBuilderTest.java: Recompile with -Xlint:unchecked for details. [INFO] [INFO] --- maven-surefire-plugin:2.17:test (default-test) @ geogig-datastore --- [INFO] Surefire report directory: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/target/surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.locationtech.geogig.geotools.data.GeoGigFeatureStoreTest Running org.locationtech.geogig.geotools.data.reader.ExtraDataPropertyAccessorFactoryTest Running org.locationtech.geogig.geotools.data.reader.PrePostFilterSplitterTest Running org.locationtech.geogig.geotools.data.reader.PreFilterTest Running org.locationtech.geogig.geotools.data.reader.MaterializedIndexFeatureIteratorTest Running org.locationtech.geogig.geotools.data.reader.FeatureReaderBuilderTest Running org.locationtech.geogig.geotools.data.functional.RunDataStoreFunctionalTest Running org.locationtech.geogig.geotools.data.functional.RunDataStoreDimensionTest Running org.locationtech.geogig.geotools.data.GeoGigDataStoreTest Running org.locationtech.geogig.geotools.data.GeoGigFeatureStoreIndexedTest Running org.locationtech.geogig.geotools.data.GeoGigDataStoreFactoryTest Running org.locationtech.geogig.geotools.data.GeoGigFeatureSourceTest Running org.locationtech.geogig.geotools.data.stresstest.DataStoreConcurrencyTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.931 sec - in org.locationtech.geogig.geotools.data.reader.ExtraDataPropertyAccessorFactoryTest Feature: GeoGig DataStore Layer Dimension validation The GeoGig DataStore is the integration point between GeoServer/OGC services and GeoGig repositories. These scenarios are meant to ensure data/feature integrity when layers utilize time/elevation dimensions. Feature: GeoGig DataStore Feature read/write validation The GeoGig DataStore is the integration point between GeoServer/OGC services and GeoGig repositories. These scenarios are meant to ensure data/feature integrity via interactions with the DataStore. Tests run: 30, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.407 sec - in org.locationtech.geogig.geotools.data.reader.PreFilterTest Tests run: 37, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.681 sec - in org.locationtech.geogig.geotools.data.reader.PrePostFilterSplitterTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.873 sec - in org.locationtech.geogig.geotools.data.reader.MaterializedIndexFeatureIteratorTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.21 sec - in org.locationtech.geogig.geotools.data.GeoGigDataStoreFactoryTest 2017-10-16T15:50:42.266-0400 WARNING Feature Collection contains a heterogeneous mix of features 2017-10-16T15:50:43.024-0400 WARNING Feature Collection contains a heterogeneous mix of features 2017-10-16T15:50:43.179-0400 WARNING Feature Collection contains a heterogeneous mix of features Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.926 sec - in org.locationtech.geogig.geotools.data.reader.FeatureReaderBuilderTest Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.291 sec - in org.locationtech.geogig.geotools.data.GeoGigDataStoreTest Scenario: Ensure Point Features with Time dimensions can be retrieved from a DataStore # features/dimension/Dimesnion.feature:6 Given I am working with the "pointTime" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) Then I should be able to retrieve data from "dataStore1" using 1 threads and 1 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) And features in "dataStore1" should contain a Time attribute # FunctionalStepDefinitions.features_should_contain_time_attribute(String) Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.563 sec - in org.locationtech.geogig.geotools.data.GeoGigFeatureStoreTest Scenario: Ensure Point Features with Time dimensions can be retrieved from a DataStore with indexes # features/dimension/Dimesnion.feature:13 Given I am working with the "pointTime" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) When I create a spatial index on "dataStore1" with extra attributes "dp" # FunctionalStepDefinitions.i_create_a_spatial_index_with_extra_Attributes(String,String) Then I should be able to retrieve data from "dataStore1" using 1 threads and 1 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) And features in "dataStore1" should contain a Time attribute # FunctionalStepDefinitions.features_should_contain_time_attribute(String) 2017-10-16T15:50:46.706-0400 WARNING Feature Collection contains a heterogeneous mix of features Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.523 sec - in org.locationtech.geogig.geotools.data.GeoGigFeatureSourceTest Scenario: Ensure Point Features can be retrieved from a DataStore # features/index/FeatureReader.feature:6 Given I am working with the "point" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) Then I should be able to retrieve data from "dataStore1" using 4 threads and 40 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) Scenario: Ensure Point Features with NULL Time dimension values can be retrieved from a DataStore with indexes # features/dimension/Dimesnion.feature:21 Given I am working with the "pointTime" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) When I create a spatial index on "dataStore1" with extra attributes "dp" # FunctionalStepDefinitions.i_create_a_spatial_index_with_extra_Attributes(String,String) And I edit a time dimension attribute value in "dataStore1" to be NULL # FunctionalStepDefinitions.i_edit_a_time_dimension_attribute_value_to_be_null(String) Then I should be able to retrieve data from "dataStore1" using 1 threads and 1 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) And the edited feature in "dataStore1" should contain a NULL Time attribute # FunctionalStepDefinitions.edited_feature_should_contain_null_time_attribute(String) 3 Scenarios (3 passed) 18 Steps (18 passed) 0m8.541s Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.664 sec - in org.locationtech.geogig.geotools.data.functional.RunDataStoreDimensionTest 2017-10-16T15:50:47.124-0400 WARNING Feature Collection contains a heterogeneous mix of features 2017-10-16T15:50:47.385-0400 WARNING Feature Collection contains a heterogeneous mix of features Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.883 sec - in org.locationtech.geogig.geotools.data.GeoGigFeatureStoreIndexedTest Scenario: Ensure Polygon Features can be retrieved from a DataStore # features/index/FeatureReader.feature:12 Given I am working with the "polygon" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) Then I should be able to retrieve data from "dataStore1" using 4 threads and 40 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.394 sec - in org.locationtech.geogig.geotools.data.stresstest.DataStoreConcurrencyTest Scenario: Ensure Point Features can be retrieved from a DataStore with an indexed repo # features/index/FeatureReader.feature:18 Given I am working with the "point" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) Then I should be able to retrieve data from "dataStore1" using 4 threads and 40 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) When I create a spatial index on "dataStore1" # FunctionalStepDefinitions.i_create_a_spatial_index_on(String) Then I should be able to retrieve data from "dataStore1" using 4 threads and 40 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) Scenario: Ensure Polygon Features can be retrieved from a DataStore with an indexed repo # features/index/FeatureReader.feature:26 Given I am working with the "polygon" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) Then I should be able to retrieve data from "dataStore1" using 4 threads and 40 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) When I create a spatial index on "dataStore1" # FunctionalStepDefinitions.i_create_a_spatial_index_on(String) Then I should be able to retrieve data from "dataStore1" using 4 threads and 40 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) Scenario: Ensure indexed Point Features match non-indexed Features # features/index/FeatureReader.feature:34 Given I am working with the "point" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) And I have a datastore named "dataStore2" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore2" has the same data as "dataStore1" # FunctionalStepDefinitions.datastore_has_same_data(String,String) When I create a spatial index on "dataStore1" # FunctionalStepDefinitions.i_create_a_spatial_index_on(String) Then I should be able to retrieve data from "dataStore1" using 4 threads and 40 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) And datastore "dataStore1" and datastore "dataStore2" both have the same features # FunctionalStepDefinitions.datastores_have_the_same_features(String,String) Scenario: Ensure indexed Polygon Features match non-indexed Features # features/index/FeatureReader.feature:44 Given I am working with the "polygon" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) And I have a datastore named "dataStore2" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore2" has the same data as "dataStore1" # FunctionalStepDefinitions.datastore_has_same_data(String,String) When I create a spatial index on "dataStore1" # FunctionalStepDefinitions.i_create_a_spatial_index_on(String) Then I should be able to retrieve data from "dataStore1" using 4 threads and 40 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) And datastore "dataStore1" and datastore "dataStore2" both have the same features # FunctionalStepDefinitions.datastores_have_the_same_features(String,String) Scenario: Ensure Point Features can be retrieved from a DataStore after editing # features/index/FeatureReader.feature:54 Given I am working with the "point" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) When I make an edit to "dataStore1" # FunctionalStepDefinitions.i_make_an_edit_to(String) Then datastore "dataStore1" has the edited feature # FunctionalStepDefinitions.datastore_has_the_edited_feature(String) Scenario: Ensure Polygon Features can be retrieved from a DataStore after editing # features/index/FeatureReader.feature:61 Given I am working with the "polygon" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) When I make an edit to "dataStore1" # FunctionalStepDefinitions.i_make_an_edit_to(String) Then datastore "dataStore1" has the edited feature # FunctionalStepDefinitions.datastore_has_the_edited_feature(String) Scenario: Ensure Point Features can be retrieved from a DataStore after editing with index # features/index/FeatureReader.feature:68 Given I am working with the "point" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) When I create a spatial index on "dataStore1" # FunctionalStepDefinitions.i_create_a_spatial_index_on(String) Then I should be able to retrieve data from "dataStore1" using 4 threads and 40 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) When I make an edit to "dataStore1" # FunctionalStepDefinitions.i_make_an_edit_to(String) Then datastore "dataStore1" has the edited feature # FunctionalStepDefinitions.datastore_has_the_edited_feature(String) Scenario: Ensure Polygon Features can be retrieved from a DataStore after editing with index # features/index/FeatureReader.feature:77 Given I am working with the "polygon" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) When I create a spatial index on "dataStore1" # FunctionalStepDefinitions.i_create_a_spatial_index_on(String) Then I should be able to retrieve data from "dataStore1" using 4 threads and 40 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) When I make an edit to "dataStore1" # FunctionalStepDefinitions.i_make_an_edit_to(String) Then datastore "dataStore1" has the edited feature # FunctionalStepDefinitions.datastore_has_the_edited_feature(String) Scenario: Ensure edited indexed Point Features match edited non-indexed Features # features/index/FeatureReader.feature:86 Given I am working with the "point" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) And I have a datastore named "dataStore2" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore2" has the same data as "dataStore1" # FunctionalStepDefinitions.datastore_has_same_data(String,String) When I create a spatial index on "dataStore1" # FunctionalStepDefinitions.i_create_a_spatial_index_on(String) And I make an edit to "dataStore1" # FunctionalStepDefinitions.i_make_an_edit_to(String) And I make the same edit to "dataStore2" # FunctionalStepDefinitions.i_make_the_same_edit(String) Then datastore "dataStore1" and datastore "dataStore2" both have the same features # FunctionalStepDefinitions.datastores_have_the_same_features(String,String) Scenario: Ensure edited indexed Polygon Features match edited non-indexed Features # features/index/FeatureReader.feature:97 Given I am working with the "polygon" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) And I have a datastore named "dataStore2" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore2" has the same data as "dataStore1" # FunctionalStepDefinitions.datastore_has_same_data(String,String) When I create a spatial index on "dataStore1" # FunctionalStepDefinitions.i_create_a_spatial_index_on(String) And I make an edit to "dataStore1" # FunctionalStepDefinitions.i_make_an_edit_to(String) And I make the same edit to "dataStore2" # FunctionalStepDefinitions.i_make_the_same_edit(String) Then datastore "dataStore1" and datastore "dataStore2" both have the same features # FunctionalStepDefinitions.datastores_have_the_same_features(String,String) Scenario: Ensure Point Features can be edited concurrently # features/index/FeatureReader.feature:108 Given I am working with the "point" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) When I create a spatial index on "dataStore1" # FunctionalStepDefinitions.i_create_a_spatial_index_on(String) Then I should be able to retrieve data from "dataStore1" using 4 threads and 40 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) When I make 20 edits to "dataStore1" using 4 edit threads # FunctionalStepDefinitions.i_make_concurrent_edits(int,String,int) Then datastore "dataStore1" has the edited features # FunctionalStepDefinitions.datastore_has_the_edited_features(String) Scenario: Ensure Polygon Features can be edited concurrently # features/index/FeatureReader.feature:117 Given I am working with the "polygon" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) When I create a spatial index on "dataStore1" # FunctionalStepDefinitions.i_create_a_spatial_index_on(String) Then I should be able to retrieve data from "dataStore1" using 4 threads and 40 reads per thread # FunctionalStepDefinitions.datastore_should_have_some_data(String,int,int) When I make 20 edits to "dataStore1" using 4 edit threads # FunctionalStepDefinitions.i_make_concurrent_edits(int,String,int) Then datastore "dataStore1" has the edited features # FunctionalStepDefinitions.datastore_has_the_edited_features(String) Scenario: Ensure Point Features can be edited concurrently with concurrent reads # features/index/FeatureReader.feature:126 Given I am working with the "point" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) When I create a spatial index on "dataStore1" # FunctionalStepDefinitions.i_create_a_spatial_index_on(String) And I make 20 edits to "dataStore1" using 4 edit threads while using 20 read threads and 8 reads per thread # FunctionalStepDefinitions.i_make_concurrent_edits_and_reads(int,String,int,int,int) Then datastore "dataStore1" has the edited features # FunctionalStepDefinitions.datastore_has_the_edited_features(String) Scenario: Ensure Polygon Features can be edited concurrently with concurrent reads # features/index/FeatureReader.feature:134 Given I am working with the "polygon" layer # FunctionalStepDefinitions.i_am_working_with_the_layer(String) And I have a datastore named "dataStore1" backed by a GeoGig repo # FunctionalStepDefinitions.i_have_a_datastore_backed_by_a_GeoGig_repo(String) And datastore "dataStore1" has 200 features per thread inserted using 4 threads # FunctionalStepDefinitions.datastore_has_features_inserted(String,int,int) When I create a spatial index on "dataStore1" # FunctionalStepDefinitions.i_create_a_spatial_index_on(String) And I make 20 edits to "dataStore1" using 4 edit threads while using 20 read threads and 8 reads per thread # FunctionalStepDefinitions.i_make_concurrent_edits_and_reads(int,String,int,int,int) Then datastore "dataStore1" has the edited features # FunctionalStepDefinitions.datastore_has_the_edited_features(String) 16 Scenarios (16 passed) 104 Steps (104 passed) 1m54.644s Tests run: 120, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 115.948 sec - in org.locationtech.geogig.geotools.data.functional.RunDataStoreFunctionalTest Results : Tests run: 307, Failures: 0, Errors: 0, Skipped: 0 [JENKINS] Recording test results [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ geogig-datastore --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/target/geogig-datastore-1.1-SNAPSHOT.jar [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ geogig-datastore --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/target/geogig-datastore-1.1-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ geogig-datastore >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-datastore --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ geogig-datastore <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ geogig-datastore --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/target/geogig-datastore-1.1-SNAPSHOT-sources.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:test-jar (attach-sources) > generate-sources @ geogig-datastore >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-datastore --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.TestSourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:test-jar (attach-sources) < generate-sources @ geogig-datastore <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:test-jar (attach-sources) @ geogig-datastore --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/target/geogig-datastore-1.1-SNAPSHOT-test-sources.jar [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ geogig-datastore --- [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/target/geogig-datastore-1.1-SNAPSHOT.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-datastore/1.1-SNAPSHOT/geogig-datastore-1.1-SNAPSHOT.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-datastore/1.1-SNAPSHOT/geogig-datastore-1.1-SNAPSHOT.pom [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/target/geogig-datastore-1.1-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-datastore/1.1-SNAPSHOT/geogig-datastore-1.1-SNAPSHOT-tests.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/target/geogig-datastore-1.1-SNAPSHOT-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-datastore/1.1-SNAPSHOT/geogig-datastore-1.1-SNAPSHOT-sources.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/datastore/target/geogig-datastore-1.1-SNAPSHOT-test-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-datastore/1.1-SNAPSHOT/geogig-datastore-1.1-SNAPSHOT-test-sources.jar [JENKINS] Archiving disabled Started calculate disk usage of build Finished Calculation of disk usage of build in 0 seconds Started calculate disk usage of workspace Finished Calculation of disk usage of workspace in 0 seconds [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Storage backends 1.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ storage --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ storage --- [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ storage --- [WARNING] JAR will be empty - no content was marked for inclusion! [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/target/storage-1.1-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ storage >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ storage --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ storage <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ storage --- [INFO] [INFO] >>> maven-source-plugin:2.2.1:test-jar (attach-sources) > generate-sources @ storage >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ storage --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.TestSourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:test-jar (attach-sources) < generate-sources @ storage <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:test-jar (attach-sources) @ storage --- [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ storage --- [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/storage/1.1-SNAPSHOT/storage-1.1-SNAPSHOT.pom [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/target/storage-1.1-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/storage/1.1-SNAPSHOT/storage-1.1-SNAPSHOT-tests.jar [JENKINS] Archiving disabled Started calculate disk usage of build Finished Calculation of disk usage of build in 0 seconds Started calculate disk usage of workspace Finished Calculation of disk usage of workspace in 0 seconds [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building RocksDB storage backend 1.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ geogig-rocksdb --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-rocksdb --- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ geogig-rocksdb --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 3 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ geogig-rocksdb --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 10 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/target/classes [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/src/main/java/org/locationtech/geogig/rocksdb/RocksdbObjectStore.java: Some input files use or override a deprecated API. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/src/main/java/org/locationtech/geogig/rocksdb/RocksdbObjectStore.java: Recompile with -Xlint:deprecation for details. [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ geogig-rocksdb --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/src/test/resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ geogig-rocksdb --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 10 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/target/test-classes [INFO] [INFO] --- maven-surefire-plugin:2.17:test (default-test) @ geogig-rocksdb --- [INFO] Surefire report directory: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/target/surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.locationtech.geogig.rocksdb.RocksdbBlobStoreTest Running org.locationtech.geogig.rocksdb.RocksdbIndexDatabaseConformanceTest Running org.locationtech.geogig.rocksdb.performance.RocksdbObjectStoreStressTest Running org.locationtech.geogig.rocksdb.RocksdbConflictsDatabaseConformanceTest Running org.locationtech.geogig.rocksdb.performance.RevTreeBuilderRocksObjectsPerformanceTest Running org.locationtech.geogig.rocksdb.RocksdbObjectStoreConformanceTest Running org.locationtech.geogig.rocksdb.RocksdbGraphDatabaseConformanceTest Running org.locationtech.geogig.rocksdb.RocksdbObjectDatabaseTest Running org.locationtech.geogig.rocksdb.RocksdbStorageProviderTest Running org.locationtech.geogig.rocksdb.DBOptionsTest [main] INFO org.locationtech.geogig.test.performance.EnablePerformanceTestRule - org.locationtech.geogig.rocksdb.performance.RocksdbObjectStoreStressTest ignored, run with -Dgeogig.runPerformanceTests=true to enable it. Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.254 sec - in org.locationtech.geogig.rocksdb.performance.RocksdbObjectStoreStressTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.191 sec - in org.locationtech.geogig.rocksdb.DBOptionsTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.238 sec - in org.locationtech.geogig.rocksdb.RocksdbStorageProviderTest [main] INFO org.locationtech.geogig.test.performance.EnablePerformanceTestRule - org.locationtech.geogig.rocksdb.performance.RevTreeBuilderRocksObjectsPerformanceTest ignored, run with -Dgeogig.runPerformanceTests=true to enable it. Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.355 sec - in org.locationtech.geogig.rocksdb.performance.RevTreeBuilderRocksObjectsPerformanceTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.543 sec - in org.locationtech.geogig.rocksdb.RocksdbBlobStoreTest Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.729 sec - in org.locationtech.geogig.rocksdb.RocksdbGraphDatabaseConformanceTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.774 sec - in org.locationtech.geogig.rocksdb.RocksdbObjectDatabaseTest Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.959 sec - in org.locationtech.geogig.rocksdb.RocksdbConflictsDatabaseConformanceTest Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.59 sec - in org.locationtech.geogig.rocksdb.RocksdbObjectStoreConformanceTest Tests run: 39, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.718 sec - in org.locationtech.geogig.rocksdb.RocksdbIndexDatabaseConformanceTest Results : Tests run: 110, Failures: 0, Errors: 0, Skipped: 0 [JENKINS] Recording test results [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ geogig-rocksdb --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/target/geogig-rocksdb-1.1-SNAPSHOT.jar [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ geogig-rocksdb --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/target/geogig-rocksdb-1.1-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ geogig-rocksdb >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-rocksdb --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ geogig-rocksdb <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ geogig-rocksdb --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/target/geogig-rocksdb-1.1-SNAPSHOT-sources.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:test-jar (attach-sources) > generate-sources @ geogig-rocksdb >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-rocksdb --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.TestSourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:test-jar (attach-sources) < generate-sources @ geogig-rocksdb <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:test-jar (attach-sources) @ geogig-rocksdb --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/target/geogig-rocksdb-1.1-SNAPSHOT-test-sources.jar [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ geogig-rocksdb --- [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/target/geogig-rocksdb-1.1-SNAPSHOT.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-rocksdb/1.1-SNAPSHOT/geogig-rocksdb-1.1-SNAPSHOT.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-rocksdb/1.1-SNAPSHOT/geogig-rocksdb-1.1-SNAPSHOT.pom [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/target/geogig-rocksdb-1.1-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-rocksdb/1.1-SNAPSHOT/geogig-rocksdb-1.1-SNAPSHOT-tests.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/target/geogig-rocksdb-1.1-SNAPSHOT-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-rocksdb/1.1-SNAPSHOT/geogig-rocksdb-1.1-SNAPSHOT-sources.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/rocksdb/target/geogig-rocksdb-1.1-SNAPSHOT-test-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-rocksdb/1.1-SNAPSHOT/geogig-rocksdb-1.1-SNAPSHOT-test-sources.jar [JENKINS] Archiving disabled Started calculate disk usage of build Finished Calculation of disk usage of build in 0 seconds Started calculate disk usage of workspace Finished Calculation of disk usage of workspace in 0 seconds [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building GeoGig Command Line Interface 1.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ geogig-cli --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/cli/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-cli --- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ geogig-cli --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 3 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ geogig-cli --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 72 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/cli/target/classes [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ geogig-cli --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 50 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ geogig-cli --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 13 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/cli/target/test-classes [INFO] [INFO] --- maven-surefire-plugin:2.17:test (default-test) @ geogig-cli --- [INFO] Surefire report directory: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/cli/target/surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.locationtech.geogig.cli.test.functional.RunPlumbingFunctionalTest Running org.locationtech.geogig.cli.test.functional.RunRemoteFunctionalTest Running org.locationtech.geogig.cli.test.functional.RunHooksFunctionalTest Running org.locationtech.geogig.cli.test.functional.RunPorcelainFunctionalTest Running org.locationtech.geogig.cli.test.functional.RunIndexFunctionalTest Running org.locationtech.geogig.cli.test.functional.RunGenralFunctionalTest Running org.locationtech.geogig.cli.test.ArgumentTokenizerTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.139 sec - in org.locationtech.geogig.cli.test.ArgumentTokenizerTest Feature: "clone" command In order to build on the work in an existing repository As a Geogig User I want to clone that repository to my local machine [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone without specifying a repository': Using URIBuilder DefaultTestRepoURIBuilder Feature: General features of CLI In order to use the CLI As a Geogig User I want to use some basic functionality Feature: "cat" command In order to know the content of a given element As a Geogig User I want to display its content [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Use command alias': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the content of a tree.': Using URIBuilder DefaultTestRepoURIBuilder Feature: "hooks" functionality In order to control how geogig commands are executed As a Geogig User I want to set hooks in my repo [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Set a pre-commit hook and perform a wrong commit': Using URIBuilder DefaultTestRepoURIBuilder Feature: Automatic index updating In order to keep an index up to date with the canonical tree As a Geogig User Whenever I make changes to a repository, the index should be automatically updated [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Committing a modified indexed feature updates the indexes': Using URIBuilder DefaultTestRepoURIBuilder Feature: "add" command In order to prepare for making a commit to the geogig repository As a Geogig User I want to stage my changes to the working tree [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a conflicted feature': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone into the current directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to clone without specifying a repository # Clone.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "clone" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "You must specify a repository to clone." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show command candidate when command is mistyped': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Use command alias # General.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "config alias.ci commit" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "ci -m message" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Merging updates the index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Committing a modified indexed feature updates the indexes # AutomaticIndexUpdating.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m noIndex" # DefaultStepDefinitions.I_run_the_command_X(String) And the response should contain "1 features added" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Updated index" # DefaultStepDefinitions.the_response_should_not_contain(String) When I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And I have staged "points1_modified" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m withIndex" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Updated index" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show command candidates when command is mistyped': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show command candidate when command is mistyped # General.feature:15 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "brunch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Did you mean this?" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Show command candidates when command is mistyped # General.feature:22 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "confit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Did you mean one of these?" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "config" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "commit" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Feature: "help" command In order to know how to use geogig As a Geogig User I want to see the description of a command [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show general help, containing only porcelain commands': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.hooks.Scripting - Running jvm script /opt/public/hipp/ramdisk/geogig/junit8778097207614764052/data/localrepo/.geogig/hooks/pre_commit.js [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the content of a feature.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the content of a tree. # Cat.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "cat HEAD:Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD:Points}" # DefaultStepDefinitions.checkResponseTextContains(String) Scenario: Show general help, containing only porcelain commands # Help.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "help" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "commit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "cat-object" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "ls-tree" # DefaultStepDefinitions.the_response_should_not_contain(String) 4 Scenarios (4 passed) 23 Steps (23 passed) 0m8.029s Tests run: 27, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.892 sec - in org.locationtech.geogig.cli.test.functional.RunGenralFunctionalTest [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Set a pre-commit hook and perform a valid commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Set a pre-commit hook and perform a wrong commit # Hooks.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I set up a hook # DefaultStepDefinitions.I_set_up_a_hook() When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() And the response should contain "Commit messages must have at least 5 letters" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone with too many parameters': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to clone into the current directory # Clone.feature:12 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone ${remoterepo} ." # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Cannot clone into your current working directory." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add features to the index': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone a remote repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to clone with too many parameters # Clone.feature:19 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "clone repository directory extra" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Too many arguments provided." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try to add a conflicted feature # Add.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() And I run the command "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "add Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1 features and 1 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with zero exit code # DefaultStepDefinitions.it_should_exit_with_zero_exit_code() When I run the command "conflicts" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No elements need merging" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Rebasing a branch generates indexes for each rebased commit': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the content of a feature that does not exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Merging updates the index # AutomaticIndexUpdating.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features added" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a specific feature type to the index': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.hooks.Scripting - Running jvm script /opt/public/hipp/ramdisk/geogig/junit3560427230739357823/data/localrepo/.geogig/hooks/pre_commit.js Scenario: Try to show the content of a feature. # Cat.feature:16 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "cat HEAD:Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1000" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "POINT (1 1)" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "StringProp1_1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) Scenario: Try to add features to the index # Add.feature:16 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features and 2 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Set a pre-commit hook and perform a valid commit # Hooks.feature:14 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I set up a hook # DefaultStepDefinitions.I_set_up_a_hook() When I run the command "commit -m LongerMessage " # DefaultStepDefinitions.I_run_the_command_X(String) Then it should exit with zero exit code # DefaultStepDefinitions.it_should_exit_with_zero_exit_code() And the response should not contain "Commit messages must have at least 5 letters" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "6 features added" # DefaultStepDefinitions.the_response_should_contain(String) 2 Scenarios (2 passed) 13 Steps (13 passed) 0m9.582s Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.483 sec - in org.locationtech.geogig.cli.test.functional.RunHooksFunctionalTest [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the content of a feature in the working tree.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the content of a feature that does not exist # Cat.feature:26 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "cat WORK_HEAD:Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() And the response should contain "refspec did not resolve to any object" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a using too many parameters': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a specific feature type to the index # Add.feature:24 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "add Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features and 1 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a specific feature to the index': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the content of HEAD.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a using too many parameters # Add.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "add Points Lines" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Only a single path is supported so far" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try to show the content of a feature in the working tree. # Cat.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() When I run the command "cat WORK_HEAD:Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1000" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "POINT (1 1)" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "StringProp1_1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|WORK_HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone a remote repository with blank spaces': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to clone a remote repository # Clone.feature:25 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone ${remoterepo} ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cloning into '${repoURI}'..." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Done." # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|master}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Cherry-picking a commit updates the index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Rebasing a branch generates indexes for each rebased commit # AutomaticIndexUpdating.feature:36 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "rebase master branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add an empty feature type': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a specific feature to the index # Add.feature:39 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "add Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1 features and 1 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add an empty feature type to an unclean index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add an empty feature type # Add.feature:47 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged an empty feature type # DefaultStepDefinitions.I_have_unstaged_an_empty_feature_type() When I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "0 features and 1 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try show the binary content of HEAD': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the content of HEAD. # Cat.feature:41 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "cat HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "COMMIT" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "JohnDoe@example.com" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "TestCommit" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add an empty feature type to an unclean index # Add.feature:53 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) And I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) And I have unstaged an empty feature type # DefaultStepDefinitions.I_have_unstaged_an_empty_feature_type() When I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1 features and 2 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Creating a branch updates the index': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add when no changes have been made': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Cherry-picking a commit updates the index # AutomaticIndexUpdating.feature:54 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "cherry-pick branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone a remote repository that does not exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add from an empty directory # Add.feature:61 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() #annotate with FileSystemReposOnly because other URI providers don't allow spaces @FileSystemReposOnly Scenario: Try to clone a remote repository with blank spaces # Clone.feature:42 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository with blank spaces # DefaultStepDefinitions.there_is_a_remote_repository_with_blank_spaces() When I run the command "clone "remote repo" localrepo" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cloning into 'localrepo'..." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Done." # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~2}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to make a shallow clone of a remote repository': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to just stage a modified feature with add update': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to clone a remote repository that does not exist # Clone.feature:56 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "clone nonexistentrepo ${localrepo}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "nonexistentrepo is not a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) And the repository at "${localrepo}" shall not exist # DefaultStepDefinitions.the_repository_at_shall_not_exist(String) commitHMO���zJ���|W9John DoeJohnDoe@example.com_&�E�$FJohn DoeJohnDoe@example.com_&�E�$F TestCommit Scenario: Try to add when no changes have been made # Add.feature:67 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No unstaged elements" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try show the binary content of HEAD # Cat.feature:50 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "cat --binary HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) Feature: "diff-tree" command In order to know changes made in a repository As a Geogig User I want to see the existing differences between trees [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Creating a branch updates the index # AutomaticIndexUpdating.feature:67 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~3" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) When I run the command "branch newBranch HEAD~3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the repository's "HEAD~3:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "newBranch:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) Feature: "index create" command In order to improve query performance on a feature tree As a Geogig User I want to create an index on an attribute of the feature tree [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to just stage a modified feature with add update # Add.feature:72 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have unstaged "points1_modified" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "add --update" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features and 1 trees staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "3 total" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "2 total" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "apply" command In order to apply changes stored in a patch file As a Geogig User I want to apply a patch to the repository [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Check if a correct patch can be applied': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, omitting index refspec': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index # DiffTree.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree WORK_HEAD STAGE_HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Check if a wrong patch can be applied': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone a remote repository with a branch specified': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Check if a correct patch can be applied # Apply.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply --check ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch can be applied" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to make a shallow clone of a remote repository # Clone.feature:62 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone --depth 2 ${remoterepo} ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cloning into '${repoURI}'..." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Done." # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|master~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|remoterepo|branch1}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with extra attributes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index # CreateIndex.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Size: 2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "HEAD~2:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "HEAD~3:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, omitting both refspecs': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Check if a patch can be applied twice': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, omitting index refspec # DiffTree.feature:14 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree WORK_HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain variable "{@ObjectId|localrepo|WORK_HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) Scenario: Check if a wrong patch can be applied # Apply.feature:13 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply --check ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch cannot be applied" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Apply a correct patch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Check if a patch can be applied twice # Apply.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "apply --check ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch can be applied" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with user-specified bounds': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a sparse clone of a remote repository with no branch specified': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff tree stats between working tree and index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index with extra attributes # CreateIndex.feature:26 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Size: 2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "HEAD~2:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "HEAD~3:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) Scenario: Show diff between working tree and index, omitting both refspecs # DiffTree.feature:23 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a featuregit # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) Scenario: Try to clone a remote repository with a branch specified # Clone.feature:77 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone -b branch1 ${remoterepo} ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cloning into '${repoURI}'..." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Done." # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Commit5" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|remoterepo|master}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|branch1~1}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to apply a wrong patch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Apply a correct patch # Apply.feature:29 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch applied succesfully" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with too few bounds parameters': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index with user-specified bounds # CreateIndex.feature:46 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --bounds -45,-45,45,45" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Size: 2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-45,-45,45,45" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "HEAD~2:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "HEAD~3:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff using too many commit refspecs': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to partially apply a wrong patch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff tree stats between working tree and index # DiffTree.feature:31 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree --tree-stats" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points 0 0 1" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to apply a wrong patch # Apply.feature:36 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Error: Patch cannot be applied" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone a remote repository that has already been cloned': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to do a sparse clone of a remote repository with no branch specified # Clone.feature:93 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone --filter someFilter ${remoterepo} ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Sparse Clone: You must explicitly specify a remote branch" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to apply an inexistent patch': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with invalid bounds parameters': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to partially apply a wrong patch # Apply.feature:46 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply --reject ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch applied only partially" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "0 changes were applied" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "1 changes were rejected" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try to create an index with too few bounds parameters # CreateIndex.feature:66 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --bounds -45,-45,45" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Invalid bbox parameter: '-45,-45,45'. Expected format: <minx,miny,maxx,maxy>" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff using a wrong refspec': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff using too many commit refspecs # DiffTree.feature:38 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree refspec1 refspec2 refspec3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Tree refspecs list is too long" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'List the content of a patch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to apply an inexistent patch # Apply.feature:57 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() When I run the command "apply ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch file cannot be found" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index on a nonexistent tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index with invalid bounds parameters # CreateIndex.feature:72 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --bounds -45,-45,45,A" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Invalid bbox parameter: '-45,-45,45,A'. Expected format: <minx,miny,maxx,maxy>" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to clone a remote repository with a single argument': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Apply a reversed patch that cannot be applied': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to clone a remote repository that has already been cloned # Clone.feature:99 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone ${remoterepo} ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "clone ${remoterepo} ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Destination repository already exists" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: List the content of a patch # Apply.feature:64 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply --summary ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, describing the modified element': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff using a wrong refspec # DiffTree.feature:46 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree wrong:refspec" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "wrong:refspec did not resolve to a tree" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Apply a path and then the reverse version of that patch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Apply a reversed patch that cannot be applied # Apply.feature:71 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1_modified" # DefaultStepDefinitions.I_have_unstaged(String) And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply --reverse ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Conflicting" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index on a nonexistent attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index on a nonexistent tree # CreateIndex.feature:78 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree 'nonexistent'" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Apply a path and then the reverse version of that patch # Apply.feature:79 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have 6 unstaged features # DefaultStepDefinitions.I_have_6_unstaged_features() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "apply ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "apply --reverse ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch applied succesfully" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "blame" command In order to know the history of a single feature As a Geogig User I want to see who edited each attribute of a feature [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with a valid path': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, with a change in the feature type': Using URIBuilder DefaultTestRepoURIBuilder [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Remote repository has no HEAD. java.lang.IllegalStateException: Remote repository has no HEAD. at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.remote.LocalRemoteRepo.headRef(LocalRemoteRepo.java:121) at org.locationtech.geogig.porcelain.FetchOp._call(FetchOp.java:290) at org.locationtech.geogig.porcelain.FetchOp._call(FetchOp.java:48) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.porcelain.CloneOp._call(CloneOp.java:163) at org.locationtech.geogig.porcelain.CloneOp._call(CloneOp.java:39) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.Clone.runInternal(Clone.java:164) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Scenario: Show diff between working tree and index, describing the modified element # DiffTree.feature:54 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree WORK_HEAD STAGE_HEAD --describe" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 10 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to clone a remote repository with a single argument # Clone.feature:106 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone fakeRepo" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Remote repository has no HEAD" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "fetch" command In order to get changes from a remote repository As a Geogig User I want to fetch new objects and branches to my local machine [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch from origin': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index on a non-geometry attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to fetch from an empty directory # Fetch.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "fetch origin" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try to create an index on a nonexistent attribute # CreateIndex.feature:84 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --attribute nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "property nonexistent does not exist" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with a valid path in porcelain mode': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to run blame with a valid path # Blame.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "blame Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 3 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, using a path filter': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, with a change in the feature type # DiffTree.feature:62 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I a featuretype is modified # DefaultStepDefinitions.I_modify_a_feature_type() When I run the command "diff-tree WORK_HEAD:Points STAGE_HEAD:Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 3 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|WORK_HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|STAGE_HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with the full history': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index on a non-geometry attribute # CreateIndex.feature:90 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --attribute sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "property sp is not a geometry attribute" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with the --no-values switch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to run blame with a valid path in porcelain mode # Blame.feature:12 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "blame --porcelain Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 3 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "1001" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch the full history for a shallow clone': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to fetch from origin # Fetch.feature:12 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() When I run the command "fetch origin" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/HEAD" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a diff with --describe and --tree-stats': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, using a path filter # DiffTree.feature:74 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree WORK_HEAD:Points STAGE_HEAD:Points --path Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain variable "{@ObjectId|localrepo|WORK_HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|STAGE_HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with a wrong path': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with the full history and extra attributes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to run blame with the --no-values switch # Blame.feature:19 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "blame --no-values Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 3 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should not contain "1001" # DefaultStepDefinitions.the_response_should_not_contain(String) Scenario: Try to create an index with the full history # CreateIndex.feature:96 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "index create --tree Points --index-history" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch2:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch2:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch1:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, describing a removed element': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a diff with --describe and --tree-stats # DiffTree.feature:85 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff-tree WORK_HEAD STAGE_HEAD --describe --tree-stats" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot use --describe and --tree-stats simultaneously" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with more than one path': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to run blame with a wrong path # Blame.feature:26 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "blame wrongpath" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The supplied path does not exist" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to deepen the history of a shallow clone': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to fetch the full history for a shallow clone # Fetch.feature:20 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone --depth 1 ${remoterepo} ${localrepo}" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) When I run the command "fetch --fulldepth" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|remoterepo|master}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|remoterepo|branch1}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index without specifying a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index with the full history and extra attributes # CreateIndex.feature:130 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "index create --tree Points --extra-attributes sp,ip --index-history" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch2:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch2:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch1:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch1:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) Scenario: Show diff between working tree and index, describing a removed element # DiffTree.feature:92 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I remove a feature # DefaultStepDefinitions.I_remove_a_feature() When I run the command "diff-tree WORK_HEAD STAGE_HEAD --describe" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 7 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) Feature: "apply" command In order to modify feature As a Geogig User I want to insert a feature according to a definition in a file [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Insert from a file': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with no arguments': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to run blame with more than one path # Blame.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "blame Point/Points.1 Points/Points.2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Only one path allowed" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a full history index on an empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index without specifying a tree # CreateIndex.feature:164 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Expected a value after parameter" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a full history index on a repository with a single commit': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to insert a feature passing a wrong file': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch from origin without specifying a remote': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Insert from a file # Insert.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I have an insert file # DefaultStepDefinitions.I_have_an_insert_file() When I run the command "insert -f ${currentdir}/insert" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1 features successfully inserted" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to create a full history index on an empty repository # CreateIndex.feature:170 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to run blame with a feature type': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to deepen the history of a shallow clone # Fetch.feature:36 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() When I run the command "clone --depth 1 ${remoterepo} ${localrepo}" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|remoterepo|master~1}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) When I run the command "fetch --depth 2" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|remoterepo|master~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|remoterepo|master~2}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) Scenario: Try to run blame with no arguments # Blame.feature:38 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "blame" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "A path must be specified" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index with an incorrect extra attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create a full history index on a repository with a single commit # CreateIndex.feature:175 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m "point1 added" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "index create --tree Points --index-history" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to insert a feature in a tree that does not exist in the repo': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to insert a feature passing a wrong file # Insert.feature:13 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I have an insert file # DefaultStepDefinitions.I_have_an_insert_file() When I run the command "insert -f wrong.file" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Insert file cannot be found" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to reset from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to run blame with a feature type # Blame.feature:44 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "blame Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The supplied path does not resolve to a feature" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to reset from an empty directory # Blame.feature:50 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "blame" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "branch" command In order to work separately from the main history As a Geogig User I want to be able to create, delete and list branches [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a branch while not in a repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to insert a feature in a tree that does not exist in the repo # Insert.feature:20 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I have an insert file # DefaultStepDefinitions.I_have_an_insert_file() When I run the command "insert -f ${currentdir}/insert" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The parent tree does not exist: Points" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "ls-tree" command In order to know what is in a repository As a Geogig User I want to list the feature in the working tree [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a list of features in the root tree recursively': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create an index on a tree with an empty extra-attribute param': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a branch while not in a repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index with an incorrect extra attribute # CreateIndex.feature:190 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes invalidAttrib" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "FeatureType Points does not define attribute" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to create a branch while not in a repository # Branch.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And I run the command "branch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch from an invalid remote': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list branches while not in a geogig repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to fetch from origin without specifying a remote # Fetch.feature:51 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() When I run the command "fetch" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/HEAD" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to delete a branch while not in a repository # Branch.feature:11 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And I run the command "branch --delete newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a list of features in the root tree recursively including trees': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a branch without having made any commits': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch from origin with pruning': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a list of features in the root tree recursively # LsTree.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "ls-tree -r" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "Lines/Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to list branches while not in a geogig repository # Branch.feature:17 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And I run the command "branch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try to fetch from an invalid remote # Fetch.feature:59 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "fetch origin" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Remote could not be resolved." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a branch with a non-existent start point': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create an index on a tree with an empty extra-attribute param # CreateIndex.feature:196 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Expected a value after parameter" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "index drop" command In order to remove an unnecessary index As a Geogig User I want to drop an index from the repository [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to drop an index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create a branch without having made any commits # Branch.feature:23 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I run the command "branch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "no commits yet, branch cannot be created." # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a list of features in the root tree non-recursively': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a list of features in the root tree recursively including trees # LsTree.feature:15 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "ls-tree -r -t -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "Lines/Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a verbose list of trees in the root tree non-recursively': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a branch off of master': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a list of features in the root tree non-recursively # LsTree.feature:25 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "ls-tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "tree" # DefaultStepDefinitions.the_response_should_not_contain(String) Then the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Points" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@PointsTypeID}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to drop a nonexistent index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create a branch with a non-existent start point # Branch.feature:29 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "branch newBranch nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "nonexistent does not resolve to a repository object" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to drop an index # DropIndex.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "index drop --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index successfully dropped." # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch a tag': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to fetch from origin with pruning # Fetch.feature:65 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() And I have a remote ref called "branch2" # DefaultStepDefinitions.i_have_a_remote_ref_called(String) When I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/branch2" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "fetch --prune" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "origin/branch2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "origin/HEAD" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a verbose list of features in the root tree recursively, not including children': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a verbose list of trees in the root tree non-recursively # LsTree.feature:38 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "ls-tree -t -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "tree" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points 1.0;2.0;1.0;2.0 2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines 1.0;2.0;1.0;2.0 1 0" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Lines/Lines.1" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout a branch as soon as it is created': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to drop the index without specifying a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create a branch off of master # Branch.feature:35 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "branch newBranch master" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Created branch refs/heads/newBranch" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to drop a nonexistent index # DropIndex.feature:23 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index drop --tree nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree 'nonexistent'" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a verbose list of features in a path': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a verbose list of features in the root tree recursively, not including children # LsTree.feature:50 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "ls-tree -d -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "tree" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Points 1.0" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines 1.0" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to fetch from unchanged remote': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a branch off of master while not on master': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a list of features using STAGE_HEAD as non-recursively, including trees': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to fetch a tag # Fetch.feature:77 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository with a tag named "example" # DefaultStepDefinitions.there_is_a_remote_repository_with_a_tag_named(String) When I run the command "clone ${remoterepo} ${localrepo}" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "tag" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "example" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to drop the index for a non-existent attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a verbose list of features in a path # LsTree.feature:61 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "ls-tree -v Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "tree" # DefaultStepDefinitions.the_response_should_not_contain(String) Then the response should contain "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@PointsTypeID}" # DefaultStepDefinitions.checkResponseTextContains(String) Scenario: Try to checkout a branch as soon as it is created # Branch.feature:41 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "branch -c newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "branch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "* newBranch" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to drop the index without specifying a tree # DropIndex.feature:29 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index drop" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The following option is required: --tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a list of trees using HEAD as origin, recursively': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a branch with the same name as an existing branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a list of features using STAGE_HEAD as non-recursively, including trees # LsTree.feature:71 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "ls-tree STAGE_HEAD -t -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "tree" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points 1.0;2.0;1.0;2.0 2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines 1.0;2.0;1.0;2.0 1 0" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) Scenario: Try to create a branch off of master while not on master # Branch.feature:48 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch -c newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit2" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "branch -c newestBranch master" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|master}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|newBranch}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] ERROR org.locationtech.geogig.cli.GeogigCLI - A matching index could not be found. java.lang.IllegalStateException: A matching index could not be found. at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.porcelain.index.DropIndexOp._call(DropIndexOp.java:62) at org.locationtech.geogig.porcelain.index.DropIndexOp._call(DropIndexOp.java:25) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.DropIndex.runInternal(DropIndex.java:47) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to drop an index in an empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to drop the index for a non-existent attribute # DropIndex.feature:37 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index drop --tree Points --attribute fakeAttrib" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "A matching index could not be found." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a verbose list of features using HEAD as origin, recursively': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to drop an index in an empty repository # DropIndex.feature:45 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "index drop --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree 'Points'" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "index list" command In order to see what indexes are available on the repository As a Geogig User I want to list all of the indexes [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list indexes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a list of trees using HEAD as origin, recursively # LsTree.feature:82 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "ls-tree HEAD -t" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "Lines" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) Scenario: Try to fetch from unchanged remote # Fetch.feature:84 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And there is a remote repository # DefaultStepDefinitions.there_is_a_remote_repository() And I run the command "clone ${remoterepo} ${localrepo}" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "fetch origin" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Already up to date" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "pull" command In order to integrate changes from a remote repository to my working branch As a Geogig User I want to pull all new commits from that repository [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to pull from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to pull from origin': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to pull from an empty directory # Pull.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "pull origin" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list local branches': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a list of features in a path, using HEAD as origin': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create a branch with the same name as an existing branch # Branch.feature:62 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "branch branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "A branch named 'branch1' already exists." # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Show a verbose list of features using HEAD as origin, recursively # LsTree.feature:93 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "ls-tree HEAD -r -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@PointsTypeID}" # DefaultStepDefinitions.checkResponseTextContains(String) Then the response should contain "Lines/Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@LinesTypeID}" # DefaultStepDefinitions.checkResponseTextContains(String) Then the response should not contain "tree" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain 3 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list indexes in a specific feature type tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list indexes # ListIndexes.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index create --tree Lines --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Lines" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "[sp]" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain index info ID for tree "Lines" # DefaultStepDefinitions.the_response_contains_indexInfoID(String) And the response should contain "Points" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "[ip]" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain index info ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexInfoID(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show a list from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a list of features in a path, using HEAD as origin # LsTree.feature:107 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "ls-tree HEAD:Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should not contain "Lines.1" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Run ls-tree on an empty repository': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list local branches with verbose option': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show a list from an empty directory # LsTree.feature:117 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "ls-tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try to list local branches # Branch.feature:69 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "branch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "* master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch2" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Run ls-tree on an empty repository # LsTree.feature:123 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "ls-tree -r" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) Feature: "merge-base" command In order to know the common parent of 2 commits As a Geogig User I want to see the common ancestor of 2 commits before a merge [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to view the common parent of 2 commits': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to pull from origin after first pull': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to pull from origin # Pull.feature:11 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() When I run the command "pull origin --rebase" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/HEAD" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|remoterepo|master~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain variable "{@ObjectId|remoterepo|branch1}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to list the indexes without specifying a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list indexes in a specific feature type tree # ListIndexes.feature:22 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index create --tree Lines --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index list --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Lines" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "[sp]" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Points" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "[ip]" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain index info ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexInfoID(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list remote branches only': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list local branches with verbose option # Branch.feature:77 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "branch -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "* master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to list the indexes, specifying a non-existent tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to list the indexes without specifying a tree # ListIndexes.feature:36 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index list --tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Expected a value after parameter --tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to view the common parent with too many arguments': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to view the common parent of 2 commits # MergeBase.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "merge-base HEAD HEAD~2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And it should exit with zero exit code # DefaultStepDefinitions.it_should_exit_with_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to pull a certain depth from origin': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to pull from origin after first pull # Pull.feature:28 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() When I run the command "pull origin" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "pull origin" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "master already up to date." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to list the indexes when there are none': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to list the indexes, specifying a non-existent tree # ListIndexes.feature:44 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index list --tree fakeTree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list all branches': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to view the parent using a bad left commit reference': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list remote branches only # Branch.feature:88 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() And I run the command "pull origin --rebase" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "branch -r" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/HEAD" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "* master" # DefaultStepDefinitions.the_response_should_not_contain(String) Scenario: I try to view the common parent with too many arguments # MergeBase.feature:14 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "merge-base commit1 commit2 commit3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Two commit references must be provided" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to list the indexes in an empty repository': Using URIBuilder DefaultTestRepoURIBuilder [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Depth operations can only be used on a shallow clone. org.locationtech.geogig.cli.CommandFailedException: Depth operations can only be used on a shallow clone. at org.locationtech.geogig.cli.porcelain.Pull.runInternal(Pull.java:81) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Scenario: Try to pull a certain depth from origin # Pull.feature:36 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() When I run the command "pull origin --depth 3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Depth operations can only be used on a shallow clone." # DefaultStepDefinitions.the_response_should_contain(String) Feature: "push" command In order to share my changes with a remote repository As a Geogig User I want to push my commits to that remote [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to push from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to list the indexes when there are none # ListIndexes.feature:52 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to push with no changes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to list the indexes in an empty repository # ListIndexes.feature:58 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "index list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "index rebuild" command In order to improve query performance on old commits As a Geogig User I want to build indexes on all commits in the history of a feature tree [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebuild an index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to push from an empty directory # Push.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "push origin" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to view the parent using a bad right commit reference': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to view the parent using a bad left commit reference # MergeBase.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "merge-base badCommit HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "badCommit does not resolve to any object" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list all branches # Branch.feature:97 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() And I run the command "pull origin --rebase" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "branch --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "origin/master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "origin/HEAD" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "* master" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebuild a nonexistent index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebuild an index # RebuildIndex.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "branch1:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) When I run the command "index rebuild --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 trees were rebuilt." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch2:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch2:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch1:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to push to origin': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to push with no changes # Push.feature:11 Given I clone a remote repository # DefaultStepDefinitions.i_clone_a_remote_repository() When I run the command "push" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Nothing to push." # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to view the parent using a bad right commit reference # MergeBase.feature:28 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "merge-base HEAD badCommit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "badCommit does not resolve to any object" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "rebuild-graph" command In order to fix a geogig repository As a Geogig User I want to rebuild the graph [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the graph': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a branch without specifying a name': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete a branch # Branch.feature:106 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "branch --delete branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Deleted branch 'branch1'." # DefaultStepDefinitions.the_response_should_contain(String) [main] ERROR org.locationtech.geogig.cli.GeogigCLI - A matching index could not be found. java.lang.IllegalStateException: A matching index could not be found. at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.plumbing.index.BuildFullHistoryIndexOp._call(BuildFullHistoryIndexOp.java:78) at org.locationtech.geogig.plumbing.index.BuildFullHistoryIndexOp._call(BuildFullHistoryIndexOp.java:40) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.RebuildIndex.runInternal(RebuildIndex.java:47) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I rebuild the index for an attribute on a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebuild a nonexistent index # RebuildIndex.feature:46 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "index rebuild --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "A matching index could not be found." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the graph with quiet argument': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to rebuild the graph # RebuildGraph.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And the repository has a truncated graph database # DefaultStepDefinitions.the_repository_has_a_truncated_graph_database() When I run the command "rebuild-graph" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The following graph elements (commits) were incomplete or missing and have been fixed:" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 4 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete multiple branches': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete a branch without specifying a name # Branch.feature:112 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "branch --delete" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "no name specified for deletion" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/master -> e5eacc8b9f3f40cdb80e46e36a04d51b9d71f578] to refs/remotes/origin/master(null) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to push a symbolic reference': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to push to origin # Push.feature:16 Given I clone a remote repository # DefaultStepDefinitions.i_clone_a_remote_repository() When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "commit -m Commit6" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Committed, counting objects" # DefaultStepDefinitions.the_response_should_contain(String) And I run the command "push" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Uploading objects to refs/heads/master" # DefaultStepDefinitions.the_response_should_start_with(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the index for a non-existent attribute on a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I rebuild the index for an attribute on a tree # RebuildIndex.feature:52 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() And I run the command "index create --tree Points --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "branch1:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) When I run the command "index rebuild --tree Points -a pp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 trees were rebuilt." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch2:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch2:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch1:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the graph when it is not broken': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to rebuild the graph with quiet argument # RebuildGraph.feature:14 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And the repository has a truncated graph database # DefaultStepDefinitions.the_repository_has_a_truncated_graph_database() When I run the command "rebuild-graph --quiet" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 graph elements (commits) were fixed." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete the branch you are on': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete multiple branches # Branch.feature:119 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "branch --delete branch1 branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Deleted branch 'branch1'" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Deleted branch 'branch2'" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "branch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "* master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "branch1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "branch2" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] ERROR org.locationtech.geogig.cli.GeogigCLI - A matching index could not be found. java.lang.IllegalStateException: A matching index could not be found. at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.plumbing.index.BuildFullHistoryIndexOp._call(BuildFullHistoryIndexOp.java:78) at org.locationtech.geogig.plumbing.index.BuildFullHistoryIndexOp._call(BuildFullHistoryIndexOp.java:40) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.RebuildIndex.runInternal(RebuildIndex.java:47) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the index for an attribute on a non-existent tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to rebuild the graph when it is not broken # RebuildGraph.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "rebuild-graph" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No missing or incomplete graph elements" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "rev-list" command In order to know the history of commits on a repository As a Geogig User I want to see a list of commits [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show only a range of commits.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to rebuild the index for a non-existent attribute on a tree # RebuildIndex.feature:92 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index rebuild --tree Points -a fakeAttrib" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "A matching index could not be found." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to push when the remote has changes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to push a symbolic reference # Push.feature:24 Given I clone a remote repository # DefaultStepDefinitions.i_clone_a_remote_repository() When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "commit -m Commit6" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Committed, counting objects" # DefaultStepDefinitions.the_response_should_contain(String) And I run the command "push origin HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Push failed: Cannot push to a symbolic reference" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rename a branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete the branch you are on # Branch.feature:130 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "checkout branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch --delete branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot delete the branch you are on" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a range of commits and provide additional commits.': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the index for a non-existent attribute and tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show only a range of commits. # RevList.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "rev-list HEAD~3..HEAD~1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain " Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to rebuild the index for an attribute on a non-existent tree # RebuildIndex.feature:100 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index rebuild --tree wrongTree -a pp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository with a single commit.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a range of commits and provide additional commits. # RevList.feature:15 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "rev-list HEAD~3..HEAD~1 HEAD~2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Only one value accepted when using <since>..<until> syntax" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rename a branch that you are on': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the index without specifying the tree param': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rename a branch # Branch.feature:138 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "branch --rename branch1 superAwesomeBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "renamed branch 'branch1' to 'superAwesomeBranch'" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "branch -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "* master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "superAwesomeBranch" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "branch1" # DefaultStepDefinitions.the_response_should_not_contain(String) Scenario: I try to rebuild the index for a non-existent attribute and tree # RebuildIndex.feature:108 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index rebuild --tree fakeTree -a fakeAttrib" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to push when the remote has changes # Push.feature:32 Given I clone a remote repository # DefaultStepDefinitions.i_clone_a_remote_repository() And the remote repository has changes # DefaultStepDefinitions.the_remote_repository_has_changes() And I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() When I run the command "commit -m modified" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1 changed" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "push" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Push failed: The remote repository has changes" # DefaultStepDefinitions.the_response_should_contain(String) 29 Scenarios (29 passed) 201 Steps (201 passed) 0m35.764s Tests run: 230, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 36.904 sec - in org.locationtech.geogig.cli.test.functional.RunRemoteFunctionalTest [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository with several commits.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository with a single commit. # RevList.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "rev-list HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "TestCommit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|master}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to rebuild the index on an empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to rebuild the index without specifying the tree param # RebuildIndex.feature:116 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index rebuild" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The following option is required: --tree" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to rebuild the index on an empty repository # RebuildIndex.feature:124 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "index rebuild --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "index update" command In order to modify the extra attributes stored on index trees As a Geogig User I want to update an index to change the extra attributes [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to update an index': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rename a branch that you are on to a name that already exists': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rename a branch that you are on # Branch.feature:149 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "checkout branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch --rename superAwesomeBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "renamed branch 'branch1' to 'superAwesomeBranch'" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "branch -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "* superAwesomeBranch" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "branch1" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of the commits that have changed the points feature': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository with several commits. # RevList.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "rev-list HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to update a nonexistent index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to update an index # UpdateIndex.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "index update --tree Points --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show only the last two commits.': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rename a branch without being in a repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of the commits that have changed the points feature # RevList.feature:41 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "rev-list HEAD --path Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|master~3}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) Scenario: Try to rename a branch that you are on to a name that already exists # Branch.feature:161 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "checkout branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch --rename branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot rename branch to 'branch2' because a branch by that name already exists" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "branch --rename --force branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "renamed branch 'branch1' to 'branch2'" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "branch -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "* branch2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "branch1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rename a branch without specifying a name': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rename a branch without being in a repository # Branch.feature:176 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "branch --rename branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to update an index with the full history': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to update a nonexistent index # UpdateIndex.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index update --tree nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree 'nonexistent'" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get commits list without starting commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show only the last two commits. # RevList.feature:51 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "rev-list HEAD -n 2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain " Commit1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|master~2}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rename a branch to the same name': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rename a branch without specifying a name # Branch.feature:181 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "branch --rename" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "You must specify a branch to rename." # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the log, skipping the last 2 commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get commits list without starting commit # RevList.feature:61 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "rev-list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No starting commit provided" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add attributes to an index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rename a branch to the same name # Branch.feature:188 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "branch --rename branch1 branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Done" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "checkout" command In order to view an alternate version of the data As a Geogig User I want to be able to checkout out branches [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Create a new branch and check it out': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the list of commits, with the changes introduced by each one': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to update an index with the full history # UpdateIndex.feature:38 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "index create --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch1:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) And the repository's "branch2:Points" should not have an index # DefaultStepDefinitions.noIndexAtCommit(String) When I run the command "index update --tree Points --extra-attributes sp --index-history" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "HEAD~1:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD~1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch2:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch2:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch2:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) And the repository's "branch1:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "branch1:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "branch1:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) Scenario: Try to show the log, skipping the last 2 commits # RevList.feature:68 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "rev-list HEAD --skip 2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|master~3}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|master}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to replace attributes of an index': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout something while not in a repository': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add attributes to an index # UpdateIndex.feature:82 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "index update --tree Points --extra-attributes sp --add" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) Scenario: Create a new branch and check it out # Checkout.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "branch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Created branch refs/heads/newBranch" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "checkout newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "# On branch newBranch" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to show the list of commits, with the changes introduced by each one # RevList.feature:79 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "rev-list HEAD --changed" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout without specifying a path': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log from an empty directory # RevList.feature:91 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "rev-list HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Feature: "rev-parse" command As a Geogig User I want to determine if I am in a repository [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to print out the repository location"': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to update the bounds of an index': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to checkout something while not in a repository # Checkout.feature:15 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "checkout noBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout multiple things at once': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to replace attributes of an index # UpdateIndex.feature:108 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "index update --tree Points --extra-attributes sp --overwrite" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I check if I am in a repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to checkout without specifying a path # Checkout.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "checkout" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "no branch or paths specified" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to update the bounds of an index with incorrect bounds parameter': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to print out the repository location" # RevParse.feature:5 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "rev-parse --resolve-geogig-uri" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "localrepo" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout a branch that doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to update the bounds of an index # UpdateIndex.feature:134 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes sp --bounds -45,-45,45,45" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-45,-45,45,45" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "index update --tree Points --bounds -20,-45,20,45" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-20,-45,20,45" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to check if I'm in a repository when in an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to checkout multiple things at once # Checkout.feature:27 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "branch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch noBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "checkout noBranch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "too many arguments" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: I check if I am in a repository # RevParse.feature:10 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "rev-parse --is-inside-work-tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "true" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to print the repository location when in an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to make a change but don't commit and then checkout a different branch without forcing': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to check if I'm in a repository when in an empty directory # RevParse.feature:15 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "rev-parse --is-inside-work-tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to checkout a branch that doesn't exist # Checkout.feature:35 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "checkout noBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "'noBranch' not found in repository" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to use a refspec with another argument': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to print the repository location when in an empty directory # RevParse.feature:20 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "rev-parse --resolve-geogig-uri" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to change existing attributes without specifying add or overwrite': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to update the bounds of an index with incorrect bounds parameter # UpdateIndex.feature:160 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes sp --bounds -45,-45,45,45" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the repository's "HEAD:Points" index bounds should be "-45,-45,45,45" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) When I run the command "index update --tree Points --bounds -20,-45,20" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Invalid bbox parameter: '-20,-45,20'. Expected format: <minx,miny,maxx,maxy>" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to make a change but don't commit and then checkout a different branch with forcing': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to make a change but don't commit and then checkout a different branch without forcing # Checkout.feature:41 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Commit1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Created branch refs/heads/newBranch" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "checkout newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I run the command "checkout master" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Working tree and index are not clean. To overwrite local changes, use the --force option" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to use a refspec with a bad ref': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to use a refspec with another argument # RevParse.feature:25 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "rev-parse STAGE_HEAD/Points.1 --is-inside-work-tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "if refSpec is given" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to make a change to a feature and revert back to an old version using path filtering': Using URIBuilder DefaultTestRepoURIBuilder [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Extra attributes already exist on index, specify add or overwrite to update. java.lang.IllegalStateException: Extra attributes already exist on index, specify add or overwrite to update. at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:178) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:41) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.UpdateIndex.runInternal(UpdateIndex.java:77) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Scenario: Try to make a change but don't commit and then checkout a different branch with forcing # Checkout.feature:53 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Commit1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Created branch refs/heads/newBranch" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "checkout newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I run the command "checkout -f master" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "# Changes not staged for commit:" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "# On branch master" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index without specifying a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to change existing attributes without specifying add or overwrite # UpdateIndex.feature:176 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Extra attributes already exist on index, specify add or overwrite to update." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get rid of changes that I have made with path filtering with multiple paths': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to make a change to a feature and revert back to an old version using path filtering # Checkout.feature:66 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Commit1" # DefaultStepDefinitions.I_run_the_command_X(String) And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() And I run the command "checkout -p Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "nothing to commit" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to resolve the geogig uri when not in a repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to use a refspec with a bad ref # RevParse.feature:31 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "rev-parse bad_ref" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "fatal: ambiguous argument" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to resolve the geogig uri when not in a repository # RevParse.feature:37 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "rev-parse" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "show-ref" command In order to know the branches in a geogig repository As a Geogig User I want list all references [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'List all references': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index for a non-existent attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index without specifying a tree # UpdateIndex.feature:184 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --extra-attributes sp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The following option is required: --tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to bring a feature from a different branch into this branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get rid of changes that I have made with path filtering with multiple paths # Checkout.feature:75 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Commit1" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit2" # DefaultStepDefinitions.I_run_the_command_X(String) And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() And I have unstaged "lines2" # DefaultStepDefinitions.I_have_unstaged(String) And I run the command "checkout -p Lines Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "nothing to commit" # DefaultStepDefinitions.the_response_should_contain(String) [main] ERROR org.locationtech.geogig.cli.GeogigCLI - A matching index could not be found. java.lang.IllegalStateException: A matching index could not be found. at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:150) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:41) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.UpdateIndex.runInternal(UpdateIndex.java:77) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index leaving the extra-attribute param empty': Using URIBuilder DefaultTestRepoURIBuilder Scenario: List all references # ShowRef.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "show-ref" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 3 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "master" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "branch2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|master}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|branch2}" # DefaultStepDefinitions.checkResponseTextContains(String) Feature: "verify-patch" command In order to ensure I have a valid patch As a Geogig User I want to verify the patch [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to verify a patch without specifying a file': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index for a non-existent attribute # UpdateIndex.feature:192 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --attribute fakeAttrib" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "A matching index could not be found." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to verify multiple files': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert using both --ours and --theirs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to verify a patch without specifying a file # VerifyPatch.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "verify-patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No patch file specified" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to bring a feature from a different branch into this branch # Checkout.feature:87 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Commit1" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit2" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "points3" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit3" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "branch -c newBranch" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit4" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "lines2" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit5" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "lines3" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Commit6" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "checkout master" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "checkout newBranch -p Lines/Lines.1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Lines/Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "added" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "# Changes not staged for commit:" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to verify a patch with a bad file path': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to verify multiple files # VerifyPatch.feature:11 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "verify-patch file1 file2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Only one single patch file accepted" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert a feature where the version you want doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index for a non-existent extra-attribute': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I have a patch file that contains rejects': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert using both --ours and --theirs # Checkout.feature:109 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "checkout -p Points/Points.1 --ours --theirs" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot use both --ours and --theirs" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: I try to update the index leaving the extra-attribute param empty # UpdateIndex.feature:200 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --extra-attributes" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Expected a value after parameter --extra-attributes" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to verify a patch with a bad file path # VerifyPatch.feature:16 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "verify-patch file1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch file cannot be found" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I have a patch file that is valid': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert an unmerged feature': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I have a patch file that contains rejects # VerifyPatch.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "verify-patch ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch cannot be applied" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 10 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) Scenario: Try to revert a feature where the version you want doesn't exist # Checkout.feature:115 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) When I modify a feature # DefaultStepDefinitions.I_modify_a_feature() And I run the command "checkout -p Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "'Points/Points.1' didn't match a feature in the tree" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to overwrite a non-existent extra-attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index for a non-existent extra-attribute # UpdateIndex.feature:208 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --extra-attributes fakeAttrib" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "FeatureType Points does not define attribute 'fakeAttrib'" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I have a patch file that is valid # VerifyPatch.feature:28 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I have a patch file # DefaultStepDefinitions.I_have_a_patch_file() When I run the command "verify-patch ${currentdir}/test.patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch can be applied" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "walk-graph" command In order to walk through objects in the history tree As a Geogig User I want to see the object information of each object in the tree [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to walk the graph with no arguments': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert a feature to the --theirs version and fix the conflict': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index for the full history when there is only one commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert an unmerged feature # Checkout.feature:123 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have a merge conflict state # DefaultStepDefinitions.I_have_a_merge_conflict_state() When I run the command "checkout -p Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "path Points/Points.1 is unmerged" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: I try to overwrite a non-existent extra-attribute # UpdateIndex.feature:216 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --extra-attributes fakeAttrib --overwrite" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "FeatureType Points does not define attribute 'fakeAttrib'" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to walk the graph with bad arguments': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to walk the graph with no arguments # WalkGraph.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "walk-graph" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Reference not provided" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index without updating anything': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index for the full history when there is only one commit # UpdateIndex.feature:224 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m "point1 added" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --index-history --overwrite" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index updated successfully" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Size: 1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain the index ID for tree "Points" # DefaultStepDefinitions.the_response_contains_indexID(String) And the repository's "HEAD:Points" index bounds should be "-90,-180,90,180" # DefaultStepDefinitions.verifyIndexBounds(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "sp" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should not track the extra attribute "ip" # DefaultStepDefinitions.verifyIndexNotExtraAttributes(String,String) And the repository's "HEAD:Points" index should have the following features: # DefaultStepDefinitions.verifyIndexContents(String,DataTable) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to walk the graph': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to walk the graph with bad arguments # WalkGraph.feature:12 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "walk-graph garbage" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't resolve reference" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout a remote branch': Using URIBuilder DefaultTestRepoURIBuilder [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Nothing to update... java.lang.IllegalStateException: Nothing to update... at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:200) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:41) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.UpdateIndex.runInternal(UpdateIndex.java:77) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Scenario: Try to revert a feature to the --theirs version and fix the conflict # Checkout.feature:130 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have a merge conflict state # DefaultStepDefinitions.I_have_a_merge_conflict_state() When I run the command "checkout -p Points/Points.1 --theirs" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "commit -m Commit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Committed" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index with the same extra attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index without updating anything # UpdateIndex.feature:241 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Nothing to update..." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to walk the graph with verbose enabled': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to walk the graph # WalkGraph.feature:18 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "walk-graph master" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "TREE" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "FEATURETYPE" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "FEATURE" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Points" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain 12 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Nothing to update... java.lang.IllegalStateException: Nothing to update... at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:200) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:41) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.UpdateIndex.runInternal(UpdateIndex.java:77) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index by adding the same extra attribute': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index with the same extra attribute # UpdateIndex.feature:249 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --extra-attributes ip --overwrite" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Nothing to update..." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to checkout a specific commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to walk the graph with verbose enabled # WalkGraph.feature:28 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "walk-graph -v master" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "TREE" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "FEATURETYPE" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "FEATURE" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 12 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) Scenario: Try to checkout a remote branch # Checkout.feature:138 Given I have a repository with a remote # DefaultStepDefinitions.I_have_a_repository_with_a_remote() 66 When I run the command "pull origin" # DefaultStepDefinitions.I_run_the_command_X(String) Scenarios ( And I run the command "checkout branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Branch 'branch1' was set up to track remote branch 'branch1' from origin" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Switched to a new branch 'branch1'" # DefaultStepDefinitions.the_response_should_contain(String) 66 passed) 408 Steps (408 passed) 0m49.129s Tests run: 474, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 50.405 sec - in org.locationtech.geogig.cli.test.functional.RunPlumbingFunctionalTest [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Nothing to update... java.lang.IllegalStateException: Nothing to update... at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:200) at org.locationtech.geogig.porcelain.index.UpdateIndexOp._call(UpdateIndexOp.java:41) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.cli.porcelain.index.UpdateIndex.runInternal(UpdateIndex.java:77) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions.I_run_the_command_X(DefaultStepDefinitions.java:214) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to update the index in an empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to update the index by adding the same extra attribute # UpdateIndex.feature:257 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "index create --tree Points --extra-attributes sp,ip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Index created successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "index update --tree Points --extra-attributes ip --add" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Nothing to update..." # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to update the index in an empty repository # UpdateIndex.feature:265 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "index update --tree Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Can't find feature tree 'Points'" # DefaultStepDefinitions.the_response_should_contain(String) 57 Scenarios (57 passed) 496 Steps (496 passed) 0m49.380s Tests run: 553, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 50.86 sec - in org.locationtech.geogig.cli.test.functional.RunIndexFunctionalTest Scenario: Try to checkout a specific commit # Checkout.feature:145 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I create a detached branch # DefaultStepDefinitions.I_create_a_detached_branch() Then the response should contain "You are in 'detached HEAD' state" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "cherry-pick" command In order to select specific changes to bring to the current branch As a Geogig User I want to cherry pick several commits from other branches [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to cherry pick several commits': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to cherry pick a single commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to cherry pick several commits # CherryPick.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "cherry-pick branch1 branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Too many commits specified." # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to cherry pick a nonexistent branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to cherry pick a single commit # CherryPick.feature:13 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "cherry-pick branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~2}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to cherry pick without specifying any commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to cherry pick a nonexistent branch # CherryPick.feature:27 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "cherry-pick nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit not found" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to cherry pick from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to cherry pick without specifying any commits # CherryPick.feature:34 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "cherry-pick" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "No commits specified." # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to cherry pick a commit that causes conflict': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to cherry pick from an empty directory # CherryPick.feature:40 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "cherry-pick branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try to cherry pick a commit that causes conflict # CherryPick.feature:46 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() When I run the command "cherry-pick branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "CONFLICT: conflict in Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Feature: "clean" command In order to remove unwanted changes As a Geogig User I want to remove all untracked features [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove all the untracked features': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove all the untracked features in a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove all the untracked features # Clean.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "clean" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove all the untracked features in a tree that does not exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove all the untracked features in a tree # Clean.feature:15 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "clean Points" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Removing Points/Points.1" # DefaultStepDefinitions.the_response_should_not_contain(String) Then the response should contain "Lines/Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove all the untracked features in a path that is not a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove all the untracked features in a tree that does not exist # Clean.feature:25 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "clean fakeTree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "did not match any tree" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to know which untracked features would be removed in a non-existent tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove all the untracked features in a path that is not a tree # Clean.feature:34 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "clean Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "did not resolve to a tree" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to know which untracked features would be removed': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to know which untracked features would be removed in a non-existent tree # Clean.feature:43 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "clean -n fake/tree" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "pathspec 'fake/tree' did not match any tree" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to know which untracked features would be removed # Clean.feature:51 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "clean -n" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Would remove Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "commit" command In order to finalize a set of changes that have been staged As a Geogig User I want to create a commit and add it to the repository [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit with timestamp': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit with timestamp in millisecs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit with timestamp # Commit.feature:7 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -t 2010-04-22T19:53:23Z -m msg" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "log --utc" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2010-04-22" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit current staged features': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit with timestamp in millisecs # Commit.feature:15 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -t 1000000000 -m msg" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1970-01" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit current staged features using a message with blank spaces': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit current staged features # Commit.feature:23 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to perform multiple commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit current staged features using a message with blank spaces # Commit.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m "A message with spaces"" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "A message with spaces" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit without providing a message': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to perform multiple commits # Commit.feature:42 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "commit -m Test2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "1 changed" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit using a previous commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit without providing a message # Commit.feature:54 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "No commit message provided" # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit using a previous commit # Commit.feature:63 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -c HEAD~1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "No commit message provided" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit when no changes have been made': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit from an empty directory # Commit.feature:70 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit when there is a merge conflict': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit when no changes have been made # Commit.feature:76 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Nothing to commit" # DefaultStepDefinitions.the_response_should_start_with(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to amend last commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit when there is a merge conflict # Commit.feature:82 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have a merge conflict state # DefaultStepDefinitions.I_have_a_merge_conflict_state() When I run the command "commit -m Message" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot run operation while merge or rebase conflicts exist" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to amend last commit, when no previous commit has been made': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to amend last commit # Commit.feature:89 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit --amend" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features added" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit without message while solving a merge conflict': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to amend last commit, when no previous commit has been made # Commit.feature:99 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit --amend" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot amend" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to commit only points': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to commit without message while solving a merge conflict # Commit.feature:105 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have a merge conflict state # DefaultStepDefinitions.I_have_a_merge_conflict_state() When I run the command "checkout -p Points/Points.1 --theirs" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "commit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Merge branch refs/heads/branch1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Conflicts:" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to commit only points # Commit.feature:115 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) And I have staged "lines2" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features added" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) Feature: "config" command In order to configure geogig As a Geogig User I want to get and set global settings as well as repository settings on a directory of my choice [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to set a config value in the current empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get a local config value in the current empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to set a config value in the current empty directory # Config.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "config testing.key value" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "The config location is invalid" # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list local variables in the current empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get a local config value in the current empty directory # Config.feature:12 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "config --get --local testing.key" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "the config location is invalid" # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get a config value in the current empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list local variables in the current empty directory # Config.feature:18 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "config --list --local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "the config location is invalid" # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to set and get a global config value in the current empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get a config value in the current empty directory # Config.feature:24 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "config --get testing.key" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to set and get a config value in the current repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to set and get a global config value in the current empty directory # Config.feature:29 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "config --global testing.global true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global --get testing.global" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "true" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to set and get a multi-word config value in the current repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to set and get a config value in the current repository # Config.feature:35 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "true" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --local --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "true" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get a config value that doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to set and get a multi-word config value in the current repository # Config.feature:43 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config testing.local test word" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "test word" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --local --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "test word" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get a config value without specifying key': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get a config value that doesn't exist # Config.feature:51 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global --get doesnt.exist" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --get doesnt.exist" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --local --get doesnt.exist" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get a config value using malformed key': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get a config value without specifying key # Config.feature:60 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global --get" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "No section or name was provided" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --get" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "No section or name was provided" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --local --get" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "No section or name was provided" # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get a config value using the alternate syntax': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get a config value using malformed key # Config.feature:70 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global --get test" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "The section or key is invalid" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --get test" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "The section or key is invalid" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --local --get test" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "The section or key is invalid" # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to set, unset, and get a config value in the current repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get a config value using the alternate syntax # Config.feature:80 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global section.key value1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global section.key" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "value1" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config section.key value2" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config section.key" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "value2" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --local section.key" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "value2" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to set, unset, and get a config value globally': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to set, unset, and get a config value in the current repository # Config.feature:91 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --unset testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --unset testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --local --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to unset a config value that doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to set, unset, and get a config value globally # Config.feature:102 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global --unset testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to unset and get in the same config command': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to unset a config value that doesn't exist # Config.feature:109 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global --unset testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --unset testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --local --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --unset testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Remove a section from the current repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to unset and get in the same config command # Config.feature:121 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --unset --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Tried to use more than one action at a time" # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Remove a section globally': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Remove a section from the current repository # Config.feature:127 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config testing.local2 false" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --remove-section testing" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --get testing.local2" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove a section that doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Remove a section globally # Config.feature:137 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --global testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global testing.local2 false" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global --remove-section testing" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --global --get testing.local" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --global --get testing.local2" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Add 2 config values and list them': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove a section that doesn't exist # Config.feature:147 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --remove-section somerandomsection" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Could not find a section with the name provided" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "config --global --remove-section somerandomsection" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Could not find a section with the name provided" # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Specify root URI and set a global config option': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Add 2 config values and list them # Config.feature:155 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config testing.local2 false" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "testing.local=true" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "testing.local2=false" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "config testing.local3 true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config testing.local4 false" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --list --local" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "testing.local=true" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "testing.local2=false" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "testing.local3=true" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "testing.local4=false" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a local config value when using a root URI': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Specify root URI and set a global config option # Config.feature:170 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --rootUri ${rootRepoURI} --global testing.global true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config --rootUri ${rootRepoURI} --list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "testing.global=true" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "testing.local=true" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to use both global and local in the same config command': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a local config value when using a root URI # Config.feature:178 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --rootUri ${rootRepoURI} testing.local true" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "The config location is invalid" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to use the config command with no arguments': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to use both global and local in the same config command # Config.feature:183 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config --local --global" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Usage:" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to use the config command with no arguments # Config.feature:188 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "config" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Usage:" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "conflicts" command In order to know which features are conflicted As a Geogig User I want to get a list of conflicted elements [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list conflicts': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list conflicts showing diffs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list conflicts # Conflicts.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() When I run the command "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "conflicts" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Ancestor" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Ours" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "Theirs" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list conflicts showing only ids': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list conflicts showing diffs # Conflicts.feature:15 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() When I run the command "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "conflicts --diff" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "StringProp1_1 -> StringProp1_2" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list conflicts showing only ids and diffs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list conflicts showing only ids # Conflicts.feature:22 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() When I run the command "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "conflicts --ids-only" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list conflicts when no conflicts exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list conflicts showing only ids and diffs # Conflicts.feature:29 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() When I run the command "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "conflicts --ids-only --diff" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot use --diff and --ids-only at the same time" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list conflicts showing only refspec': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to list conflicts when no conflicts exist # Conflicts.feature:36 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "conflicts" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No elements need merging" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to list conflicts showing only refspec # Conflicts.feature:42 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() When I run the command "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "conflicts --refspecs-only" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "diff" command In order to know changes made in a repository As a Geogig User I want to see the existing differences between commits [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, showing only summary': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index # Diff.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "[1.0,1.0] (1.0,2.0)" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "1000" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "1001" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "StringProp1_1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "StringProp1_1a" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, when no changes have been made': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, showing only summary # Diff.feature:18 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff --summary" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, for a single modified tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, when no changes have been made # Diff.feature:25 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "diff" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No differences found" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, for a single unmodified tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, for a single modified tree # Diff.feature:31 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff --path Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "[1.0,1.0] (1.0,2.0)" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "1000" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff using too many commit refspecs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, for a single unmodified tree # Diff.feature:40 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff --path Lines" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No differences found" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff using a wrong commit refspec': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff using too many commit refspecs # Diff.feature:47 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff commit1 commit2 commit3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit list is too long" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, for a single modified tree, showing only summary': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff using a wrong commit refspec # Diff.feature:55 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff wrongcommit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Refspec wrongcommit does not resolve to a tree" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index, for a single feature whose feature type has changed': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, for a single modified tree, showing only summary # Diff.feature:63 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "diff --path Points --summary" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "POINT (1 1)" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "1000" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index with bounds': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index, for a single feature whose feature type has changed # Diff.feature:72 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I a featuretype is modified # DefaultStepDefinitions.I_modify_a_feature_type() When I run the command "diff --path Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "extra: [MISSING] -> " # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "ExtraString" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index with bounds': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index with bounds # Diff.feature:80 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "diff --bounds --crs EPSG:2163" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "right: 1.000000,1.000000,6.000000,6.000000" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "both: 1.000000,1.000000,6.000000,6.000000" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "CRS: EPSG:2163" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Show diff between working tree and index with the count argument': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Show diff between working tree and index with bounds # Diff.feature:88 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "diff --bounds --crs EPSG:71738191" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Unrecognized CRS: 'EPSG:71738191'" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Show diff between working tree and index with the count argument # Diff.feature:94 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "diff --count" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Features: added 6" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "format-patch" command In order to share a diff As a Geogig User I want to create a patch file [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to create a patch file': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to create a patch without specifying the file': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to create a patch file # FormatPatch.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "format-patch -f ${currentdir}/some_file" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should exit with zero exit code # DefaultStepDefinitions.it_should_exit_with_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to create a patch when there are no changes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to create a patch without specifying the file # FormatPatch.feature:13 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "format-patch" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Patch file not specified" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to create a patch with too many commit arguments': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to create a patch when there are no changes # FormatPatch.feature:20 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "format-patch -f ${currentdir}/some_file" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No differences found" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to create a patch between working tree and index, for a single modified tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to create a patch with too many commit arguments # FormatPatch.feature:26 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "format-patch commit1 commit2 commit3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit list is too long" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to create a patch between working tree and index, for a single modified tree # FormatPatch.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "format-patch --path Points -f ${currentdir}/some_file" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should exit with zero exit code # DefaultStepDefinitions.it_should_exit_with_zero_exit_code() Feature: "init" command In order to start versioning my spatial datasets As a repository Owner I want to create a new repository on a directory of my choice [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Create repository in the current empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Create repository specifying initial configuration': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Create repository in the current empty directory # Init.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "init" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Initialized empty Geogig repository in ${currentdir}/.geogig" # DefaultStepDefinitions.it_should_answer_exactly(String) And the repository shall exist # DefaultStepDefinitions.the_repository_shall_exist() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Create repository specifying the target directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Create repository specifying initial configuration # Init.feature:12 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "init --config foo.bar=baz" # DefaultStepDefinitions.I_run_the_command_X(String) Then the repository shall exist # DefaultStepDefinitions.the_repository_shall_exist() When I run the command "config foo.bar" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "baz" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to init a repository when already inside a repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Create repository specifying the target directory # Init.feature:19 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "init roads" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Initialized empty Geogig repository in ${currentdir}/roads/.geogig" # DefaultStepDefinitions.it_should_answer_exactly(String) And if I change to the respository subdirectory "roads" # DefaultStepDefinitions.if_I_change_to_the_respository_subdirectory(String) Then the repository shall exist # DefaultStepDefinitions.the_repository_shall_exist() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to init a repository from inside a repository subdirectory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to init a repository when already inside a repository # Init.feature:26 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "init" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Reinitialized existing Geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) And the repository shall exist # DefaultStepDefinitions.the_repository_shall_exist() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Init specifying repo URI': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to init a repository from inside a repository subdirectory # Init.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I am inside a repository subdirectory "topp/shapes" # DefaultStepDefinitions.I_am_inside_a_repository_subdirectory(String) When I run the command "init" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Reinitialized existing Geogig repository in" # DefaultStepDefinitions.the_response_should_start_with(String) And the repository shall exist # DefaultStepDefinitions.the_repository_shall_exist() Scenario: Init specifying repo URI # Init.feature:39 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "init ${repoURI}" # DefaultStepDefinitions.I_run_the_command_X(String) Then the repository at "${repoURI}" shall exist # DefaultStepDefinitions.the_repository_at_shall_exist(String) Feature: "log" command In order to know the history of commits on a repository As a Geogig User I want to log them to the console [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a empty repository': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository with a single commit.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a empty repository # Log.feature:5 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No commits to show" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository with several commits.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository with a single commit. # Log.feature:10 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Subject: TestCommit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of the commits that have changed the points feature': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository with several commits. # Log.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Subject: Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~3}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of the commits that have changed the lines feature': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of the commits that have changed the points feature # Log.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "log --path Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Subject: Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~3}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of the commits that have changed the points and lines features': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of the commits that have changed the lines feature # Log.feature:42 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "log --path Lines" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~2}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show only the last two commits.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of the commits that have changed the points and lines features # Log.feature:51 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "log --path Points Lines" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Subject: Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~3}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the log, skipping the last 2 commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show only the last two commits. # Log.feature:62 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "log -n 2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Subject: Commit1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|HEAD~2}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Subject: Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the last 2 commits before the most recent': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the log, skipping the last 2 commits # Log.feature:73 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "log --skip 2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Subject: Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Subject: Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Subject: Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~3}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain variable "{ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the last 2 commits before the most recent # Log.feature:84 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "log -n 2 --skip 1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Subject: Commit1" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|HEAD~3}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~2}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain "Subject: Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Subject: Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of all branches': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log from an empty directory # Log.feature:97 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a single branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of all branches # Log.feature:103 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "log --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|branch2}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of all branches specifying the 'until' commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a single branch # Log.feature:116 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "log --branch branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit5" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of all branches with decoration': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of all branches specifying the 'until' commit # Log.feature:127 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "log --all HEAD..HEAD~1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot specify 'until' commit when listing all branches" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository with a single commit.': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of all branches with decoration # Log.feature:134 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "log --all --decoration" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|branch2}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|master}" # DefaultStepDefinitions.checkResponseTextContains(String) Then the response should contain "HEAD" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "master" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository with a single commit and decoration': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository with a single commit. # Log.feature:149 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log --oneline" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "TestCommit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository showing only names of affected elements': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository with a single commit and decoration # Log.feature:161 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log --oneline --decoration" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 1 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "(HEAD, refs/heads/master) TestCommit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository showing full descriptions of affected elements': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository showing only names of affected elements # Log.feature:173 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points3" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "log --names-only" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 13 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "Points.2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository showing stats of affected elements': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository showing full descriptions of affected elements # Log.feature:187 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points3" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "log --summary" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 24 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository showing a specific author': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository showing stats of affected elements # Log.feature:198 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "log --stats" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain 23 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository showing a specific comitter': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository showing a specific author # Log.feature:205 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have a local committer # DefaultStepDefinitions.I_have_a_local_committer() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "log --author "Jane Doe"" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "JaneDoe@example.com" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository since yesterday': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository showing a specific comitter # Log.feature:212 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have a local committer # DefaultStepDefinitions.I_have_a_local_committer() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "log --committer "Jane Doe"" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "JaneDoe@example.com" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of a repository until now': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository since yesterday # Log.feature:219 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "log --since yesterday" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 19 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show a log of all branches specifying an until date': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show a log of a repository until now # Log.feature:225 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "log --until "0.seconds.ago"" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 19 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) Scenario: Try to show a log of all branches specifying an until date # Log.feature:231 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "log --all --until today" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot specify 'until' commit when listing all branches" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "ls" command In order to explore the contents of a tree As a Geogig User I want to display information about it [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to list contents in an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to list and empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to list contents in an empty directory # Ls.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "ls" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to list and repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to list and empty repository # Ls.feature:11 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "ls" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The working tree is empty" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to show a recursive list in a repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to list and repository # Ls.feature:16 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "ls" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Root tree/" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points/" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines/" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to show only the tree not the children': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to show a recursive list in a repository # Ls.feature:24 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "ls -r" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points.2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines.1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to show a verbose list of a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to show only the tree not the children # Ls.feature:31 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "ls -d" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I try to show a list with seven digit IDs': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I try to show a verbose list of a tree # Ls.feature:37 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "ls -v Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points/" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Points.3" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: I try to show a list with seven digit IDs # Ls.feature:46 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "ls -v -r -t -a 5" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 9 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "Points.3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Lines.3" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "merge" command In order to combine two or more geogig histories into one As a Geogig User I want to merge one or more commit histories into my current branch [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge one branch to a parent branch': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge the same branch twice': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge one branch to a parent branch # Merge.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "log --first-parent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "MergeMessage" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD~2}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|branch1~1}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should not contain variable "{@ObjectId|localrepo|branch2}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge without specifying any commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge the same branch twice # Merge.feature:23 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "merge branch1 -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "merge branch1 -m MergeMessage2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The branch has already been merged." # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge a nonexistent branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge without specifying any commits # Merge.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "merge -m MergeMessage" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "No commits provided to merge." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge a nonexistent branch # Merge.feature:39 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "merge nonexistent" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Commit not found" # DefaultStepDefinitions.the_response_should_start_with(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge two conflicting branches': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge from an empty directory # Merge.feature:46 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to perform an octopus merge with conflicts': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge two conflicting branches # Merge.feature:52 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() When I run the command "merge branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "CONFLICT: Merge conflict in Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to perform an octopus merge': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to perform an octopus merge with conflicts # Merge.feature:59 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() When I run the command "merge branch1 branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot merge more than two commits when conflicts exist" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge two conflicting branches using --ours strategy': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to perform an octopus merge # Merge.feature:66 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "merge branch1 branch2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Merge branch refs/heads/branch1" # DefaultStepDefinitions.the_response_should_contain(String) Then the response should contain "Merge branch refs/heads/branch2" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge two conflicting branches using --ours and --theirs strategy': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge two conflicting branches using --ours strategy # Merge.feature:73 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() When I run the command "merge branch1 --ours" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Merge branch refs/heads/branch1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to merge two conflicting branches using --theirs strategy': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge two conflicting branches using --ours and --theirs strategy # Merge.feature:79 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() When I run the command "merge branch1 --ours --theirs" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot use both --ours and --theirs" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to abort a conflicted merge': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to merge two conflicting branches using --theirs strategy # Merge.feature:85 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() When I run the command "merge branch1 --theirs" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Merge branch refs/heads/branch1" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to abort when there is no conflict': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to abort a conflicted merge # Merge.feature:91 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have a merge conflict state # DefaultStepDefinitions.I_have_a_merge_conflict_state() When I run the command "merge branch1 --abort" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Merge aborted successfully" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "nothing to commit" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to abort when there is no conflict # Merge.feature:99 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "merge --abort" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "There is no merge to abort" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Feature: "rebase" command In order to linearize the geogig history As a Geogig User I want to rebase my local commits onto an existing branch [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase one branch to a parent branch': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase one branch to a parent branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebase one branch to a parent branch # Rebase.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "rebase master branch1" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|branch2}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to graft a branch onto another branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebase one branch to a parent branch # Rebase.feature:20 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "rebase master branch1 --squash squashmessage" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|branch2}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) And the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain "squashmessage" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase a nonexistant branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to graft a branch onto another branch # Rebase.feature:34 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "rebase branch1 branch2 --onto master" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Commit3" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit5" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase to a nonexistant upstream': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebase a nonexistant branch # Rebase.feature:45 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "rebase master nonexistant" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "The branch reference could not be resolved." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to graft a branch onto a nonexistant branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebase to a nonexistant upstream # Rebase.feature:52 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "rebase nonexistant branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "The upstream reference could not be resolved." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to graft a branch onto a nonexistant branch # Rebase.feature:59 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "rebase master branch1 --onto nonexistant" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "The onto reference could not be resolved." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase with conflicts and skip': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebase from an empty directory # Rebase.feature:66 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "rebase master branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase with conflicts and continue': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebase with conflicts and skip # Rebase.feature:72 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() When I run the command "rebase branch1 master" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "CONFLICT" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() When I run the command "rebase --skip" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Commit2" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase with conflicts and abort': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebase with conflicts and continue # Rebase.feature:86 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() And I run the command "rebase branch1 master" # DefaultStepDefinitions.I_run_the_command_X(String) And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I run the command "add" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "rebase --continue" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@ObjectId|localrepo|master~3}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase --skip when no conflict exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebase with conflicts and abort # Rebase.feature:101 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have conflicting branches # DefaultStepDefinitions.I_have_conflicting_branches() When I run the command "rebase master branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "CONFLICT" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() When I run the command "rebase --abort" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "aborted successfully" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase --continue when no conflict exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebase --skip when no conflict exist # Rebase.feature:110 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "rebase --skip" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot skip" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to rebase --abort when no conflict exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to rebase --continue when no conflict exist # Rebase.feature:116 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "rebase --continue" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot continue" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try to rebase --abort when no conflict exist # Rebase.feature:122 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "rebase --abort" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot abort" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Feature: "remote" command In order to track changes from other repositories As a Geogig User I want to add and remove remotes for the current repository [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add and list remote from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add and list a remote to the current repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add and list remote from an empty directory # Remote.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add several remotes and list them': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add and list a remote to the current repository # Remote.feature:11 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote list" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "myremote" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a remote that already exists': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add several remotes and list them # Remote.feature:17 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote add myremote2 http://myremote2.org" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "myremote" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "myremote2" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a remote and list with verbose mode': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a remote that already exists # Remote.feature:25 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote add myremote http://myremote2.org" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Could not add, a remote called 'myremote' already exists." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a remote that tracks a specific branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a remote and list with verbose mode # Remote.feature:32 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote list -v" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "myremote http://myremote.com (fetch)" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "myremote http://myremote.com (push)" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add a remote that tracks all branches': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a remote that tracks a specific branch # Remote.feature:39 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add -t branch myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config remote.myremote.fetch" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "+refs/heads/branch:refs/remotes/myremote/branch" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to add, remove, and list a remote': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add a remote that tracks all branches # Remote.feature:45 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "config remote.myremote.fetch" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "+refs/heads/*:refs/remotes/myremote/*" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove a remote from an empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to add, remove, and list a remote # Remote.feature:51 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote add myremote http://myremote.com" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote rm myremote" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "remote list" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to remove a remote that doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove a remote from an empty repository # Remote.feature:58 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "remote rm myremote" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to list remotes from an empty repository': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to remove a remote that doesn't exist # Remote.feature:64 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "remote rm myremote" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Could not find a remote called 'myremote'." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try to list remotes from an empty repository # Remote.feature:70 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "remote list" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Feature: "rm" command In order to remove features from the repository As a Geogig User I want to delete features and trees from the working tree [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a single feature': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete several features': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete a single feature # Remove.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "rm Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Deleted 1 feature(s)" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a whole tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete several features # Remove.feature:15 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "rm Points/Points.1 Points/Points.2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Deleted 2 feature(s)" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a whole tree without the -r modifier': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete a whole tree # Remove.feature:24 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "rm Points -r " # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Deleted Points tree" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete an inexistent feature': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete a whole tree without the -r modifier # Remove.feature:33 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "rm Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Cannot remove tree Points if recursive or truncate is not specified" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Truncate a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete an inexistent feature # Remove.feature:43 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "rm Points/Wrong.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Deleted 0 feature(s)" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Truncate a tree # Remove.feature:53 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "rm Points -t " # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Truncated Points tree" # DefaultStepDefinitions.the_response_should_contain(String) When I run the command "ls-tree -s" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points 0" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "reset" command In order to undo local changes As a Geogig User I want to reset the head, and optionally, the working tree and index to the state of another commit [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a mixed reset of all local changes': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a hard reset of all local changes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to do a mixed reset of all local changes # Reset.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "reset --mixed" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Unstaged changes after reset:" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 2 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a soft reset of all local changes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to do a hard reset of all local changes # Reset.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "reset --hard" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "nothing to commit" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a mixed and hard reset of all local changes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to do a soft reset of all local changes # Reset.feature:34 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "reset --soft" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a mixed and soft reset of all local changes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to do a mixed and hard reset of all local changes # Reset.feature:48 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "reset --hard --mixed" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "you may only specify one mode." # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to reset from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to do a mixed and soft reset of all local changes # Reset.feature:59 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "reset --soft --mixed" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "you may only specify one mode." # DefaultStepDefinitions.it_should_answer_exactly(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to reset with no commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to reset from an empty directory # Reset.feature:70 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "reset" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to reset to a nonexistant commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to reset with no commits # Reset.feature:76 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "reset" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Commit could not be resolved." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a reset of a specific path': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to reset to a nonexistant commit # Reset.feature:82 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "reset nonexistant" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Commit could not be resolved." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a reset of a non-used path': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to do a reset of a specific path # Reset.feature:94 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "reset --path Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Unstaged changes after reset:" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 2 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a reset of multiple paths': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to do a reset of a non-used path # Reset.feature:109 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "reset --path Lines" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "" # DefaultStepDefinitions.it_should_answer_exactly(String) When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to reset to the state of another branch': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to do a reset of multiple paths # Reset.feature:123 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "reset --path Lines Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Unstaged changes after reset:" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 2 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a reset with a mode and paths': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to reset to the state of another branch # Reset.feature:138 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several branches # DefaultStepDefinitions.I_have_several_branches() When I run the command "checkout branch2" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "reset branch1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Unstaged changes after reset:" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 2 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Subject: Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|branch1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should not contain "Subject: Commit4" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain "Subject: Commit5" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should not contain variable "{@ObjectId|localrepo|master}" # DefaultStepDefinitions.checkResponseTextDoesNotContain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to do a reset with removed feature': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to do a reset with a mode and paths # Reset.feature:154 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "commit -m Test" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "3 features added" # DefaultStepDefinitions.the_response_should_contain(String) When I modify and add a feature # DefaultStepDefinitions.I_modify_and_add_a_feature() And I run the command "reset --hard --path Lines" # DefaultStepDefinitions.I_run_the_command_X(String) Then it should answer "Ambiguous call, cannot specify paths and reset mode." # DefaultStepDefinitions.it_should_answer_exactly(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try to do a reset with removed feature # Reset.feature:166 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I remove and add a feature # DefaultStepDefinitions.I_remove_and_add_a_feature() When I run the command "reset" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Unstaged changes after reset" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "revert" command In order to undo committed changes As a Geogig user I want to revert a series of commits and commit those changes [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert something while not in a geogig repository': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert with nothing specified for reverting': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert something while not in a geogig repository # Revert.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() And I run the command "revert master" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert one commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert with nothing specified for reverting # Revert.feature:12 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I run the command "revert" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "nothing specified for reverting" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert a commit that doesn't exist': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert one commit # Revert.feature:18 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "revert master" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Subject: Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Revert 'Commit4'" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert multiple commits': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert a commit that doesn't exist # Revert.feature:29 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "revert doesntExist" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Couldn't resolve 'doesntExist' to a commit, aborting revert" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Subject: Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Subject: Revert 'Commit4'" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert multiple commits but with one nonexistant commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert multiple commits # Revert.feature:42 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "revert master~1 master~2" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Subject: Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Revert 'Commit2'" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Revert 'Commit3'" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert with conflict and abort': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert multiple commits but with one nonexistant commit # Revert.feature:54 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "revert master~1 blah" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Couldn't resolve 'blah' to a commit, aborting revert" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Subject: Commit1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit3" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Subject: Commit4" # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Subject: Revert of commit" # DefaultStepDefinitions.the_response_should_not_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert without commiting': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert with conflict and abort # Revert.feature:68 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "revert HEAD~3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "could not apply" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "CONFLICT: conflict in Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() When I run the command "revert --abort" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "aborted" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to revert with conflict and continue': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to revert without commiting # Revert.feature:78 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "revert master --no-commit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should not contain "Revert" # DefaultStepDefinitions.the_response_should_not_contain(String) Scenario: Try to revert with conflict and continue # Revert.feature:85 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "revert HEAD~3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "could not apply" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() When I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) When I run the command "revert --continue" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Revert" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "show" command In order to know about a given element As a Geogig User I want to display information about it [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a feature using only its path': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the description of a feature using only its path # Show.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "show Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "ATTRIBUTES" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "FEATURE TYPE ID" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "sp" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "pp" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "ip" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@PointsTypeID}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a tree': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the description of a commit # Show.feature:19 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "show HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Commit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Author" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a feature': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the description of a tree # Show.feature:28 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "show HEAD:Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "TREE ID" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "DEFAULT FEATURE TYPE ATTRIBUTES" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "sp" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "pp" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "ip" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD:Points}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@PointsTypeID}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a feature using its SHA-1': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the description of a feature # Show.feature:41 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "show HEAD:Points/Points.1" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "ATTRIBUTES" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "FEATURE TYPE ID" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "sp" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "pp" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "ip" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) And the response should contain variable "{@PointsTypeID}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a feature with the --raw modifier': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the description of a feature using its SHA-1 # Show.feature:54 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "show a47ca38e5c3e92c94dec9e8ea597c642003ec878" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "FEATURE" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "STRING" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "INTEGER" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "POINT" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|a47ca38e5c3e92c94dec9e8ea597c642003ec878}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a 2 features with the --raw modifier': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the description of a feature with the --raw modifier # Show.feature:65 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "show HEAD:Points/Points.1 --raw" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "STRING" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "INTEGER" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "POINT urn:ogc:def:crs:EPSG::4326" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "sp" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "pp" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "ip" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to show the description of a featuretype': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to show the description of a 2 features with the --raw modifier # Show.feature:78 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "show HEAD:Points/Points.1 HEAD:Points/Points.2 --raw" # DefaultStepDefinitions.I_run_the_command_X(String) And the response should contain "HEAD:Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "HEAD:Points/Points.2" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "STRING" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "INTEGER" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "POINT" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "sp" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "pp" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "ip" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD:Points/Points.1}" # DefaultStepDefinitions.checkResponseTextContains(String) Scenario: Try to show the description of a featuretype # Show.feature:93 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() And I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "show Points" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "TREE ID" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "squash" command In order to modify history of the repository As a Geogig User I want to squash commits [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Squash commits': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Squash commits with message': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Squash commits # Squash.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "squash HEAD~2 HEAD" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log --oneline" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 2 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Squash commits in wrong order': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Squash commits with message # Squash.feature:14 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "squash HEAD~2 HEAD -m squashed" # DefaultStepDefinitions.I_run_the_command_X(String) And I run the command "log --oneline" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain 2 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) And the response should contain "squashed" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Squash commits with only one commit provided': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Squash commits in wrong order # Squash.feature:23 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "squash HEAD HEAD~2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "wrong order" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Squash commits with only one commit provided # Squash.feature:29 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "squash HEAD~2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "2 commit references must be supplied" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "status" command In order to know what I have staged and unstaged As a Geogig User I want to check the status of the current repository [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with no changes': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get the status of an empty directory # Status.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with unstaged changes without using a limit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get the status of a repository with no changes # Status.feature:12 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "nothing to commit" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with staged changes without using a limit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get the status of a repository with unstaged changes without using a limit # Status.feature:17 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points3" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines3" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "8 total." # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain 14 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with staged and unstaged changes without using a limit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get the status of a repository with staged changes without using a limit # Status.feature:31 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points3" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines3" # DefaultStepDefinitions.I_have_staged(String) When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "8 total." # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain 14 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with unstaged changes specifying all': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get the status of a repository with staged and unstaged changes without using a limit # Status.feature:45 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points3" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines3" # DefaultStepDefinitions.I_have_staged(String) And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "8 total." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "2 total." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 21 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with staged changes specifying all': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get the status of a repository with unstaged changes specifying all # Status.feature:61 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points3" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines3" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "status --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "8 total." # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain 14 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with staged and unstaged changes specifying all': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get the status of a repository with staged changes specifying all # Status.feature:75 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points3" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines3" # DefaultStepDefinitions.I_have_staged(String) When I run the command "status --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "8 total." # DefaultStepDefinitions.the_response_should_contain(String) And the response should not contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_not_contain(String) And the response should contain 14 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with unstaged changes using a limit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get the status of a repository with staged and unstaged changes specifying all # Status.feature:89 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points3" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines3" # DefaultStepDefinitions.I_have_staged(String) And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "status --all" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "8 total." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "2 total." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 21 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with staged changes using a limit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get the status of a repository with unstaged changes using a limit # Status.feature:105 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have unstaged "points1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "points3" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines1" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines2" # DefaultStepDefinitions.I_have_unstaged(String) And I have unstaged "lines3" # DefaultStepDefinitions.I_have_unstaged(String) When I run the command "status --limit 3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "8 total." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 9 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with staged and unstaged changes using a limit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get the status of a repository with staged changes using a limit # Status.feature:118 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points3" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines3" # DefaultStepDefinitions.I_have_staged(String) When I run the command "status --limit 3" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "8 total." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 9 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to get the status of a repository with a negative limit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get the status of a repository with staged and unstaged changes using a limit # Status.feature:131 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have staged "points1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "points3" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines1" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines2" # DefaultStepDefinitions.I_have_staged(String) And I have staged "lines3" # DefaultStepDefinitions.I_have_staged(String) And I modify a feature # DefaultStepDefinitions.I_modify_a_feature() When I run the command "status --limit 0" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Changes to be committed" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "8 total." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Changes not staged for commit" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "2 total." # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain 11 lines # DefaultStepDefinitions.the_response_should_contain_x_lines(int) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try the get the status of a repository with unmerged elements': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to get the status of a repository with a negative limit # Status.feature:147 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "status --limit -2" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Limit must be 0 or greater" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try the get the status of a repository with unmerged elements # Status.feature:153 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have a merge conflict state # DefaultStepDefinitions.I_have_a_merge_conflict_state() When I run the command "status" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "unmerged Points/Points.1" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "tag" command In order to store defined versions of my repository As a Geogig User I want to be create tags [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'List the available tags': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Create a new tag': Using URIBuilder DefaultTestRepoURIBuilder Scenario: List the available tags # Tag.feature:6 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "tag mytag -m msg" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "tag" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "mytag" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Create a new tag for a given commit': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Create a new tag # Tag.feature:13 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "tag mytag -m msg" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Created tag mytag ->" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Delete a tag': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Create a new tag for a given commit # Tag.feature:20 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "tag mytag HEAD^ -m msg" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Created tag mytag ->" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain variable "{@ObjectId|localrepo|HEAD^}" # DefaultStepDefinitions.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Delete an inexistent tag': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Delete a tag # Tag.feature:27 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "tag mytag -m msg" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "tag -d mytag" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Deleted tag mytag" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a tag with too many parameters provided': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Delete an inexistent tag # Tag.feature:34 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() And I run the command "tag mytag -m msg" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "tag -d wrongtag" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Wrong tag name: wrongtag" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to delete a tag with too many parameters provided': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create a tag with too many parameters provided # Tag.feature:42 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "tag mytag HEAD^ extraparam -m msg" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Too many parameters provided" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a tag with no message': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to delete a tag with too many parameters provided # Tag.feature:49 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "tag -d mytag HEAD^" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Too many parameters provided" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to create a tag with a wrong commit ref': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to create a tag with no message # Tag.feature:56 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "tag mytag HEAD^" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "No tag message provided" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() Scenario: Try to create a tag with a wrong commit ref # Tag.feature:63 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several commits # DefaultStepDefinitions.I_have_several_commits() When I run the command "tag mytag aaaaaaaa -m msg" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Wrong reference: aaaaaaaa" # DefaultStepDefinitions.the_response_should_contain(String) And it should exit with non-zero exit code # DefaultStepDefinitions.it_should_exit_with_non_zero_exit_code() @Version Feature: "version" command In order to view GeoGig version information As a Geogig User I want to display information about it [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'I want to view the GeoGig version': Using URIBuilder DefaultTestRepoURIBuilder Scenario: I want to view the GeoGig version # Version.feature:7 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "version" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Project Version" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Build Time" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Git Commit ID" # DefaultStepDefinitions.the_response_should_contain(String) 277 Scenarios (277 passed) 1832 Steps (1832 passed) 2m41.837s Tests run: 2109, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 164.383 sec - in org.locationtech.geogig.cli.test.functional.RunPorcelainFunctionalTest Results : Tests run: 3409, Failures: 0, Errors: 0, Skipped: 0 [JENKINS] Recording test results [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ geogig-cli --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/cli/target/geogig-cli-1.1-SNAPSHOT.jar [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ geogig-cli --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/cli/target/geogig-cli-1.1-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ geogig-cli >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-cli --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ geogig-cli <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ geogig-cli --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/cli/target/geogig-cli-1.1-SNAPSHOT-sources.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:test-jar (attach-sources) > generate-sources @ geogig-cli >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-cli --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.TestSourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:test-jar (attach-sources) < generate-sources @ geogig-cli <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:test-jar (attach-sources) @ geogig-cli --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/cli/target/geogig-cli-1.1-SNAPSHOT-test-sources.jar [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ geogig-cli --- [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/cli/target/geogig-cli-1.1-SNAPSHOT.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-cli/1.1-SNAPSHOT/geogig-cli-1.1-SNAPSHOT.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/cli/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-cli/1.1-SNAPSHOT/geogig-cli-1.1-SNAPSHOT.pom [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/cli/target/geogig-cli-1.1-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-cli/1.1-SNAPSHOT/geogig-cli-1.1-SNAPSHOT-tests.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/cli/target/geogig-cli-1.1-SNAPSHOT-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-cli/1.1-SNAPSHOT/geogig-cli-1.1-SNAPSHOT-sources.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/cli/target/geogig-cli-1.1-SNAPSHOT-test-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-cli/1.1-SNAPSHOT/geogig-cli-1.1-SNAPSHOT-test-sources.jar [JENKINS] Archiving disabled Started calculate disk usage of build Finished Calculation of disk usage of build in 0 seconds Started calculate disk usage of workspace Finished Calculation of disk usage of workspace in 0 seconds [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building PostgreSQL Storage Backend 1.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ geogig-postgres --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-postgres --- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ geogig-postgres --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 3 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ geogig-postgres --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 17 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/target/classes [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/src/main/java/org/locationtech/geogig/storage/postgresql/PGRepositoryResolver.java: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/src/main/java/org/locationtech/geogig/storage/postgresql/PGRepositoryResolver.java uses or overrides a deprecated API. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/src/main/java/org/locationtech/geogig/storage/postgresql/PGRepositoryResolver.java: Recompile with -Xlint:deprecation for details. [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ geogig-postgres --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/src/test/resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ geogig-postgres --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 30 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/target/test-classes [INFO] [INFO] --- maven-surefire-plugin:2.17:test (default-test) @ geogig-postgres --- [JENKINS] Recording test results [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ geogig-postgres --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/target/geogig-postgres-1.1-SNAPSHOT.jar [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ geogig-postgres --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/target/geogig-postgres-1.1-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ geogig-postgres >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-postgres --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ geogig-postgres <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ geogig-postgres --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/target/geogig-postgres-1.1-SNAPSHOT-sources.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:test-jar (attach-sources) > generate-sources @ geogig-postgres >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-postgres --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.TestSourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:test-jar (attach-sources) < generate-sources @ geogig-postgres <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:test-jar (attach-sources) @ geogig-postgres --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/target/geogig-postgres-1.1-SNAPSHOT-test-sources.jar [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ geogig-postgres --- [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/target/geogig-postgres-1.1-SNAPSHOT.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-postgres/1.1-SNAPSHOT/geogig-postgres-1.1-SNAPSHOT.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-postgres/1.1-SNAPSHOT/geogig-postgres-1.1-SNAPSHOT.pom [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/target/geogig-postgres-1.1-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-postgres/1.1-SNAPSHOT/geogig-postgres-1.1-SNAPSHOT-tests.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/target/geogig-postgres-1.1-SNAPSHOT-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-postgres/1.1-SNAPSHOT/geogig-postgres-1.1-SNAPSHOT-sources.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/storage/postgres/target/geogig-postgres-1.1-SNAPSHOT-test-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-postgres/1.1-SNAPSHOT/geogig-postgres-1.1-SNAPSHOT-test-sources.jar [JENKINS] Archiving disabled Started calculate disk usage of build Finished Calculation of disk usage of build in 0 seconds Started calculate disk usage of workspace Finished Calculation of disk usage of workspace in 0 seconds [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building GeoTools Extension 1.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ geogig-geotools --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-geotools --- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ geogig-geotools --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 2 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ geogig-geotools --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 62 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/classes [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/src/main/java/org/locationtech/geogig/geotools/plumbing/ImportOp.java: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/src/main/java/org/locationtech/geogig/geotools/plumbing/ImportOp.java uses unchecked or unsafe operations. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/src/main/java/org/locationtech/geogig/geotools/plumbing/ImportOp.java: Recompile with -Xlint:unchecked for details. [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ geogig-geotools --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 14 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ geogig-geotools --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 33 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/test-classes [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/src/test/java/org/locationtech/geogig/geotools/test/storage/MemoryDataStoreWithProvidedFIDSupport.java: Some input files use unchecked or unsafe operations. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/src/test/java/org/locationtech/geogig/geotools/test/storage/MemoryDataStoreWithProvidedFIDSupport.java: Recompile with -Xlint:unchecked for details. [INFO] [INFO] --- maven-surefire-plugin:2.17:test (default-test) @ geogig-geotools --- [INFO] Surefire report directory: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.locationtech.geogig.geotools.cli.geojson.GeoJsonImportTest Running org.locationtech.geogig.geotools.cli.geojson.GeoJsonExportTest Running org.locationtech.geogig.geotools.cli.shp.ShpImportTest Running org.locationtech.geogig.geotools.cli.shp.RunShpFunctionalTest Running org.locationtech.geogig.geotools.cli.shp.ShpExportTest Running org.locationtech.geogig.geotools.cli.geopkg.GeoPkgDescribeTest Running org.locationtech.geogig.geotools.cli.geopkg.GeoPkgPullTest Running org.locationtech.geogig.geotools.cli.geopkg.RunGeoPkgFunctionalTest Running org.locationtech.geogig.geotools.cli.geopkg.GeoPkgImportTest Running org.locationtech.geogig.geotools.cli.geopkg.GeoPkgListTest Running org.locationtech.geogig.geotools.cli.geopkg.GeoPkgExportTest Running org.locationtech.geogig.geotools.cli.oracle.OracleListTest Running org.locationtech.geogig.geotools.cli.oracle.OracleImportTest Running org.locationtech.geogig.geotools.cli.oracle.OracleExportTest Running org.locationtech.geogig.geotools.cli.oracle.OracleDescribeTest Running org.locationtech.geogig.geotools.cli.postgis.PGExportTest Running org.locationtech.geogig.geotools.cli.postgis.PGDescribeTest Running org.locationtech.geogig.geotools.cli.postgis.PGImportTest Running org.locationtech.geogig.geotools.cli.postgis.PGListTest Running org.locationtech.geogig.geotools.plumbing.ExportOpTest Running org.locationtech.geogig.geotools.plumbing.ImportOpTest Running org.locationtech.geogig.geotools.plumbing.ExportDiffOpTest Running org.locationtech.geogig.geotools.plumbing.DescribeOpTest Running org.locationtech.geogig.geotools.plumbing.ListOpTest Feature: "shp export" command In order to export data to Geogig As a Geogig User I want to export from the repository to a shapefile [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try exporting from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Feature: "geopkg describe" command In order to understand the structure of a table in a GeoPackage file As a Geogig User I want Geogig to describe the table [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try describing a GeoPackage table from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Usage: geogig describe [options] Options: --database, -D The database to connect to. Default: database.gpkg Default: /opt/public/hipp/ramdisk/geogig/geogig_geopackage_test1820593299978736882.gpkg * --table, -t Table to describe. Default: <empty string> --user, -U User name. Default: user Default: user The GeoJSON file 'file://nonexistent.geojson' could not be found, skipping... Usage: geogig describe [options] Options: --database, -D The database to connect to. Default: database Default: database --host, -H Machine name or IP address to connect to. Default: localhost Default: localhost --password, -W Password. Default: <no password> Default: <empty string> --port, -P Port number to connect to. Default: 5432 Default: 5432 --schema, -S The database schema to access. Default: public Default: public * --table, -t Table to describe. Default: <empty string> --user, -U User name. Default: postgres Default: postgres Importing from database database Importing from database database The shapefile '/home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/test-classes/org/locationtech/geogig/geotools/cli/shp/shape.shp' could not be found, skipping... Usage: geogig import [options] <geojson> [<geojson>]... Options: --add Do not replace or delete features on the destination path, but just add new ones Default: false --alter Set the path default feature type to the the feature type of imported features, and modify existing features to match it Default: false -d, --dest Path to import to --fid-attrib Use the specified attribute to create the feature Id --force-featuretype Use origin feature type even if it does not match the default destination featuretype Default: false --geom-name Name to use for geometry attribute, replacing the default one ('geometry') --geom-name-auto Uses the name of the geometry descriptor in the destination feature type Default: false Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.693 sec - in org.locationtech.geogig.geotools.plumbing.ExportDiffOpTest Running org.locationtech.geogig.geotools.plumbing.FeatureTypeAdapterFeatureSourceTest Importing from shapefile /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/test-classes/org/locationtech/geogig/geotools/cli/shp/shape.shp 0% Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.084 sec - in org.locationtech.geogig.geotools.plumbing.FeatureTypeAdapterFeatureSourceTest Importing table2 (1/2)... 2017-10-16T15:55:50.288-0400 SEVERE Connection error: org.postgresql.util.PSQLException: The connection attempt failed. at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:275) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:194) at org.postgresql.Driver.makeConnection(Driver.java:450) at org.postgresql.Driver.connect(Driver.java:252) at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) at org.geotools.data.jdbc.datasource.AbstractManageableDataSource.getConnection(AbstractManageableDataSource.java:48) at org.locationtech.geogig.geotools.cli.postgis.PGSupport.getDataStore(PGSupport.java:74) at org.locationtech.geogig.geotools.cli.postgis.PGDescribe.getDataStore(PGDescribe.java:40) at org.locationtech.geogig.geotools.cli.DataStoreDescribe.runInternal(DataStoreDescribe.java:51) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.geotools.cli.postgis.PGDescribeTest.testInvalidDatabaseParams(PGDescribeTest.java:76) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Caused by: java.net.UnknownHostException: nonexistent at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.postgresql.core.PGStream.<init>(PGStream.java:68) at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:144) ... 44 more Importing from GeoJSON /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/test-classes/org/locationtech/geogig/geotools/cli/geojson/sample.geojson Importing feature (1/1)... 0% 0% Exporting from Points to Points... 33% 2 features inserted in 26.92 ms Building final tree feature... 2 features tree built in 1.454 ms 1 features inserted in 59.29 ms Building final tree table2... 100% /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/test-classes/org/locationtech/geogig/geotools/cli/geojson/sample.geojson imported successfully. 1 features tree built in 13.00 ms Importing table1 (2/2)... 67% 100% Points exported successfully to Points Importing from database /opt/public/hipp/ramdisk/geogig/geogig_geopackage_test7153779700592903795.gpkg Importing Lines (1/2)... Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.382 sec - in org.locationtech.geogig.geotools.cli.geojson.GeoJsonImportTest Exporting repository metadata from 'HEAD:Points' (commit 0b01afdc4b36c73d7741af601d3fdbf047415744)... Creating audit metadata for table 'Points' Exporting from Points to Points... 33% Usage: geogig export [options] <path> <geojson> Options: --alter Export all features if several types are found, altering them to adapt to the output feature type Default: false --defaulttype Export only features with the tree default feature type if several types are found Default: false --featuretype Export only features with the specified feature type if several types are found --overwrite, -o Overwrite output file Default: false Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.292 sec - in org.locationtech.geogig.geotools.plumbing.DescribeOpTest 67% 100% Points exported successfully to Points 0% Importing changes to table Points onto feature tree Points... 3 features inserted in 34.71 ms Building final tree Lines... 3 features tree built in 1.334 ms 0% Importing Points (2/2)... Exporting repository metadata from 'HEAD:Points' (commit 7f5c064f7a9624c9e501b77e31ffe80d7b430b13)... Creating audit metadata for table 'Points' 1% 3 features inserted in 6.829 ms Building final tree Points... 3 features tree built in 1.808 ms 100% Import successful. Exporting from WORK_HEAD:Points to Points... 33% 100% Import successful. Changes committed and merge at 75881859add40afa5f084dfed944064e30635a59 WORK_HEAD:Points exported successfully to /opt/public/hipp/ramdisk/geogig/junit92290988985003628/repo-2118590860/TestPoints.geojson Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.99 sec - in org.locationtech.geogig.geotools.plumbing.ListOpTest Importing from database /opt/public/hipp/ramdisk/geogig/geogig_geopackage_test4279093046486085530.gpkg Exporting from Points to Points... 33% Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.617 sec - in org.locationtech.geogig.geotools.plumbing.ExportOpTest Importing Points (1/1)... 100% Points exported successfully to Points Exporting repository metadata from 'HEAD:Points' (commit e32975ce651009221ff98901bdc4f4affa0a861b)... Creating audit metadata for table 'Points' 0% 3 features inserted in 18.01 ms Building final tree Points... 3 features tree built in 1.463 ms 100% Import successful. Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.265 sec - in org.locationtech.geogig.geotools.cli.geopkg.GeoPkgImportTest [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try exporting a feature type': Using URIBuilder DefaultTestRepoURIBuilder Importing changes to table Points onto feature tree Points... 0% Fetching table... Import successful. Changes committed and merge at 4d7a3be4e33daa4d03efe899f3d17849bfefd80b Fetching table... Importing from database database Fetching table... Fetching table... Table : table1 ---------------------------------------- Property : label Type : String ---------------------------------------- Property : geom Type : Point ---------------------------------------- Importing from database database Fetching table... Importing from database database Table : table1 ---------------------------------------- Property : label Type : String ---------------------------------------- Property : geom Type : Point ---------------------------------------- Exporting from Points to Points... 33% 100% Points exported successfully to /opt/public/hipp/ramdisk/geogig/junit5053912385003242687/repo-127604480/TestPoints.geojson Fetching table... Importing from database database Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.15 sec - in org.locationtech.geogig.geotools.cli.postgis.PGDescribeTest Fetching table... Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.282 sec - in org.locationtech.geogig.geotools.cli.oracle.OracleDescribeTest Exporting from Points to Points... 33% Fetching feature types... - table4 - table3 - table2 - table1 - shpLikeTable2 - shpLikeTable - GeoJsonLikeTable2 - GeoJsonLikeTable 100% Points exported successfully to Points Exporting repository metadata from 'HEAD:Points' (commit 5246a511a213d4362450a24872efa0537f136163)... Creating audit metadata for table 'Points' Fetching feature types... The shapefile 'file://nonexistent.shp' could not be found, skipping... Scenario: Try exporting from an empty directory # ShpExport.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "shp export Points Points.shp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) 2017-10-16T15:55:54.713-0400 SEVERE Connection error: org.postgresql.util.PSQLException: The connection attempt failed. at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:275) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:194) at org.postgresql.Driver.makeConnection(Driver.java:450) at org.postgresql.Driver.connect(Driver.java:252) at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) at org.geotools.data.jdbc.datasource.AbstractManageableDataSource.getConnection(AbstractManageableDataSource.java:48) at org.locationtech.geogig.geotools.cli.postgis.PGSupport.getDataStore(PGSupport.java:74) at org.locationtech.geogig.geotools.cli.postgis.PGList.getDataStore(PGList.java:42) at org.locationtech.geogig.geotools.cli.DataStoreList.runInternal(DataStoreList.java:41) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.geotools.cli.postgis.PGListTest.testInvalidDatabaseParams(PGListTest.java:69) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Caused by: java.net.UnknownHostException: nonexistent at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.postgresql.core.PGStream.<init>(PGStream.java:68) at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:144) ... 44 more Importing changes to table Points onto feature tree Points... 0% Usage: geogig export [options] [<commit-ish>:]<path> <table> (define source feature type tree and target table name) Options: --alter Export all features if several types are found, altering them to adapt to the output feature type Default: false --database, -D The database to connect to. Default: database.gpkg Default: database.gpkg --defaulttype Export only features with the tree default feature type if several types are found Default: false --featuretype Export only features with the specified feature type if several types are found -i, --interchange Export as geogig mobile interchange format Default: false --overwrite, -o Overwrite output table Default: false --user, -U User name. Default: user Default: user Fetching feature types... Exporting from Points to Points... 33% 100% Points exported successfully to /opt/public/hipp/ramdisk/geogig/junit7505275648704037939/repo-1832564274/TestPoints.geojson Exporting from Lines to Lines... 33% Lines exported successfully to /opt/public/hipp/ramdisk/geogig/junit7505275648704037939/repo-1832564274/TestPoints.geojson Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.178 sec - in org.locationtech.geogig.geotools.cli.geojson.GeoJsonExportTest Fetching feature types... - table4 - table3 - table2 - table1 - shpLikeTable2 - shpLikeTable - GeoJsonLikeTable2 - GeoJsonLikeTable 2017-10-16T15:55:54.860-0400 SEVERE Connection error: org.postgresql.util.PSQLException: The connection attempt failed. at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:275) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:194) at org.postgresql.Driver.makeConnection(Driver.java:450) at org.postgresql.Driver.connect(Driver.java:252) at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) at org.geotools.data.jdbc.datasource.AbstractManageableDataSource.getConnection(AbstractManageableDataSource.java:48) at org.locationtech.geogig.geotools.cli.postgis.PGSupport.getDataStore(PGSupport.java:74) at org.locationtech.geogig.geotools.cli.postgis.PGImport.getDataStore(PGImport.java:39) at org.locationtech.geogig.geotools.cli.DataStoreImport.runInternal(DataStoreImport.java:89) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.geotools.cli.postgis.PGImportTest.testInvalidDatabaseParams(PGImportTest.java:100) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Caused by: java.net.UnknownHostException: nonexistent at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.postgresql.core.PGStream.<init>(PGStream.java:68) at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:144) ... 44 more Usage: geogig list [options] Options: --database, -D The database to connect to. Default: database Default: database --estimated_extents Use spatial index information to quickly get an estimate of the data bounds. Default: true Default: true --geometry_metadata_table Geometry metadata table Default: <empty string> --host, -H Machine name or IP address to connect to. Default: localhost Default: localhost --loose_bbox Perform only primary filter on bbox. Default: true Default: true --password, -W Password. Default: <no password> Default: <empty string> --port, -P Port number to connect to. Default: 1521 Default: 1521 --schema, -S The database schema to access. Default: public Default: public --user, -U User name. Default: oracle Default: oracle Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.929 sec - in org.locationtech.geogig.geotools.cli.oracle.OracleListTest Importing from database database [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Could not find the specified table. org.locationtech.geogig.cli.CommandFailedException: Could not find the specified table. at org.locationtech.geogig.geotools.cli.DataStoreDescribe.runInternal(DataStoreDescribe.java:68) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.geotools.cli.geopkg.GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(GeoPkgStepDefinitions.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Fetching feature types... Importing table2 (1/2)... Importing from database database Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.303 sec - in org.locationtech.geogig.geotools.cli.geopkg.GeoPkgPullTest Fetching feature types... Importing table2 (1/2)... Importing from shapefile /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/test-classes/org/locationtech/geogig/geotools/cli/shp/shape.shp 0% [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try describing a GeoPackage table': Using URIBuilder DefaultTestRepoURIBuilder Usage: geogig list [options] Options: --database, -D The database to connect to. Default: database Default: database --host, -H Machine name or IP address to connect to. Default: localhost Default: localhost --password, -W Password. Default: <no password> Default: <empty string> --port, -P Port number to connect to. Default: 5432 Default: 5432 --schema, -S The database schema to access. Default: public Default: public --user, -U User name. Default: postgres Default: postgres Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.237 sec - in org.locationtech.geogig.geotools.cli.postgis.PGListTest 0% Fetching table... Table : table1 ---------------------------------------- Property : label Type : String ---------------------------------------- Property : geom Type : Point ---------------------------------------- 1 features inserted in 47.84 ms Building final tree table2... 1 features tree built in 19.92 ms 0% Importing table1 (2/2)... Exporting from WORK_HEAD:Points to Points... 33% 100% WORK_HEAD:Points exported successfully to Points 1 features inserted in 48.85 ms Building final tree table2... 1 features tree built in 3.006 ms Importing table1 (2/2)... Importing from database database Exporting from WORK_HEAD:Lines to Lines... 33% WORK_HEAD:Lines exported successfully to Lines Importing from database database Importing from database database Importing table1 (1/1)... Fetching feature types... - table4 - table3 - table2 - table1 - shpLikeTable2 - shpLikeTable - GeoJsonLikeTable2 - GeoJsonLikeTable Scenario: Try describing a GeoPackage table from an empty directory # GeoPkgDescribe.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "geopkg describe --table test" on an existing GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(String) Then the response should contain "Could not find the specified table." # DefaultStepDefinitions.the_response_should_contain(String) 0% 2 features inserted in 3.482 ms Building final tree table1... Importing from database database Importing table1 (1/1)... 2 features tree built in 11.19 ms 0% 100% Import successful. Usage: geogig import [options] <shapefile> [<shapefile>]... Options: --add Do not replace or delete features on the destination path, but just add new ones Default: false --alter Set the path default feature type to the the feature type of imported features, and modify existing features to match it Default: false --charset Use the specified charset to decode attributes. Default is ISO-8859-1. Default: ISO-8859-1 --create, -c Only create the schema, do not actually import its features Default: false -d, --dest Path to import to --fid-attrib Use the specified attribute to create the feature Id --force-featuretype Use origin feature type even if it does not match the default destination featuretype Default: false 2 features inserted in 28.61 ms Building final tree table1... 2 features tree built in 1.034 ms 100% Import successful. Fetching feature types... Importing from shapefile /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/test-classes/org/locationtech/geogig/geotools/cli/shp/shape.shp 0% Importing table4 (1/8)... Importing table3 (2/8)... Importing from database database Fetching table... Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.28 sec - in org.locationtech.geogig.geotools.cli.geopkg.GeoPkgDescribeTest Importing from database database 0% 1 features inserted in 2.849 ms Building final tree table3... 1 features tree built in 770.7 μs Importing table2 (3/8)... Fetching feature types... 1 features inserted in 2.515 ms Building final tree table2... 1 features tree built in 2.393 ms Usage: geogig import [options] Options: --add Do not replace or delete features on the destination path, but just add new ones Default: false --all Import all tables. Default: false --alter Set the path default feature type to the the feature type of imported features, and modify existing features to match it Default: false --database, -D The database to connect to. Default: database Default: database -d, --dest Path to import to --fid-attrib Use the specified attribute to create the feature Id --force-featuretype Use origin feature type even if it does not match the default destination featuretype Default: false --host, -H Machine name or IP address to connect to. Default: localhost Default: localhost --password, -W Password. Default: <no password> Default: <empty string> --port, -P Port number to connect to. Default: 5432 Default: 5432 --schema, -S The database schema to access. Default: public Default: public --table, -t Table to import. Default: <empty string> --user, -U User name. Default: postgres Default: postgres Usage: geogig export [options] <path> <shapefile> Options: --alter Export all features if several types are found, altering them to adapt to the output feature type Default: false --charset Use the specified charset to encode attributes. Default is ISO-8859-1. Default: ISO-8859-1 --defaulttype Export only features with the tree default feature type if several types are found Default: false --featuretype Export only features with the specified feature type if several types are found --overwrite, -o Overwrite output file Default: false Importing table1 (4/8)... 2 features inserted in 2.806 ms Building final tree table1... Importing from database database Usage: geogig import [options] Options: --add Do not replace or delete features on the destination path, but just add new ones Default: false --all Import all tables. Default: false --alter Set the path default feature type to the the feature type of imported features, and modify existing features to match it Default: false --database, -D The database to connect to. Default: database Default: database -d, --dest Path to import to --estimated_extents Use spatial index information to quickly get an estimate of the data bounds. Default: true Default: true --fid-attrib Use the specified attribute to create the feature Id --force-featuretype Use origin feature type even if it does not match the default destination featuretype Default: false --geometry_metadata_table Geometry metadata table Default: <empty string> --host, -H Machine name or IP address to connect to. Default: localhost Default: localhost --loose_bbox Perform only primary filter on bbox. Default: true Default: true --password, -W Password. Default: <no password> Default: <empty string> --port, -P Port number to connect to. Default: 1521 Default: 1521 --schema, -S The database schema to access. Default: public Default: public --table, -t Table to import. Default: <empty string> --user, -U User name. Default: oracle Default: oracle Importing table4 (1/8)... 2 features tree built in 9.505 ms Usage: geogig list [options] Options: --database, -D The database to connect to. Default: database.gpkg Default: database.gpkg --user, -U User name. Default: user Default: user Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.363 sec - in org.locationtech.geogig.geotools.cli.geopkg.GeoPkgListTest Importing table3 (2/8)... Importing shpLikeTable2 (5/8)... 0% 1 features inserted in 3.568 ms Building final tree table3... 1 features tree built in 784.5 μs 0% Importing from database database Importing table4 (1/8)... Importing table3 (2/8)... 1 features inserted in 23.51 ms Building final tree shpLikeTable2... 1 features tree built in 577.7 μs 0% 1 features inserted in 3.454 ms Building final tree table3... 1 features tree built in 13.59 ms Importing table2 (3/8)... Importing shpLikeTable (6/8)... Importing table2 (3/8)... 1% 0% 1 features inserted in 2.634 ms Building final tree table2... 1 features inserted in 2.460 ms Building final tree shpLikeTable... 1 features tree built in 568.4 μs 1 features inserted in 2.441 ms Building final tree table2... 1 features tree built in 8.794 ms Importing GeoJsonLikeTa... (7/8)... 1 features tree built in 4.773 ms Importing table1 (4/8)... 2 features inserted in 2.616 ms Building final tree table1... 2 features tree built in 578.0 μs Importing shpLikeTable2 (5/8)... 1 features inserted in 2.234 ms Building final tree shpLikeTable2... 1 features tree built in 486.7 μs Importing table1 (4/8)... 0% 2 features inserted in 3.034 ms Building final tree table1... 2 features tree built in 753.7 μs Importing shpLikeTable2 (5/8)... Importing shpLikeTable (6/8)... 1 features inserted in 2.391 ms Building final tree shpLikeTable2... 1 features tree built in 556.7 μs Importing shpLikeTable (6/8)... 1% 1 features inserted in 1.766 ms Building final tree GeoJsonLikeTable2... 1 features tree built in 1.816 ms Importing GeoJsonLikeTable (8/8)... 2017-10-16T15:55:56.861-0400 SEVERE There's code using JDBC based datastore and not disposing them. This may lead to temporary loss of database connections. Please make sure all data access code calls DataStore.dispose() before freeing all references to it 1 features inserted in 1.676 ms Building final tree GeoJsonLikeTable... 1 features tree built in 596.1 μs 100% 1% 1 features inserted in 1.360 ms Building final tree shpLikeTable... 1 features tree built in 449.8 μs 1% 1 features inserted in 1.357 ms Building final tree shpLikeTable... 1 features tree built in 10.59 ms /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/test-classes/org/locationtech/geogig/geotools/cli/shp/shape.shp imported successfully. Importing GeoJsonLikeTa... (7/8)... Importing GeoJsonLikeTa... (7/8)... 1 features inserted in 1.627 ms Building final tree GeoJsonLikeTable2... Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.202 sec - in org.locationtech.geogig.geotools.cli.shp.ShpImportTest 1 features tree built in 578.4 μs Importing GeoJsonLikeTable (8/8)... 1 features inserted in 1.533 ms Building final tree GeoJsonLikeTable... 2017-10-16T15:55:56.995-0400 SEVERE There's code using JDBC based datastore and not disposing them. This may lead to temporary loss of database connections. Please make sure all data access code calls DataStore.dispose() before freeing all references to it 1 features tree built in 589.6 μs 100% Import successful. 1% 1 features inserted in 10.58 ms Building final tree GeoJsonLikeTable2... 1 features tree built in 592.8 μs Importing GeoJsonLikeTable (8/8)... Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.842 sec - in org.locationtech.geogig.geotools.cli.postgis.PGImportTest 1 features inserted in 1.573 ms Building final tree GeoJsonLikeTable... 1 features tree built in 581.6 μs 100% Import successful. Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.082 sec - in org.locationtech.geogig.geotools.cli.oracle.OracleImportTest Exporting from Points to Points... 33% 100% Points exported successfully to Points Usage: geogig export [options] <path> <shapefile> Options: --alter Export all features if several types are found, altering them to adapt to the output feature type Default: false --charset Use the specified charset to encode attributes. Default is ISO-8859-1. Default: ISO-8859-1 --defaulttype Export only features with the tree default feature type if several types are found Default: false --featuretype Export only features with the specified feature type if several types are found --overwrite, -o Overwrite output file Default: false Exporting from Points to Points... 33% 100% Points exported successfully to Points Exporting from Lines to Points... 33% Lines exported successfully to Points [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to describe a GeoPackage table that doesn't exit in the database': Using URIBuilder DefaultTestRepoURIBuilder Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.797 sec - in org.locationtech.geogig.geotools.cli.geopkg.GeoPkgExportTest Exporting from WORK_HEAD:Points to TestPoints... 33% Scenario: Try describing a GeoPackage table # GeoPkgDescribe.feature:11 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "geopkg describe --table Points" on an existing GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(String) Then the response should contain "Table : Points" # DefaultStepDefinitions.the_response_should_contain(String) 100% WORK_HEAD:Points exported successfully to /opt/public/hipp/ramdisk/geogig/junit8482767191403842790/repo-837100889/TestPoints.shp Exporting from WORK_HEAD:Points to testTable... 33% 100% WORK_HEAD:Points exported successfully to testTable Exporting from Lines to testTable... 33% Lines exported successfully to testTable Exporting from Points to TestPoints... 33% Exporting from WORK_HEAD:Points to testTable... 33% 100% WORK_HEAD:Points exported successfully to testTable Exporting from Lines to testTable... 33% Lines exported successfully to testTable Exporting from Points to Points... 33% 100% Points exported successfully to Points [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Could not find the specified table. org.locationtech.geogig.cli.CommandFailedException: Could not find the specified table. at org.locationtech.geogig.geotools.cli.DataStoreDescribe.runInternal(DataStoreDescribe.java:68) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.geotools.cli.geopkg.GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(GeoPkgStepDefinitions.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Scenario: Try to describe a GeoPackage table that doesn't exit in the database # GeoPkgDescribe.feature:16 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "geopkg describe --table nonexistant_table" on an existing GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(String) Then the response should contain "Could not find the specified table." # DefaultStepDefinitions.the_response_should_contain(String) Feature: "geopkg export" command In order to export data to Geogig As a Geogig User I want to export from the repository into a GeoPackage file [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try exporting from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder Exporting from Points to Points... 33% 100% Points exported successfully to Points Usage: geogig export [options] <path> <shapefile> Options: --alter Export all features if several types are found, altering them to adapt to the output feature type Default: false --charset Use the specified charset to encode attributes. Default is ISO-8859-1. Default: ISO-8859-1 --defaulttype Export only features with the tree default feature type if several types are found Default: false --featuretype Export only features with the specified feature type if several types are found --overwrite, -o Overwrite output file Default: false Usage: geogig export [options] [<commit-ish>:]<path> <table> (define source feature type tree and target table name) Options: --alter Export all features if several types are found, altering them to adapt to the output feature type Default: false --database, -D The database to connect to. Default: database Default: database --defaulttype Export only features with the tree default feature type if several types are found Default: false --featuretype Export only features with the specified feature type if several types are found --host, -H Machine name or IP address to connect to. Default: localhost Default: localhost --overwrite, -o Overwrite output table Default: false --password, -W Password. Default: <no password> Default: <empty string> --port, -P Port number to connect to. Default: 5432 Default: 5432 --schema, -S The database schema to access. Default: public Default: public --user, -U User name. Default: postgres Default: postgres Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.36 sec - in org.locationtech.geogig.geotools.cli.postgis.PGExportTest Exporting from Points to TestPoints... 33% Usage: geogig export [options] [<commit-ish>:]<path> <table> (define source feature type tree and target table name) Options: --alter Export all features if several types are found, altering them to adapt to the output feature type Default: false --database, -D The database to connect to. Default: database Default: database --defaulttype Export only features with the tree default feature type if several types are found Default: false --estimated_extents Use spatial index information to quickly get an estimate of the data bounds. Default: true Default: true --featuretype Export only features with the specified feature type if several types are found --geometry_metadata_table Geometry metadata table Default: <empty string> --host, -H Machine name or IP address to connect to. Default: localhost Default: localhost --loose_bbox Perform only primary filter on bbox. Default: true Default: true --overwrite, -o Overwrite output table Default: false --password, -W Password. Default: <no password> Default: <empty string> --port, -P Port number to connect to. Default: 1521 Default: 1521 --schema, -S The database schema to access. Default: public Default: public --user, -U User name. Default: oracle Default: oracle Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.562 sec - in org.locationtech.geogig.geotools.cli.oracle.OracleExportTest 100% Points exported successfully to /opt/public/hipp/ramdisk/geogig/junit3866788527963755184/repo1481473987/TestPoints.shp [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try exporting a feature type': Using URIBuilder DefaultTestRepoURIBuilder Exporting from Points to TestPoints... 33% 100% Points exported successfully to /opt/public/hipp/ramdisk/geogig/junit5941772253442513569/repo-710531181/TestPoints.shp Exporting from Lines to TestPoints... 33% Lines exported successfully to /opt/public/hipp/ramdisk/geogig/junit5941772253442513569/repo-710531181/TestPoints.shp Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.159 sec - in org.locationtech.geogig.geotools.cli.shp.ShpExportTest Scenario: Try exporting from an empty directory # GeoPkgExport.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "geopkg export Points Points" on a new GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_a_new_GeoPackage_file(String) Then the response should start with "Not in a geogig repository:" # DefaultStepDefinitions.the_response_should_start_with(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try exporting an inexistent feature type': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try exporting a feature type # ShpExport.feature:11 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "shp export -o Points Points.shp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points exported successfully to Points.shp" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try exporting with mixed feature types': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try exporting an inexistent feature type': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try exporting an inexistent feature type # ShpExport.feature:17 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "shp export WRONGTABLE Points.shp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "pathspec 'WRONGTABLE' did not match any valid path" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try exporting a feature type # GeoPkgExport.feature:11 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "geopkg export -o Points MyPoints" on a new GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_a_new_GeoPackage_file(String) Then the response should contain "Points exported successfully to MyPoints" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try exporting to a table that already exists': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try exporting with mixed feature types using the default feature type': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try exporting an inexistent feature type # GeoPkgExport.feature:17 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "geopkg export WRONGTABLE Points" on a new GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_a_new_GeoPackage_file(String) Then the response should contain "pathspec 'WRONGTABLE' did not match any valid path" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try exporting with mixed feature types # ShpExport.feature:23 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several feature types in a path # GeoToolsStepDefinitions.I_have_several_feature_types_in_a_path() When I run the command "shp export -o Points Points.shp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "The selected tree contains mixed feature types" # DefaultStepDefinitions.the_response_should_contain(String) And the response should contain "Use --defaulttype or --featuretype <feature_type_ref> to export" # DefaultStepDefinitions.the_response_should_contain(String) [main] ERROR org.locationtech.geogig.cli.GeogigCLI - The selected table already exists. Use -o to overwrite org.locationtech.geogig.cli.CommandFailedException: The selected table already exists. Use -o to overwrite at org.locationtech.geogig.geotools.cli.DataStoreExport.exportInternal(DataStoreExport.java:134) at org.locationtech.geogig.geotools.cli.DataStoreExport.runInternal(DataStoreExport.java:99) at org.locationtech.geogig.geotools.cli.geopkg.GeopkgExport.runInternal(GeopkgExport.java:75) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.geotools.cli.geopkg.GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(GeoPkgStepDefinitions.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try exporting with mixed feature types using --alter': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try exporting a table from HEAD': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try exporting with mixed feature types using the default feature type # ShpExport.feature:30 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several feature types in a path # GeoToolsStepDefinitions.I_have_several_feature_types_in_a_path() When I run the command "shp export -o --defaulttype Points Points.shp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points exported successfully to Points.shp" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try exporting to a table that already exists # GeoPkgExport.feature:23 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "geopkg export Points Points" on an existing GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(String) Then the response should contain "The selected table already exists. Use -o to overwrite" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try exporting a table from HEAD': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try exporting with mixed feature types using --alter # ShpExport.feature:36 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I have several feature types in a path # GeoToolsStepDefinitions.I_have_several_feature_types_in_a_path() When I run the command "shp export -o --defaulttype Points Points.shp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points exported successfully to Points.shp" # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try exporting a table from HEAD # GeoPkgExport.feature:29 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "geopkg export -o HEAD:Points CommitedPoints" on a new GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_a_new_GeoPackage_file(String) Then the response should contain "Points exported successfully to CommitedPoints" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "geopkg import" command In order to import data to Geogig As a Geogig User I want to import one or more tables from a GeoPackage file [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try importing into an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to import a GeoPackage table': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try importing into an empty directory # GeoPkgImport.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "geopkg import --table Points" on an existing GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) Scenario: Try exporting a table from HEAD # ShpExport.feature:42 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() And I stage 6 features # DefaultStepDefinitions.I_stage_6_features() When I run the command "commit -m TestCommit" # DefaultStepDefinitions.I_run_the_command_X(String) When I run the command "shp export -o HEAD:Points CommitedPoints.shp" # DefaultStepDefinitions.I_run_the_command_X(String) Then the response should contain "Points exported successfully to CommitedPoints.shp" # DefaultStepDefinitions.the_response_should_contain(String) 7 Scenarios (7 passed) 29 Steps (29 passed) 0m21.694s Tests run: 36, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.101 sec - in org.locationtech.geogig.geotools.cli.shp.RunShpFunctionalTest [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to import a full GeoPackage file': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to import a GeoPackage table # GeoPkgImport.feature:11 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "geopkg import --table Points" on an existing GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(String) Then the response should contain "Import successful." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to import a GeoPackage table that doesn't exit in the file': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to import a full GeoPackage file # GeoPkgImport.feature:16 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "geopkg import --all" on an existing GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(String) Then the response should contain "Import successful." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to import without specifying table or -all': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to import a GeoPackage table that doesn't exit in the file # GeoPkgImport.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "geopkg import --table nonexistant_table" on an existing GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(String) Then the response should contain "Could not find the specified table." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to import with table and -all': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to import without specifying table or -all # GeoPkgImport.feature:26 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "geopkg import" on an existing GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(String) Then the response should contain "No tables specified for import. Specify --all or --table <table>." # DefaultStepDefinitions.the_response_should_contain(String) Scenario: Try to import with table and -all # GeoPkgImport.feature:31 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "geopkg import --table Points --all" on an existing GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(String) Then the response should contain "Specify --all or --table <table>, both cannot be set." # DefaultStepDefinitions.the_response_should_contain(String) Feature: "geopkg list" command In order to know all of the features available in a GeoPackage file As a Geogig User I want to list all of the features [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try listing from an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try listing from a valid directory': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try listing from an empty directory # GeoPkgList.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "geopkg list" on an existing GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) Scenario: Try listing from a valid directory # GeoPkgList.feature:11 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "geopkg list" on an existing GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(String) Then the response should contain "Points" # DefaultStepDefinitions.the_response_should_contain(String) Feature: "geopkg pull" command In order to import data to Geogig As a Geogig User I want to import one or more tables from a GeoPackage file with the interchange format [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try pulling into an empty directory': Using URIBuilder DefaultTestRepoURIBuilder [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to pull a GeoPackage table without commit message': Using URIBuilder DefaultTestRepoURIBuilder [main] WARN org.locationtech.geogig.geotools.plumbing.ImportOp - Error looking for known identifier for CRS null org.locationtech.geogig.porcelain.CRSException: Could not find identifier associated with the defined CRS: GEOGCS["GCS_WGS_1985", DATUM["D_WGS_1985", SPHEROID["WGS_1985", 6378137.0, 298.257223563]], PRIMEM["Greenwich", 0.0], UNIT["degree", 0.017453292519943295], AXIS["Longitude", EAST], AXIS["Latitude", NORTH]] at org.locationtech.geogig.repository.impl.SpatialOps.findKnownCrs(SpatialOps.java:218) at org.locationtech.geogig.repository.impl.SpatialOps.findIdentifier(SpatialOps.java:202) at org.locationtech.geogig.geotools.plumbing.ImportOp.tryForceKnownCRS(ImportOp.java:281) at org.locationtech.geogig.geotools.plumbing.ImportOp._call(ImportOp.java:221) at org.locationtech.geogig.geotools.plumbing.ImportOp._call(ImportOp.java:87) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.geotools.plumbing.ImportOpTest.testForcedKnownCrsIdentifierNoMatch(ImportOpTest.java:479) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Scenario: Try pulling into an empty directory # GeoPkgPull.feature:6 Given I am in an empty directory # DefaultStepDefinitions.I_am_in_an_empty_directory() When I run the command "geopkg pull --table Points" on an existing GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_GeoPackage_file(String) Then the response should start with "Not in a geogig repository" # DefaultStepDefinitions.the_response_should_start_with(String) Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.586 sec - in org.locationtech.geogig.geotools.plumbing.ImportOpTest [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Commit message not provided java.lang.IllegalArgumentException: Commit message not provided at com.google.common.base.Preconditions.checkArgument(Preconditions.java:122) at org.locationtech.geogig.geotools.geopkg.GeopkgAuditImport._call(GeopkgAuditImport.java:64) at org.locationtech.geogig.geotools.geopkg.GeopkgAuditImport._call(GeopkgAuditImport.java:23) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.geotools.cli.geopkg.GeopkgPull.runInternal(GeopkgPull.java:67) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.geotools.cli.geopkg.GeoPkgStepDefinitions.I_run_the_command_on_an_existing_interchange_GeoPackage_file(GeoPkgStepDefinitions.java:116) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to pull a GeoPackage table': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to pull a GeoPackage table without commit message # GeoPkgPull.feature:11 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "geopkg pull --table Points" on an existing interchange GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_interchange_GeoPackage_file(String) Then the response should contain "Commit message not provided" # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to pull a GeoPackage table that doesn't exit in the file': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to pull a GeoPackage table # GeoPkgPull.feature:16 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "geopkg pull --table Points --message imported" on an existing interchange GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_interchange_GeoPackage_file(String) Then the response should contain "Import successful." # DefaultStepDefinitions.the_response_should_contain(String) [main] ERROR org.locationtech.geogig.cli.GeogigCLI - Unable to import: No table to import. java.lang.IllegalStateException: No table to import. at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.locationtech.geogig.geotools.geopkg.InterchangeFormat.importAuditLog(InterchangeFormat.java:270) at org.locationtech.geogig.geotools.geopkg.GeopkgAuditImport._call(GeopkgAuditImport.java:81) at org.locationtech.geogig.geotools.geopkg.GeopkgAuditImport._call(GeopkgAuditImport.java:23) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.geotools.cli.geopkg.GeopkgPull.runInternal(GeopkgPull.java:67) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.geotools.cli.geopkg.GeoPkgStepDefinitions.I_run_the_command_on_an_existing_interchange_GeoPackage_file(GeoPkgStepDefinitions.java:116) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to pull without specifying table': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to pull a GeoPackage table that doesn't exit in the file # GeoPkgPull.feature:21 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "geopkg pull --table nonexistant_table --message imported" on an existing interchange GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_interchange_GeoPackage_file(String) Then the response should contain "Unable to import: No table to import." # DefaultStepDefinitions.the_response_should_contain(String) [main] INFO org.locationtech.geogig.cli.test.functional.DefaultStepDefinitions - 'Try to pull a GeoPackage table with a conflict': Using URIBuilder DefaultTestRepoURIBuilder Scenario: Try to pull without specifying table # GeoPkgPull.feature:26 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "geopkg pull --message imported" on an existing interchange GeoPackage file # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_interchange_GeoPackage_file(String) Then the response should contain "Import successful." # DefaultStepDefinitions.the_response_should_contain(String) [main] ERROR org.locationtech.geogig.cli.GeogigCLI - CONFLICT: Merge conflict in Points/Points.1 Automatic merge failed. Fix conflicts and then commit the result. org.locationtech.geogig.geotools.geopkg.GeopkgMergeConflictsException: CONFLICT: Merge conflict in Points/Points.1 Automatic merge failed. Fix conflicts and then commit the result. at org.locationtech.geogig.geotools.geopkg.InterchangeFormat.importAuditLog(InterchangeFormat.java:342) at org.locationtech.geogig.geotools.geopkg.GeopkgAuditImport._call(GeopkgAuditImport.java:81) at org.locationtech.geogig.geotools.geopkg.GeopkgAuditImport._call(GeopkgAuditImport.java:23) at org.locationtech.geogig.repository.AbstractGeoGigOp.call(AbstractGeoGigOp.java:154) at org.locationtech.geogig.geotools.cli.geopkg.GeopkgPull.runInternal(GeopkgPull.java:67) at org.locationtech.geogig.cli.AbstractCommand.run(AbstractCommand.java:68) at org.locationtech.geogig.cli.GeogigCLI.executeInternal(GeogigCLI.java:532) at org.locationtech.geogig.cli.GeogigCLI.execute(GeogigCLI.java:368) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:159) at org.locationtech.geogig.cli.test.functional.CLIContext.runCommand(CLIContext.java:153) at org.locationtech.geogig.geotools.cli.geopkg.GeoPkgStepDefinitions.I_run_the_command_on_an_existing_interchange_GeoPackage_file_with_conflict(GeoPkgStepDefinitions.java:157) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) Scenario: Try to pull a GeoPackage table with a conflict # GeoPkgPull.feature:31 Given I have a repository # DefaultStepDefinitions.I_have_a_repository() When I run the command "geopkg pull --table Points --message imported" on an existing interchange GeoPackage file with a conflict # GeoPkgStepDefinitions.I_run_the_command_on_an_existing_interchange_GeoPackage_file_with_conflict(String) Then the response should contain "CONFLICT: Merge conflict in" # DefaultStepDefinitions.the_response_should_contain(String) 22 Scenarios (22 passed) 71 Steps (71 passed) 0m27.384s Tests run: 93, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 29.962 sec - in org.locationtech.geogig.geotools.cli.geopkg.RunGeoPkgFunctionalTest Results : Tests run: 316, Failures: 0, Errors: 0, Skipped: 0 [JENKINS] Recording test results [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ geogig-geotools --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/geogig-geotools-1.1-SNAPSHOT.jar [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ geogig-geotools --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/geogig-geotools-1.1-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ geogig-geotools >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-geotools --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ geogig-geotools <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ geogig-geotools --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/geogig-geotools-1.1-SNAPSHOT-sources.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:test-jar (attach-sources) > generate-sources @ geogig-geotools >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-geotools --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.TestSourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:test-jar (attach-sources) < generate-sources @ geogig-geotools <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:test-jar (attach-sources) @ geogig-geotools --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/geogig-geotools-1.1-SNAPSHOT-test-sources.jar [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ geogig-geotools --- [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/geogig-geotools-1.1-SNAPSHOT.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-geotools/1.1-SNAPSHOT/geogig-geotools-1.1-SNAPSHOT.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-geotools/1.1-SNAPSHOT/geogig-geotools-1.1-SNAPSHOT.pom [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/geogig-geotools-1.1-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-geotools/1.1-SNAPSHOT/geogig-geotools-1.1-SNAPSHOT-tests.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/geogig-geotools-1.1-SNAPSHOT-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-geotools/1.1-SNAPSHOT/geogig-geotools-1.1-SNAPSHOT-sources.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/geotools/target/geogig-geotools-1.1-SNAPSHOT-test-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-geotools/1.1-SNAPSHOT/geogig-geotools-1.1-SNAPSHOT-test-sources.jar [JENKINS] Archiving disabled Started calculate disk usage of build Finished Calculation of disk usage of build in 0 seconds Started calculate disk usage of workspace Finished Calculation of disk usage of workspace in 0 seconds [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Web modules 1.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ web --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ web --- [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ web --- [WARNING] JAR will be empty - no content was marked for inclusion! [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/target/web-1.1-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ web >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ web --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ web <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ web --- [INFO] [INFO] >>> maven-source-plugin:2.2.1:test-jar (attach-sources) > generate-sources @ web >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ web --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.TestSourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:test-jar (attach-sources) < generate-sources @ web <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:test-jar (attach-sources) @ web --- [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ web --- [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/web/1.1-SNAPSHOT/web-1.1-SNAPSHOT.pom [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/target/web-1.1-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/web/1.1-SNAPSHOT/web-1.1-SNAPSHOT-tests.jar [JENKINS] Archiving disabled Started calculate disk usage of build Finished Calculation of disk usage of build in 0 seconds Started calculate disk usage of workspace Finished Calculation of disk usage of workspace in 0 seconds [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building GeoGig Web API 1.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ geogig-web-api --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-web-api --- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ geogig-web-api --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 8 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ geogig-web-api --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 118 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/target/classes [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ geogig-web-api --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/src/test/resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ geogig-web-api --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 53 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/target/test-classes [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/src/test/java/org/locationtech/geogig/rest/geopkg/GeoPackageExportDiffIntegrationTest.java: Some input files use unchecked or unsafe operations. [WARNING] /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/src/test/java/org/locationtech/geogig/rest/geopkg/GeoPackageExportDiffIntegrationTest.java: Recompile with -Xlint:unchecked for details. [INFO] [INFO] --- maven-surefire-plugin:2.17:test (default-test) @ geogig-web-api --- [INFO] Surefire report directory: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/target/surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.locationtech.geogig.web.api.commands.FetchTest Running org.locationtech.geogig.web.api.commands.ConfigTest Running org.locationtech.geogig.web.api.commands.RemoveTest Running org.locationtech.geogig.web.api.commands.LogTest Running org.locationtech.geogig.web.api.commands.RebuildGraphTest Running org.locationtech.geogig.web.api.commands.StatusTest Running org.locationtech.geogig.web.api.commands.VersionTest Running org.locationtech.geogig.web.api.commands.AddTest Running org.locationtech.geogig.web.api.commands.PullTest Running org.locationtech.geogig.web.api.commands.TagTest Running org.locationtech.geogig.web.api.commands.LsTreeTest Running org.locationtech.geogig.web.api.commands.CheckoutTest Running org.locationtech.geogig.web.api.commands.FeatureDiffTest Running org.locationtech.geogig.web.api.commands.EndTransactionTest Running org.locationtech.geogig.web.api.commands.RenameRepositoryTest Running org.locationtech.geogig.web.api.commands.ResolveConflictTest Running org.locationtech.geogig.web.api.commands.UpdateRefTest Running org.locationtech.geogig.web.api.commands.RefParseTest Running org.locationtech.geogig.web.api.commands.BlameTest Running org.locationtech.geogig.web.api.commands.DiffTest Running org.locationtech.geogig.web.api.commands.InitTest Running org.locationtech.geogig.web.api.commands.GetCommitGraphTest Running org.locationtech.geogig.web.api.commands.RequestDeleteRepositoryTokenTest Running org.locationtech.geogig.web.api.commands.MergeTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.864 sec - in org.locationtech.geogig.web.api.commands.VersionTest Running org.locationtech.geogig.web.api.commands.RevertFeatureTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.145 sec - in org.locationtech.geogig.web.api.commands.RequestDeleteRepositoryTokenTest Running org.locationtech.geogig.web.api.commands.ReportMergeScenarioTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.885 sec - in org.locationtech.geogig.web.api.commands.StatusTest Running org.locationtech.geogig.web.api.commands.BeginTransactionTest [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit1098621077797277616/testrepo/.geogig/ Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.763 sec - in org.locationtech.geogig.web.api.commands.InitTest Running org.locationtech.geogig.web.api.commands.CommitTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.151 sec - in org.locationtech.geogig.web.api.commands.RenameRepositoryTest Running org.locationtech.geogig.web.api.commands.PushTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.165 sec - in org.locationtech.geogig.web.api.commands.ConfigTest Running org.locationtech.geogig.web.api.commands.BranchTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.262 sec - in org.locationtech.geogig.web.api.commands.BeginTransactionTest Running org.locationtech.geogig.web.api.commands.RemoteManagementTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.613 sec - in org.locationtech.geogig.web.api.commands.AddTest Running org.locationtech.geogig.web.api.commands.CatTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.827 sec - in org.locationtech.geogig.web.api.commands.ResolveConflictTest Running org.locationtech.geogig.web.api.commands.StatisticsTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.396 sec - in org.locationtech.geogig.web.api.commands.CommitTest Running org.locationtech.geogig.web.api.index.UpdateIndexTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.383 sec - in org.locationtech.geogig.web.api.commands.RefParseTest Running org.locationtech.geogig.web.api.index.CreateIndexTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.891 sec - in org.locationtech.geogig.web.api.commands.RebuildGraphTest Running org.locationtech.geogig.web.api.index.ListIndexesTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.406 sec - in org.locationtech.geogig.web.api.commands.GetCommitGraphTest Running org.locationtech.geogig.web.api.index.RebuildIndexTest Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.938 sec - in org.locationtech.geogig.web.api.commands.FeatureDiffTest Running org.locationtech.geogig.web.api.XMLStreamingWriterTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.368 sec - in org.locationtech.geogig.web.api.commands.RemoveTest Running org.locationtech.geogig.web.api.JSONCompareTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.059 sec - in org.locationtech.geogig.web.api.JSONCompareTest Running org.locationtech.geogig.web.api.JSONStreaminWriterTest Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.912 sec - in org.locationtech.geogig.web.api.commands.DiffTest Running org.locationtech.geogig.rest.geopkg.GeoPackageExportDiffIntegrationTest Tests run: 27, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.22 sec - in org.locationtech.geogig.web.api.JSONStreaminWriterTest Running org.locationtech.geogig.rest.geopkg.GeoPackageImportIntegrationTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.305 sec - in org.locationtech.geogig.web.api.commands.EndTransactionTest Running org.locationtech.geogig.rest.geopkg.GeoPackageExportIntegrationTest Tests run: 27, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.41 sec - in org.locationtech.geogig.web.api.XMLStreamingWriterTest Running org.locationtech.geogig.rest.geotools.ExportTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.579 sec - in org.locationtech.geogig.web.api.commands.StatisticsTest Running org.locationtech.geogig.rest.repository.InitRequestUtilTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.136 sec - in org.locationtech.geogig.rest.repository.InitRequestUtilTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.377 sec - in org.locationtech.geogig.web.api.index.RebuildIndexTest Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.474 sec - in org.locationtech.geogig.web.api.commands.RevertFeatureTest Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.524 sec - in org.locationtech.geogig.web.api.commands.ReportMergeScenarioTest [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/master -> f228f4b52e50c5a933670353c157c46256773ab2] to refs/remotes/origin/master(master) Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.046 sec - in org.locationtech.geogig.web.api.commands.BlameTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.114 sec - in org.locationtech.geogig.web.api.commands.MergeTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.637 sec - in org.locationtech.geogig.web.api.commands.LsTreeTest Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.818 sec - in org.locationtech.geogig.web.api.index.CreateIndexTest Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.04 sec - in org.locationtech.geogig.web.api.commands.CatTest Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.727 sec - in org.locationtech.geogig.web.api.commands.BranchTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.801 sec - in org.locationtech.geogig.web.api.commands.CheckoutTest Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.135 sec - in org.locationtech.geogig.web.api.index.ListIndexesTest Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.209 sec - in org.locationtech.geogig.web.api.commands.FetchTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.597 sec - in org.locationtech.geogig.rest.geopkg.GeoPackageExportDiffIntegrationTest Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.149 sec - in org.locationtech.geogig.web.api.commands.LogTest Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.041 sec - in org.locationtech.geogig.web.api.commands.UpdateRefTest Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.501 sec - in org.locationtech.geogig.web.api.commands.TagTest [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/branch1 -> 1bacda72de39cafcb15e428b1c7475175ad2f57f] to refs/remotes/origin/branch1(null) [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/branch2 -> 83d485fdc893d3a7d740191a26d803cb2b434180] to refs/remotes/origin/branch2(null) [main] INFO org.locationtech.geogig.plumbing.SendPack - Pushing Ref[refs/heads/master -> b9a864ca66f6674f15eb22750cb4e2bf852457e2] to refs/remotes/origin/master(null) Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.544 sec - in org.locationtech.geogig.rest.geotools.ExportTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.438 sec - in org.locationtech.geogig.web.api.commands.PullTest Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.156 sec - in org.locationtech.geogig.web.api.commands.PushTest Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.014 sec - in org.locationtech.geogig.web.api.index.UpdateIndexTest Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.764 sec - in org.locationtech.geogig.rest.geopkg.GeoPackageImportIntegrationTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.028 sec - in org.locationtech.geogig.rest.geopkg.GeoPackageExportIntegrationTest Tests run: 27, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.236 sec - in org.locationtech.geogig.web.api.commands.RemoteManagementTest Results : Tests run: 463, Failures: 0, Errors: 0, Skipped: 0 [JENKINS] Recording test results [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ geogig-web-api --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/target/geogig-web-api-1.1-SNAPSHOT.jar [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ geogig-web-api --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/target/geogig-web-api-1.1-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ geogig-web-api >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-web-api --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ geogig-web-api <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ geogig-web-api --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/target/geogig-web-api-1.1-SNAPSHOT-sources.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:test-jar (attach-sources) > generate-sources @ geogig-web-api >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-web-api --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.TestSourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:test-jar (attach-sources) < generate-sources @ geogig-web-api <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:test-jar (attach-sources) @ geogig-web-api --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/target/geogig-web-api-1.1-SNAPSHOT-test-sources.jar [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ geogig-web-api --- [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/target/geogig-web-api-1.1-SNAPSHOT.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-web-api/1.1-SNAPSHOT/geogig-web-api-1.1-SNAPSHOT.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-web-api/1.1-SNAPSHOT/geogig-web-api-1.1-SNAPSHOT.pom [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/target/geogig-web-api-1.1-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-web-api/1.1-SNAPSHOT/geogig-web-api-1.1-SNAPSHOT-tests.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/target/geogig-web-api-1.1-SNAPSHOT-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-web-api/1.1-SNAPSHOT/geogig-web-api-1.1-SNAPSHOT-sources.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/api/target/geogig-web-api-1.1-SNAPSHOT-test-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-web-api/1.1-SNAPSHOT/geogig-web-api-1.1-SNAPSHOT-test-sources.jar [JENKINS] Archiving disabled Started calculate disk usage of build Finished Calculation of disk usage of build in 0 seconds Started calculate disk usage of workspace Finished Calculation of disk usage of workspace in 0 seconds [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building GeoGig WebApp 1.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ geogig-web-app --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/app/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-web-app --- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ geogig-web-app --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 2 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ geogig-web-app --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 5 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/app/target/classes [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ geogig-web-app --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/app/src/test/resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ geogig-web-app --- [INFO] No sources to compile [INFO] [INFO] --- maven-surefire-plugin:2.17:test (default-test) @ geogig-web-app --- [INFO] No tests to run. [JENKINS] Recording test results [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ geogig-web-app --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/app/target/geogig-web-app-1.1-SNAPSHOT.jar [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ geogig-web-app --- [WARNING] JAR will be empty - no content was marked for inclusion! [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/app/target/geogig-web-app-1.1-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:jar (attach-sources) > generate-sources @ geogig-web-app >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-web-app --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:jar (attach-sources) < generate-sources @ geogig-web-app <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (attach-sources) @ geogig-web-app --- [INFO] Building jar: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/app/target/geogig-web-app-1.1-SNAPSHOT-sources.jar [INFO] [INFO] >>> maven-source-plugin:2.2.1:test-jar (attach-sources) > generate-sources @ geogig-web-app >>> [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-web-app --- [WARNING] Failed to getClass for org.apache.maven.plugin.source.TestSourceJarMojo [INFO] [INFO] <<< maven-source-plugin:2.2.1:test-jar (attach-sources) < generate-sources @ geogig-web-app <<< [INFO] [INFO] --- maven-source-plugin:2.2.1:test-jar (attach-sources) @ geogig-web-app --- [INFO] No sources in project. Archive not created. [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ geogig-web-app --- [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/app/target/geogig-web-app-1.1-SNAPSHOT.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-web-app/1.1-SNAPSHOT/geogig-web-app-1.1-SNAPSHOT.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/app/pom.xml to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-web-app/1.1-SNAPSHOT/geogig-web-app-1.1-SNAPSHOT.pom [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/app/target/geogig-web-app-1.1-SNAPSHOT-tests.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-web-app/1.1-SNAPSHOT/geogig-web-app-1.1-SNAPSHOT-tests.jar [INFO] Installing /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/app/target/geogig-web-app-1.1-SNAPSHOT-sources.jar to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/.repository/org/locationtech/geogig/geogig-web-app/1.1-SNAPSHOT/geogig-web-app-1.1-SNAPSHOT-sources.jar [JENKINS] Archiving disabled Started calculate disk usage of build Finished Calculation of disk usage of build in 0 seconds Started calculate disk usage of workspace Finished Calculation of disk usage of workspace in 0 seconds [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building GeoGig Web API Automated Functional Tests 1.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ geogig-web-api-functional-tests --- [INFO] Deleting /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/functional/target [INFO] [INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ geogig-web-api-functional-tests --- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ geogig-web-api-functional-tests --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 1 resource [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ geogig-web-api-functional-tests --- [INFO] No sources to compile [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ geogig-web-api-functional-tests --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 50 resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ geogig-web-api-functional-tests --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 16 source files to /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/functional/target/test-classes [INFO] [INFO] --- maven-surefire-plugin:2.17:test (default-test) @ geogig-web-api-functional-tests --- [INFO] Surefire report directory: /home/hudson/genie.geogig/.jenkins/jobs/geogig-1.1.x/workspace/src/web/functional/target/surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.geogig.web.functional.InitFunctionalTest Running org.geogig.web.functional.WebAPICucumberHooksTest Running org.geogig.web.functional.RunFunctionalTest Running org.geogig.web.functional.MissingResolversTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.093 sec - in org.geogig.web.functional.WebAPICucumberHooksTest Feature: GeoGig Repository initialization tests specific to stand-alone server # Copyright (c) 2017 Boundless and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Distribution License v1.0 # which accompanies this distribution, and is available at # https://www.eclipse.org/org/documents/edl-v10.html # # Contributors: # Erik Merkle (Boundless) - initial implementation @CreateRepository @MissingBackend Feature: Tests Init request behavior when certain repository backends backend are not available [main] INFO org.mortbay.log - Logging to org.slf4j.impl.SimpleLogger(org.mortbay.log) via org.mortbay.log.Slf4jLog [main] INFO org.mortbay.log - Logging to org.slf4j.impl.SimpleLogger(org.mortbay.log) via org.mortbay.log.Slf4jLog @Commands @Add Feature: Add The add command allows a user to stage features in the repository and is supported through the "/repos/{repository}/add" endpoint The command must be executed using the HTTP GET method [main] INFO org.mortbay.log - Logging to org.slf4j.impl.SimpleLogger(org.mortbay.log) via org.mortbay.log.Slf4jLog Scenario: Init request for RocksDB repo with RocksDB backend missing # MissingResolvers.feature:13 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() And I have disabled backends: "Directory" # WebAPICucumberHooks.i_have_plugin_without_backend(String) When I "PUT" content-type "application/json" to "/repos/repo1/init" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "parentDirectory":"{@systemTempPath}" } """ Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/xml" # WebAPICucumberHooks.checkContentType(String) And the xpath "/response/success/text()" equals "false" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/error/text()" contains "No repository initializer found capable of handling this kind of URI: file:/" # WebAPICucumberHooks.checkXPathValueContains(String,String) Scenario: Init request for RocksDB repo with RocksDB backend missing, JSON response # MissingResolvers.feature:27 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() And I have disabled backends: "Directory" # WebAPICucumberHooks.i_have_plugin_without_backend(String) When I "PUT" content-type "application/json" to "/repos/repo1/init.json" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "parentDirectory":"{@systemTempPath}" } """ Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "false" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json response "response.error" should contain "No repository initializer found capable of handling this kind of URI: file:/" # WebAPICucumberHooks.checkJSONResponseContains(String,String) Scenario: Init request for PostgreSQL repo with PostgreSQL backend missing # MissingResolvers.feature:41 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() And I have disabled backends: "PostgreSQL" # WebAPICucumberHooks.i_have_plugin_without_backend(String) When I "PUT" content-type "application/json" to "/repos/repo1/init" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "dbName":"database", "dbPassword":"password" } """ Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/xml" # WebAPICucumberHooks.checkContentType(String) And the xpath "/response/success/text()" equals "false" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/error/text()" contains "No repository initializer found capable of handling this kind of URI: postgresql:/" # WebAPICucumberHooks.checkXPathValueContains(String,String) Scenario: Init request for PostgreSQL repo with PostgreSQL backend missing, JSON response # MissingResolvers.feature:56 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() And I have disabled backends: "PostgreSQL" # WebAPICucumberHooks.i_have_plugin_without_backend(String) When I "PUT" content-type "application/json" to "/repos/repo1/init.json" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "dbName":"database", "dbPassword":"password" } """ Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "false" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json response "response.error" should contain "No repository initializer found capable of handling this kind of URI: postgresql:/" # WebAPICucumberHooks.checkJSONResponseContains(String,String) Scenario: Init request for RocksDB repo with PostgreSQL backend missing # MissingResolvers.feature:71 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() And I have disabled backends: "PostgreSQL" # WebAPICucumberHooks.i_have_plugin_without_backend(String) When I "PUT" content-type "application/json" to "/repos/repo1/init" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "parentDirectory":"{@systemTempPath}" } """ Then the response status should be '201' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/xml" # WebAPICucumberHooks.checkContentType(String) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/repo/name/text()" equals "repo1" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/repo/atom:link/@href" contains "/repos/repo1.xml" # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver Scenario: Init request for RocksDB repo with PostgreSQL backend missing, JSON response # MissingResolvers.feature:86 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() And I have disabled backends: "PostgreSQL" # WebAPICucumberHooks.i_have_plugin_without_backend(String) When I "PUT" content-type "application/json" to "/repos/repo1/init.json" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "parentDirectory":"{@systemTempPath}" } """ Then the response status should be '201' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "true" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.repo.name" equals "repo1" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.repo.href" ends with "/repos/repo1.json" # WebAPICucumberHooks.checkJSONResponseEndsWith(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Init request for RocksDB repo with RocksDB and PostgreSQL backends missing # MissingResolvers.feature:101 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() And I have disabled backends: "Directory, PostgreSQL" # WebAPICucumberHooks.i_have_plugin_without_backend(String) When I "PUT" content-type "application/json" to "/repos/repo1/init" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "parentDirectory":"{@systemTempPath}" } """ Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/xml" # WebAPICucumberHooks.checkContentType(String) And the xpath "/response/success/text()" equals "false" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/error/text()" contains "No repository initializer found capable of handling this kind of URI: file:/" # WebAPICucumberHooks.checkXPathValueContains(String,String) Scenario: Verify wrong HTTP method issues 405 "Method not allowed" # Add.feature:6 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "PUT /repos/repo1/add" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "GET" # WebAPICucumberHooks.checkResponseAllowedMethods(String) Scenario: Init request for RocksDB repo with RocksDB and PostgreSQL backends missing, JSON response # MissingResolvers.feature:115 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() And I have disabled backends: "Directory, PostgreSQL" # WebAPICucumberHooks.i_have_plugin_without_backend(String) When I "PUT" content-type "application/json" to "/repos/repo1/init.json" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "parentDirectory":"{@systemTempPath}" } """ Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "false" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json response "response.error" should contain "No repository initializer found capable of handling this kind of URI: file:/" # WebAPICucumberHooks.checkJSONResponseContains(String,String) Scenario: Init request for PostgreSQL repo with RocksDB and PostgreSQL backends missing # MissingResolvers.feature:129 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() And I have disabled backends: "Directory, PostgreSQL" # WebAPICucumberHooks.i_have_plugin_without_backend(String) When I "PUT" content-type "application/json" to "/repos/repo1/init" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "dbName":"database", "dbPassword":"password" } """ Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/xml" # WebAPICucumberHooks.checkContentType(String) And the xpath "/response/success/text()" equals "false" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/error/text()" contains "No repository initializer found capable of handling this kind of URI: postgresql:/" # WebAPICucumberHooks.checkXPathValueContains(String,String) Scenario: Init request for PostgreSQL repo with RocksDB and PostgreSQL backends missing, JSON response # MissingResolvers.feature:144 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() And I have disabled backends: "Directory, PostgreSQL" # WebAPICucumberHooks.i_have_plugin_without_backend(String) When I "PUT" content-type "application/json" to "/repos/repo1/init.json" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "dbName":"database", "dbPassword":"password" } """ Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "false" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json response "response.error" should contain "No repository initializer found capable of handling this kind of URI: postgresql:/" # WebAPICucumberHooks.checkJSONResponseContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver 10 Scenarios (10 passed) 72 Steps (72 passed) 0m2.708s Tests run: 82, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.713 sec - in org.geogig.web.functional.MissingResolversTest [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Adding outside of a transaction issues 500 "Transaction required" # Add.feature:12 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/add" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "No transaction was specified" # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Adding outside of a repository issues 404 "Not found" # Add.feature:18 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "GET /repos/repo1/add" # WebAPICucumberHooks.callURL(String) Then the response status should be '404' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "Repository not found" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() @CreateRepository Scenario: Verify trying to create a repo issues 409 "Conflict" when a repo with the same name already exists # InitConflict.feature:4 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I "PUT" content-type "application/json" to "/repos/repo1/init.json" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { } """ Then the response status should be '409' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "false" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.error" equals "Cannot run init on an already initialized repository." # WebAPICucumberHooks.checkJSONResponse(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Adding with no path filter stages all features # Add.feature:25 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And I have a transaction as "@txId" on the "repo1" repo # WebAPICucumberHooks.beginTransactionAsVariable(String,String) And I have unstaged "Point.1" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_unstaged(String,String,String) And I have unstaged "Point.2" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_unstaged(String,String,String) And I have unstaged "Line.1" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_unstaged(String,String,String) And the repo1 repository's "STAGE_HEAD" in the @txId transaction should have the following features: # WebAPICucumberHooks.verifyRepositoryContentsTx(String,String,String,DataTable) When I call "GET /repos/repo1/add?transactionId={@txId}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/Add/text()" equals "Success" # WebAPICucumberHooks.checkXPathEquals(String,String) And the repo1 repository's "STAGE_HEAD" in the @txId transaction should have the following features: # WebAPICucumberHooks.verifyRepositoryContentsTx(String,String,String,DataTable) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Adding with a path filter stages specified features # Add.feature:42 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And I have a transaction as "@txId" on the "repo1" repo # WebAPICucumberHooks.beginTransactionAsVariable(String,String) And I have unstaged "Point.1" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_unstaged(String,String,String) And I have unstaged "Point.2" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_unstaged(String,String,String) And I have unstaged "Line.1" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_unstaged(String,String,String) And the repo1 repository's "STAGE_HEAD" in the @txId transaction should have the following features: # WebAPICucumberHooks.verifyRepositoryContentsTx(String,String,String,DataTable) When I call "GET /repos/repo1/add?path=Points/Point.1&transactionId={@txId}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/Add/text()" equals "Success" # WebAPICucumberHooks.checkXPathEquals(String,String) And the repo1 repository's "STAGE_HEAD" in the @txId transaction should have the following features: # WebAPICucumberHooks.verifyRepositoryContentsTx(String,String,String,DataTable) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Adding on a conflicted path resolves the conflict # Add.feature:58 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And I have a transaction as "@txId" on the "repo1" repo # WebAPICucumberHooks.beginTransactionAsVariable(String,String) And There are conflicts on the "repo1" repo in the @txId transaction # WebAPICucumberHooks.There_are_conflict(String,String) When I call "GET /repos/repo1/add?path=Points/Point.1&transactionId={@txId}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/Add/text()" equals "Success" # WebAPICucumberHooks.checkXPathEquals(String,String) And There should be no conflicts on the "repo1" repo in the @txId transaction # WebAPICucumberHooks.There_should_be_no_conflicts(String,String) @Repo @AffectedFeatures Feature: AffectedFeatures The AffectedFeatures resource provides a list of features changed in a commit and is supported through the "/repos/{repository}/repo/affectedfeatures" endpoint The command must be executed using the HTTP GET method [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() @CreateRepository Scenario: Verify trying to create a repo issues 409 "Conflict" when a repo with the same name already exists, with parentDirectory # InitConflict.feature:17 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I "PUT" content-type "application/json" to "/repos/repo1/init.json" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "parentDirectory": "{@systemTempPath}" } """ Then the response status should be '409' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "false" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.error" equals "Cannot run init on an already initialized repository." # WebAPICucumberHooks.checkJSONResponse(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Verify wrong HTTP method issues 405 "Method not allowed" # AffectedFeatures.feature:6 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "PUT /repos/repo1/repo/affectedfeatures" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "GET" # WebAPICucumberHooks.checkResponseAllowedMethods(String) 2 Scenarios (2 passed) 12 Steps (12 passed) 0m5.607s [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.412 sec - in org.geogig.web.functional.InitFunctionalTest [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: AffectedFeatures outside of a repository issues 404 "Not found" # AffectedFeatures.feature:12 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "GET /repos/repo1/repo/affectedfeatures" # WebAPICucumberHooks.callURL(String) Then the response status should be '404' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "Repository not found" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: AffectedFeatures with no commit issues a 400 status code # AffectedFeatures.feature:19 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/repo/affectedfeatures" # WebAPICucumberHooks.callURL(String) Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the response body should contain "You must specify a commit id." # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: AffectedFeatures with an invalid commit issues a 400 status code # AffectedFeatures.feature:25 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/repo/affectedfeatures?commitId=invalid" # WebAPICucumberHooks.callURL(String) Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the response body should contain "You must specify a valid commit id." # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: AffectedFeatures lists all features changed in a commit # AffectedFeatures.feature:31 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() And I have committed "Point.1_modified" on the "repo1" repo in the "" transaction # WebAPICucumberHooks.I_have_committed(String,String,String) When I call "GET /repos/repo1/repo/affectedfeatures?commitId={@ObjectId|repo1|master}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "{@ObjectId|repo1|master~1:Points/Point.1}" # WebAPICucumberHooks.checkResponseTextContains(String) @Commands @Blame Feature: Blame The blame command allows a user to see who last modified each attribute of a feature and is supported through the "/repos/{repository}/blame" endpoint The command must be executed using the HTTP GET method [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Verify wrong HTTP method issues 405 "Method not allowed" # Blame.feature:6 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "PUT /repos/repo1/blame" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "GET" # WebAPICucumberHooks.checkResponseAllowedMethods(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling blame without a feature path issues a 500 status code # Blame.feature:12 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/blame" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "Required parameter 'path' was not provided." # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling blame with an invalid commit issues a 500 status code # Blame.feature:18 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/blame?commit=nonexistent&path=somePath" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "Could not resolve branch or commit" # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling blame with an invalid feature path issues a 500 status code # Blame.feature:24 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/blame?path=nonexistent" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "The supplied path does not exist" # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling blame with a tree path issues a 500 status code # Blame.feature:30 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/blame?path=Points" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "The supplied path does not resolve to a feature" # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling blame with a feature path shows who modified each attribute # Blame.feature:36 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And There is a feature with multiple authors on the "repo1" repo # WebAPICucumberHooks.There_is_a_feature_with_multiple_authors(String) When I call "GET /repos/repo1/blame?path=Points/Point.1" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/Blame/Attribute" 3 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And there is an xpath "/response/Blame/Attribute/commit/author/name/text()" that equals "Author1" # WebAPICucumberHooks.checkOneXPathEquals(String,String) And there is an xpath "/response/Blame/Attribute/commit/message/text()" that equals "Added Point.1" # WebAPICucumberHooks.checkOneXPathEquals(String,String) And there is an xpath "/response/Blame/Attribute/commit/author/name/text()" that equals "Author2" # WebAPICucumberHooks.checkOneXPathEquals(String,String) And there is an xpath "/response/Blame/Attribute/commit/message/text()" that equals "Modified Point.1" # WebAPICucumberHooks.checkOneXPathEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling blame with a feature path and commit shows who modified each attribute # Blame.feature:48 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And There is a feature with multiple authors on the "repo1" repo # WebAPICucumberHooks.There_is_a_feature_with_multiple_authors(String) When I call "GET /repos/repo1/blame?path=Points/Point.1&commit=HEAD~1" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/Blame/Attribute" 3 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the xpath "/response/Blame/Attribute/commit/author/name/text()" equals "Author1" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/Blame/Attribute/commit/message/text()" equals "Added Point.1" # WebAPICucumberHooks.checkXPathEquals(String,String) And the response body should not contain "Author2" # WebAPICucumberHooks.checkResponseTextNotContains(String) And the response body should not contain "Modified Point.1" # WebAPICucumberHooks.checkResponseTextNotContains(String) @Commands @Branch Feature: Branch The branch command allows a user to create and list branches and is supported through the "/repos/{repository}/branch" endpoint The command must be executed using the HTTP GET method [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Verify wrong HTTP method issues 405 "Method not allowed" # Branch.feature:6 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "PUT /repos/repo1/branch" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "GET" # WebAPICucumberHooks.checkResponseAllowedMethods(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling branch without specifying list or a branch name issues a 500 status code # Branch.feature:12 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/branch" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "Nothing to do." # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling branch with the list parameter lists all local branches # Branch.feature:18 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And There are multiple branches on the "repo1" repo # WebAPICucumberHooks.There_are_multiple_branches(String) When I call "GET /repos/repo1/branch?list=true" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/Local/Branch" 3 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the xml response should contain "/response/Remote/Branch" 0 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And there is an xpath "/response/Local/Branch/name/text()" that equals "master" # WebAPICucumberHooks.checkOneXPathEquals(String,String) And there is an xpath "/response/Local/Branch/name/text()" that equals "branch1" # WebAPICucumberHooks.checkOneXPathEquals(String,String) And there is an xpath "/response/Local/Branch/name/text()" that equals "branch2" # WebAPICucumberHooks.checkOneXPathEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling branch with the list and remotes parameters lists all local and remote branches # Branch.feature:30 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And There are multiple branches on the "repo1" repo # WebAPICucumberHooks.There_are_multiple_branches(String) When I call "GET /repos/repo1/branch?list=true&remotes=true" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/Local/Branch" 3 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the xml response should contain "/response/Remote/Branch" 3 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And there is an xpath "/response/Local/Branch/name/text()" that equals "master" # WebAPICucumberHooks.checkOneXPathEquals(String,String) And there is an xpath "/response/Local/Branch/name/text()" that equals "branch1" # WebAPICucumberHooks.checkOneXPathEquals(String,String) And there is an xpath "/response/Local/Branch/name/text()" that equals "branch2" # WebAPICucumberHooks.checkOneXPathEquals(String,String) And there is an xpath "/response/Remote/Branch/remoteName/text()" that equals "origin" # WebAPICucumberHooks.checkOneXPathEquals(String,String) And there is an xpath "/response/Remote/Branch/name/text()" that equals "master_remote" # WebAPICucumberHooks.checkOneXPathEquals(String,String) And there is an xpath "/response/Remote/Branch/name/text()" that equals "branch1_remote" # WebAPICucumberHooks.checkOneXPathEquals(String,String) And there is an xpath "/response/Remote/Branch/name/text()" that equals "branch2_remote" # WebAPICucumberHooks.checkOneXPathEquals(String,String) And the response body should contain "branch2_remote" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling branch with a branch name creates a new branch # Branch.feature:47 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/branch?branchName=new_branch" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/BranchCreated/name/text()" equals "new_branch" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/BranchCreated/source/text()" equals "{@ObjectId|repo1|master}" # WebAPICucumberHooks.checkXPathEquals(String,String) When I call "GET /repos/repo1/repo/manifest" # WebAPICucumberHooks.callURL(String) Then the response body should contain "new_branch" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling branch with a branch name and source creates a new branch from the source # Branch.feature:57 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/branch?branchName=new_branch&source=branch1" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/BranchCreated/name/text()" equals "new_branch" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/BranchCreated/source/text()" equals "{@ObjectId|repo1|branch1}" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/BranchCreated/source" 1 times # WebAPICucumberHooks.checkXPathCadinality(String,int) When I call "GET /repos/repo1/repo/manifest" # WebAPICucumberHooks.callURL(String) Then the response body should contain "new_branch" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling branch with a branch name that already exists issues a 400 status code # Branch.feature:68 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/branch?branchName=branch1" # WebAPICucumberHooks.callURL(String) Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" equals "A branch named 'branch1' already exists." # WebAPICucumberHooks.checkXPathEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling branch with a source that does not exist issues a 400 status code # Branch.feature:74 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/branch?branchName=new_branch&source=nonexistent" # WebAPICucumberHooks.callURL(String) Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" equals "nonexistent does not resolve to a repository object" # WebAPICucumberHooks.checkXPathEquals(String,String) @Commands @Cat Feature: Cat The cat command allows a user to display the attributes of a repository object and is supported through the "/repos/{repository}/cat" endpoint The command must be executed using the HTTP GET method [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Verify wrong HTTP method issues 405 "Method not allowed" # Cat.feature:6 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "PUT /repos/repo1/cat" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "GET" # WebAPICucumberHooks.checkResponseAllowedMethods(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling cat without specifying an object id issues a 500 status code # Cat.feature:12 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/cat" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "Required parameter 'objectid' was not provided." # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling cat with an invalid object id issues a 400 status code # Cat.feature:18 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/cat?objectid=notobjectid" # WebAPICucumberHooks.callURL(String) Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "You must specify a valid non-null ObjectId." # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling cat with a nonexistent object id issues a 400 status code # Cat.feature:24 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/cat?objectid=0123456789012345678901234567890123456789" # WebAPICucumberHooks.callURL(String) Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "The specified ObjectId was not found in the respository." # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling cat on a commit returns details of that commit # Cat.feature:30 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/cat?objectid={@ObjectId|repo1|master}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commit/id/text()" equals "{@ObjectId|repo1|master}" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commit/parents/id/text()" equals "{@ObjectId|repo1|master~1}" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commit/author/name/text()" equals "geogigUser" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commit/author/email/text()" equals "repo1_Owner@geogig.org" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commit/committer/name/text()" equals "geogigUser" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commit/committer/email/text()" equals "repo1_Owner@geogig.org" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commit/message/text()" contains "merge branch branch2 onto master" # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling cat on a feature returns details of that feature # Cat.feature:43 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/cat?objectid={@ObjectId|repo1|master:Points/Point.1}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/feature/id/text()" equals "{@ObjectId|repo1|master:Points/Point.1}" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/feature/attribute" 3 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the response body should contain "StringProp1_1" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "1000" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "POINT (0 0)" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling cat on a feature tree returns details of that tree # Cat.feature:54 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/cat?objectid={@ObjectId|repo1|master:Points}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/tree/id/text()" equals "{@ObjectId|repo1|master:Points}" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/tree/size/text()" equals "3" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/tree/numtrees/text()" equals "0" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/tree/feature" 3 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the response body should contain "Point.1" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "Point.2" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "Point.3" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling cat on a tag returns details of that tag # Cat.feature:67 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() And There is a tag called "tag1" on the "repo1" repo pointing to "{@ObjectId|repo1|master}" with the "My tag" message # WebAPICucumberHooks.There_is_a_tag(String,String,String,String) When I call "GET /repos/repo1/cat?objectid={@ObjectId|repo1|refs/tags/tag1}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/tag/id/text()" equals "{@ObjectId|repo1|refs/tags/tag1}" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/tag/commitid/text()" equals "{@ObjectId|repo1|master}" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/tag/name/text()" equals "tag1" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/tag/message/text()" equals "My tag" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/tag/tagger/name/text()" equals "geogigUser" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/tag/tagger/email/text()" equals "repo1_Owner@geogig.org" # WebAPICucumberHooks.checkXPathEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling cat on a feature type returns details of that feature type # Cat.feature:80 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/cat?objectid={@PointsTypeID}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/featuretype/id/text()" equals "{@PointsTypeID}" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/featuretype/name/text()" equals "http://geogig.org:Points" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/featuretype/attribute" 3 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the response body should contain "sp" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "ip" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "geom" # WebAPICucumberHooks.checkResponseTextContains(String) @Commands @Checkout Feature: Checkout The checkout command allows a user to switch branches or resolve conflicts and is supported through the "/repos/{repository}/checkout" endpoint The command must be executed using the HTTP GET method [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Verify wrong HTTP method issues 405 "Method not allowed" # Checkout.feature:6 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "PUT /repos/repo1/checkout" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "GET" # WebAPICucumberHooks.checkResponseAllowedMethods(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Checkout outside of a transaction issues 500 "Transaction required" # Checkout.feature:12 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/checkout" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "No transaction was specified" # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Checkout outside of a repository issues 404 "Not found" # Checkout.feature:18 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "GET /repos/repo1/checkout" # WebAPICucumberHooks.callURL(String) Then the response status should be '404' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "Repository not found" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling checkout without specifying a branch or path issues a 500 status code # Checkout.feature:25 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And I have a transaction as "@txId" on the "repo1" repo # WebAPICucumberHooks.beginTransactionAsVariable(String,String) When I call "GET /repos/repo1/checkout?transactionId={@txId}" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "No branch or commit specified for checkout." # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling checkout with a branch name changes the current branch # Checkout.feature:32 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() And I have a transaction as "@txId" on the "repo1" repo # WebAPICucumberHooks.beginTransactionAsVariable(String,String) When I call "GET /repos/repo1/checkout?transactionId={@txId}&branch=branch1" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/OldTarget/text()" equals "refs/heads/master" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/NewTarget/text()" equals "branch1" # WebAPICucumberHooks.checkXPathEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling checkout with a conflicted path with 'ours' will checkout 'our' version of the feature # Checkout.feature:41 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And I have a transaction as "@txId" on the "repo1" repo # WebAPICucumberHooks.beginTransactionAsVariable(String,String) And There are conflicts on the "repo1" repo in the @txId transaction # WebAPICucumberHooks.There_are_conflict(String,String) When I call "GET /repos/repo1/checkout?transactionId={@txId}&path=Points/Point.1&ours=true" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/Path/text()" equals "Points/Point.1" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/Strategy/text()" equals "ours" # WebAPICucumberHooks.checkXPathEquals(String,String) And the variable "{@ObjectId|repo1|@txId|WORK_HEAD:Points/Point.1}" equals "{@ObjectId|repo1|@txId|master:Points/Point.1}" # WebAPICucumberHooks.checkVariableEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling checkout with a conflicted path with 'theirs' will checkout 'their' version of the feature # Checkout.feature:52 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And I have a transaction as "@txId" on the "repo1" repo # WebAPICucumberHooks.beginTransactionAsVariable(String,String) And There are conflicts on the "repo1" repo in the @txId transaction # WebAPICucumberHooks.There_are_conflict(String,String) When I call "GET /repos/repo1/checkout?transactionId={@txId}&path=Points/Point.1&theirs=true" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/Path/text()" equals "Points/Point.1" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/Strategy/text()" equals "theirs" # WebAPICucumberHooks.checkXPathEquals(String,String) And the variable "{@ObjectId|repo1|@txId|WORK_HEAD:Points/Point.1}" equals "{@ObjectId|repo1|@txId|branch1:Points/Point.1}" # WebAPICucumberHooks.checkVariableEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling checkout with a conflicted path with neither 'ours' or 'theirs' issues a 500 status code # Checkout.feature:63 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And I have a transaction as "@txId" on the "repo1" repo # WebAPICucumberHooks.beginTransactionAsVariable(String,String) And There are conflicts on the "repo1" repo in the @txId transaction # WebAPICucumberHooks.There_are_conflict(String,String) When I call "GET /repos/repo1/checkout?transactionId={@txId}&path=Points/Point.1" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" equals "Please specify either ours or theirs to update the feature path specified." # WebAPICucumberHooks.checkXPathEquals(String,String) @Commands @Commit Feature: Commit The commit command allows a user to commit staged changes and is supported through the "/repos/{repository}/commit" endpoint The command must be executed using the HTTP GET method [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Verify wrong HTTP method issues 405 "Method not allowed" # Commit.feature:6 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "PUT /repos/repo1/commit" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "GET" # WebAPICucumberHooks.checkResponseAllowedMethods(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Commit outside of a transaction issues 500 "Transaction required" # Commit.feature:12 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/commit" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "No transaction was specified" # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Commit outside of a repository issues 404 "Not found" # Commit.feature:18 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "GET /repos/repo1/commit" # WebAPICucumberHooks.callURL(String) Then the response status should be '404' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "Repository not found" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling commit with no changes creates an empty commit # Commit.feature:25 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And I have a transaction as "@txId" on the "repo1" repo # WebAPICucumberHooks.beginTransactionAsVariable(String,String) When I call "GET /repos/repo1/commit?transactionId={@txId}&message=My%20Message" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commitId/text()" equals "{@ObjectId|repo1|@txId|master}" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/added/text()" equals "0" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/changed/text()" equals "0" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/deleted/text()" equals "0" # WebAPICucumberHooks.checkXPathEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling commit with unstaged features creates an empty commit # Commit.feature:36 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And I have a transaction as "@txId" on the "repo1" repo # WebAPICucumberHooks.beginTransactionAsVariable(String,String) And I have unstaged "Point.1" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_unstaged(String,String,String) And I have unstaged "Point.2" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_unstaged(String,String,String) And I have unstaged "Line.1" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_unstaged(String,String,String) When I call "GET /repos/repo1/commit?transactionId={@txId}&message=My%20Message" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commitId/text()" equals "{@ObjectId|repo1|@txId|master}" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/added/text()" equals "0" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/changed/text()" equals "0" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/deleted/text()" equals "0" # WebAPICucumberHooks.checkXPathEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling commit with staged features commits all staged features # Commit.feature:51 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And I have a transaction as "@txId" on the "repo1" repo # WebAPICucumberHooks.beginTransactionAsVariable(String,String) And I have staged "Point.1" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_staged(String,String,String) And I have staged "Point.2" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_staged(String,String,String) And I have staged "Line.1" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_staged(String,String,String) When I call "GET /repos/repo1/commit?transactionId={@txId}&message=My%20Message" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commitId/text()" equals "{@ObjectId|repo1|@txId|master}" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/added/text()" equals "3" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/changed/text()" equals "0" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/deleted/text()" equals "0" # WebAPICucumberHooks.checkXPathEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: I should be able supply commit with a different author name and commit message # Commit.feature:65 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And I have a transaction as "@txId" on the "repo1" repo # WebAPICucumberHooks.beginTransactionAsVariable(String,String) And I have staged "Point.1" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_staged(String,String,String) And I have staged "Point.2" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_staged(String,String,String) And I have staged "Line.1" on the "repo1" repo in the "@txId" transaction # WebAPICucumberHooks.I_have_staged(String,String,String) When I call "GET /repos/repo1/commit?transactionId={@txId}&message=My%20Message&authorName=myAuthor&authorEmail=myAuthor@geogig.org" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commitId/text()" equals "{@ObjectId|repo1|@txId|master}" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/added/text()" equals "3" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/changed/text()" equals "0" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/deleted/text()" equals "0" # WebAPICucumberHooks.checkXPathEquals(String,String) When I call "GET /repos/repo1/cat?objectid={@ObjectId|repo1|@txId|master}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commit/author/name/text()" equals "myAuthor" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commit/author/email/text()" equals "myAuthor@geogig.org" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/commit/message/text()" contains "My Message" # WebAPICucumberHooks.checkXPathValueContains(String,String) @Commands @Config Feature: Config The config command allows a user to get and set config values and is supported through the "/repos/{repository}/config" endpoint The command must be executed using the HTTP GET or POST methods [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Verify wrong HTTP method issues 405 "Method not allowed" # Config.feature:6 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "DELETE /repos/repo1/config" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "GET,POST" # WebAPICucumberHooks.checkResponseAllowedMethods(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Config outside of a repository issues 404 "Not found" # Config.feature:12 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "GET /repos/repo1/config" # WebAPICucumberHooks.callURL(String) Then the response status should be '404' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "Repository not found" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Config POST without specifying a key issues a 400 status code # Config.feature:19 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "POST /repos/repo1/config" # WebAPICucumberHooks.callURL(String) Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "You must specify the key when setting a config key." # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Config POST without specifying a value issues a 400 status code # Config.feature:25 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "POST /repos/repo1/config?name=user.name" # WebAPICucumberHooks.callURL(String) Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "You must specify the value when setting a config key." # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Config POST with a name and value in the url sets the config entry and GET retrieves the set value # Config.feature:31 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "POST /repos/repo1/config?name=user.name&value=myUser" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) When I call "GET /repos/repo1/config?name=user.name" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/value/text()" equals "myUser" # WebAPICucumberHooks.checkXPathEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Config POST with a name and value as json sets the config entry and GET retrieves the set value # Config.feature:40 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I "POST" content-type "application/json" to "/repos/repo1/config" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "name":"user.name", "value":"myUser" } """ Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) When I call "GET /repos/repo1/config?name=user.name" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/value/text()" equals "myUser" # WebAPICucumberHooks.checkXPathEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Config POST with a name and value as xml sets the config entry and GET retrieves the set value # Config.feature:55 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I "POST" content-type "application/xml" to "/repos/repo1/config" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ <params> <name>user.name</name> <value>myUser</value> </params> """ Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) When I call "GET /repos/repo1/config?name=user.name" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/value/text()" equals "myUser" # WebAPICucumberHooks.checkXPathEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Config GET without a name will list all config entries # Config.feature:70 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "POST /repos/repo1/config?name=config.value1&value=myValue1" # WebAPICucumberHooks.callURL(String) And I call "POST /repos/repo1/config?name=config.value2&value=myValue2" # WebAPICucumberHooks.callURL(String) When I call "GET /repos/repo1/config" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the response body should contain "config.value1" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "myValue1" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "config.value2" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "myValue2" # WebAPICucumberHooks.checkResponseTextContains(String) @RepositoryManagement @CreateRepository Feature: Create Repository Creating a repository on the server is done through the "/repos/{repository}/init" command The command must be executed using the HTTP PUT method If a repository with the provided name already exists, then a 409 "Conflict" error code shall be returned If the command succeeds, the response status code is 201 "Created" Scenario: Verify wrong HTTP method issues 405 "Method not allowed" # CreateRepository.feature:8 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "GET /repos/repo1/init" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "PUT" # WebAPICucumberHooks.checkResponseAllowedMethods(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit1684877666953985630/extraRepo/.geogig/ [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository extraRepo using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() @FileRepository Scenario: Verify trying to create an existing repo issues 409 "Conflict" # CreateRepository.feature:15 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() And I have "extraRepo" that is not managed # WebAPICucumberHooks.setupExtraUnMangedRepo(String) When I "PUT" content-type "application/json" to "/repos/extraRepo/init" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "parentDirectory":"{@systemTempPath}" } """ Then the response status should be '409' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/xml" # WebAPICucumberHooks.checkContentType(String) And the xpath "/response/success/text()" equals "false" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/error/text()" equals "Cannot run init on an already initialized repository." # WebAPICucumberHooks.checkXPathEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Create repository on empty server # CreateRepository.feature:29 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "PUT /repos/repo1/init" # WebAPICucumberHooks.callURL(String) Then the response status should be '201' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/xml" # WebAPICucumberHooks.checkContentType(String) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/repo/name/text()" equals "repo1" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/repo/atom:link/@href" contains "/repos/repo1.xml" # WebAPICucumberHooks.checkXPathValueContains(String,String) Scenario: Verify wrong HTTP method issues 405 "Method not allowed", JSON requested response # CreateRepository.feature:38 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "GET /repos/repo1/init.json" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "PUT" # WebAPICucumberHooks.checkResponseAllowedMethods(String) [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit2879988553928399645/464e2c113767987d/.geogig/ [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit708554578656267170/extraRepo/.geogig/ [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository extraRepo using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() @FileRepository Scenario: Verify trying to create an existing repo issues 409 "Conflict", JSON requested response # CreateRepository.feature:45 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() And I have "extraRepo" that is not managed # WebAPICucumberHooks.setupExtraUnMangedRepo(String) When I "PUT" content-type "application/json" to "/repos/extraRepo/init.json" with # WebAPICucumberHooks.requestWithContent(String,String,String,String) """ { "parentDirectory":"{@systemTempPath}" } """ Then the response status should be '409' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "false" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.error" equals "Cannot run init on an already initialized repository." # WebAPICucumberHooks.checkJSONResponse(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Create repository on empty server, JSON requested response # CreateRepository.feature:59 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "PUT /repos/repo1/init.json" # WebAPICucumberHooks.callURL(String) Then the response status should be '201' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "true" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.repo.name" equals "repo1" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.repo.href" ends with "/repos/repo1.json" # WebAPICucumberHooks.checkJSONResponseEndsWith(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit7339444934690638548/b1f20669b830e668/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit4636381697078767142/86b582ab1be46935/.geogig/ [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() @FileRepository Scenario: Verify JSON fomratted response of Init with JSON formatted request parameters # CreateRepository.feature:69 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "PUT /repos/repo1/init.json" with the System Temp Directory as the parentDirectory # WebAPICucumberHooks.callURLWithJSONPaylod(String) Then the response status should be '201' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "true" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.repo.name" equals "repo1" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.repo.href" ends with "/repos/repo1.json" # WebAPICucumberHooks.checkJSONResponseEndsWith(String,String) And the parent directory of repository "repo1" equals System Temp directory # WebAPICucumberHooks.checkRepositoryParent(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() @FileRepository Scenario: Verify XML fomratted response of Init with JSON formatted request parameters # CreateRepository.feature:80 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "PUT /repos/repo1/init" with the System Temp Directory as the parentDirectory # WebAPICucumberHooks.callURLWithJSONPaylod(String) Then the response status should be '201' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/xml" # WebAPICucumberHooks.checkContentType(String) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/repo/name/text()" equals "repo1" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/repo/atom:link/@href" contains "/repos/repo1.xml" # WebAPICucumberHooks.checkXPathValueContains(String,String) And the parent directory of repository "repo1" equals System Temp directory # WebAPICucumberHooks.checkRepositoryParent(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() @FileRepository Scenario: Verify JSON fomratted response of Init with URL Form encoded request parameters # CreateRepository.feature:91 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "PUT /repos/repo1/init.json" with a URL encoded Form containing a parentDirectory parameter # WebAPICucumberHooks.callURLWithFormPaylod(String) Then the response status should be '201' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "true" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.repo.name" equals "repo1" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.repo.href" ends with "/repos/repo1.json" # WebAPICucumberHooks.checkJSONResponseEndsWith(String,String) And the parent directory of repository "repo1" equals System Temp directory # WebAPICucumberHooks.checkRepositoryParent(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() @FileRepository Scenario: Verify XML fomratted response of Init with URL Form encoded request parameters # CreateRepository.feature:102 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "PUT /repos/repo1/init" with a URL encoded Form containing a parentDirectory parameter # WebAPICucumberHooks.callURLWithFormPaylod(String) Then the response status should be '201' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/xml" # WebAPICucumberHooks.checkContentType(String) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/repo/name/text()" equals "repo1" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/repo/atom:link/@href" contains "/repos/repo1.xml" # WebAPICucumberHooks.checkXPathValueContains(String,String) And the parent directory of repository "repo1" equals System Temp directory # WebAPICucumberHooks.checkRepositoryParent(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit2332632666136675524/0e6367f315f499d8/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit3486081196471895474/fd5be299caac69d0/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit3486081196471895474/fd5be299caac69d0/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit5162500240954153979/0b719859789f51bf/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit5162500240954153979/0b719859789f51bf/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit1570026233444023109/f76d7c2b453f652e/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit1570026233444023109/f76d7c2b453f652e/.geogig/ [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() @FileRepository Scenario: Verify JSON fomratted response of Init with JSON formatted request parameters and Author # CreateRepository.feature:113 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "PUT /repos/repo1/init.json" with Author and the System Temp Directory as the parentDirectory # WebAPICucumberHooks.callURLWithJSONPayloadAndAuthor(String) Then the response status should be '201' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "true" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.repo.name" equals "repo1" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.repo.href" ends with "/repos/repo1.json" # WebAPICucumberHooks.checkJSONResponseEndsWith(String,String) And the parent directory of repository "repo1" equals System Temp directory # WebAPICucumberHooks.checkRepositoryParent(String) And the Author config of repository "repo1" is set # WebAPICucumberHooks.checkAuthorConfig(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() @FileRepository Scenario: Verify XML fomratted response of Init with JSON formatted request parameters and Author # CreateRepository.feature:125 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "PUT /repos/repo1/init" with Author and the System Temp Directory as the parentDirectory # WebAPICucumberHooks.callURLWithJSONPayloadAndAuthor(String) Then the response status should be '201' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/xml" # WebAPICucumberHooks.checkContentType(String) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/repo/name/text()" equals "repo1" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/repo/atom:link/@href" contains "/repos/repo1.xml" # WebAPICucumberHooks.checkXPathValueContains(String,String) And the parent directory of repository "repo1" equals System Temp directory # WebAPICucumberHooks.checkRepositoryParent(String) And the Author config of repository "repo1" is set # WebAPICucumberHooks.checkAuthorConfig(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() @FileRepository Scenario: Verify JSON fomratted response of Init with URL Form encoded request parameters and Author # CreateRepository.feature:137 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "PUT /repos/repo1/init.json" with a URL encoded Form containing a parentDirectory parameter and Author # WebAPICucumberHooks.callURLWithFormPaylodWithAuthor(String) Then the response status should be '201' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "true" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.repo.name" equals "repo1" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json object "response.repo.href" ends with "/repos/repo1.json" # WebAPICucumberHooks.checkJSONResponseEndsWith(String,String) And the parent directory of repository "repo1" equals System Temp directory # WebAPICucumberHooks.checkRepositoryParent(String) And the Author config of repository "repo1" is set # WebAPICucumberHooks.checkAuthorConfig(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit6772524185917131254/58d216b1b530ec6f/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit3915064551775557627/e3c2c49c4d937b16/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit6772524185917131254/58d216b1b530ec6f/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit1263953109350888827/c36f65f90fde8906/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit1263953109350888827/c36f65f90fde8906/.geogig/ [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() @FileRepository Scenario: Verify XML fomratted response of Init with URL Form encoded request parameters and Author # CreateRepository.feature:149 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "PUT /repos/repo1/init" with a URL encoded Form containing a parentDirectory parameter and Author # WebAPICucumberHooks.callURLWithFormPaylodWithAuthor(String) Then the response status should be '201' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/xml" # WebAPICucumberHooks.checkContentType(String) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/repo/name/text()" equals "repo1" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/repo/atom:link/@href" contains "/repos/repo1.xml" # WebAPICucumberHooks.checkXPathValueContains(String,String) And the parent directory of repository "repo1" equals System Temp directory # WebAPICucumberHooks.checkRepositoryParent(String) And the Author config of repository "repo1" is set # WebAPICucumberHooks.checkAuthorConfig(String) Scenario: Verify Init with unsupported MediaType does not create a repository with defualt settings # CreateRepository.feature:160 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "PUT /repos/repo1/init.json" with an unsupported media type # WebAPICucumberHooks.callURLWithUnsupportedMediaType(String) Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And there should be no "repo1" created # WebAPICucumberHooks.checkRepoNotInitialized(String) @RepositoryManagement @DeleteRepository Feature: Delete Repository Deleting a repository through the web API is a non reversible operation. * In order to avoid accidental deletion of repositories, it is a two-step process: * first a GET call to "/repos/{repository}/delete" returns an automatically generated token with the format: * <response><success>true</success><token>d713df9c703733e2</token></response>. * To actually delete the repository, a HTTP DELETE method call to "/repos/{repository}?token={token}" must be issued, with a valid and non expired token. * An attempt to delete a non existent repository, results in a 404 "Not found" error code. * A successfull DELETE operation returns a 200 status code, * the XML response body is <deleted>true</deleted>, the JSON response body is '{"deleted":true}' [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Requesting delete token with wrong HTTP Method issues 405 "Method not allowed" # DeleteRepository.feature:12 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "POST /repos/repo1/delete" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "GET" # WebAPICucumberHooks.checkResponseAllowedMethods(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository nonExistentRepo using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Requesting a delete token for a non existent repository issues 404 "Not found" # DeleteRepository.feature:18 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/nonExistentRepo/delete" # WebAPICucumberHooks.callURL(String) Then the response status should be '404' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "Repository not found" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository nonExistentRepo using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Try deleting a non existent repository issues 404 "Not found" # DeleteRepository.feature:25 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "DELETE /repos/nonExistentRepo?token=someToken" # WebAPICucumberHooks.callURL(String) Then the response status should be '404' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "error:No repository to delete." # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Succesfully delete a repository # DeleteRepository.feature:32 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo2/delete" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/xml" # WebAPICucumberHooks.checkContentType(String) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/token" # WebAPICucumberHooks.checkResponseContainsXPath(String) Then I save the response "/response/token/text()" as "@token" # WebAPICucumberHooks.saveResponseXPathValueAsVariable(String,String) When I call "DELETE /repos/repo2?token={@token}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/xml" # WebAPICucumberHooks.checkContentType(String) And the xpath "/deleted/text()" equals "repo2" # WebAPICucumberHooks.checkXPathEquals(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Requesting delete token with wrong HTTP Method issues 405 "Method not allowed", JSON requested response # DeleteRepository.feature:45 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "POST /repos/repo1/delete.json" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "GET" # WebAPICucumberHooks.checkResponseAllowedMethods(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository nonExistentRepo using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Requesting a delete token for a non existent repository issues 404 "Not found", JSON requested response # DeleteRepository.feature:51 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/nonExistentRepo/delete.json" # WebAPICucumberHooks.callURL(String) Then the response status should be '404' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "Repository not found" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository nonExistentRepo using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Try deleting a non existent repository issues 404 "Not found", JSON requested response # DeleteRepository.feature:58 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "DELETE /repos/nonExistentRepo.json?token=someToken" # WebAPICucumberHooks.callURL(String) Then the response status should be '404' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "error:No repository to delete." # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit2332632666136675524/0e6367f315f499d8/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit7339444934690638548/b1f20669b830e668/.geogig/ [Finalizer] WARN org.locationtech.geogig.repository.impl.RepositoryImpl - Repository instance being finalized without having been closed: file:/opt/public/hipp/ramdisk/geogig/junit3915064551775557627/e3c2c49c4d937b16/.geogig/ [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Succesfully delete a repository, JSON requested response # DeleteRepository.feature:65 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo2/delete.json" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "response.success" equals "true" # WebAPICucumberHooks.checkJSONResponse(String,String) And the json response "response" should contain "token" # WebAPICucumberHooks.checkJSONResponseContains(String,String) Then I save the json response "response.token" as "@token" # WebAPICucumberHooks.saveResponseJSONValueAsVariable(String,String) When I call "DELETE /repos/repo2.json?token={@token}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "application/json" # WebAPICucumberHooks.checkContentType(String) And the json object "deleted" equals "repo2" # WebAPICucumberHooks.checkJSONResponse(String,String) @Repo @Depth Feature: Depth The Depth resource returns the depth of the repository from a specific commit and is supported through the "/repos/{repository}/repo/getdepth" endpoint The command must be executed using the HTTP GET method [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Verify wrong HTTP method issues 405 "Method not allowed" # Depth.feature:6 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "PUT /repos/repo1/repo/getdepth" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "GET" # WebAPICucumberHooks.checkResponseAllowedMethods(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Depth outside of a repository issues 404 "Not found" # Depth.feature:12 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "GET /repos/repo1/repo/getdepth" # WebAPICucumberHooks.callURL(String) Then the response status should be '404' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "Repository not found" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Depth with an invalid commit issues a 400 status code # Depth.feature:19 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/repo/getdepth?commitId=invalid" # WebAPICucumberHooks.callURL(String) Then the response status should be '400' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "You must specify a valid commit id." # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Depth with no commit returns no depth for a non-shallow repository # Depth.feature:26 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/repo/getdepth" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository shallow using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository full using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() @ShallowDepth Scenario: Depth with no commit returns the depth of a shallow repository # Depth.feature:34 Given There is a default multirepo server with a shallow clone # WebAPICucumberHooks.setUpDefaultMultiRepoWithShallowClone() When I call "GET /repos/shallow/repo/getdepth" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "1" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Depth with a commit returns the number of ancestors that commit has # Depth.feature:41 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/repo/getdepth?commitId={@ObjectId|repo1|branch1}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "1" # WebAPICucumberHooks.checkResponseTextContains(String) When I call "GET /repos/repo1/repo/getdepth?commitId={@ObjectId|repo1|master}" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "2" # WebAPICucumberHooks.checkResponseTextContains(String) @Commands @Diff Feature: Diff The diff command allows a user to see the difference between two commits and is supported through the "/repos/{repository}/config" endpoint The command must be executed using the HTTP GET method [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Verify wrong HTTP method issues 405 "Method not allowed" # Diff.feature:6 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "PUT /repos/repo1/diff" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "GET" # WebAPICucumberHooks.checkResponseAllowedMethods(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Diff outside of a repository issues 404 "Not found" # Diff.feature:12 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "GET /repos/repo1/diff?oldRefSpec=someRefSpec" # WebAPICucumberHooks.callURL(String) Then the response status should be '404' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "Repository not found" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling diff without specifying an old ref spec issues a 500 status code # Diff.feature:19 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/diff" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "Required parameter 'oldRefSpec' was not provided." # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling diff with an empty old ref spec issues a 500 status code # Diff.feature:25 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/diff?oldRefSpec=%20" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "Invalid old ref spec" # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling diff with an old ref spec returns all of the changes since that commit # Diff.feature:31 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/diff?oldRefSpec=master~2" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/diff" 6 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the response body should contain "Points/Point.2" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "Points/Point.3" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "Lines/Line.2" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "Lines/Line.3" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "Polygons/Polygon.2" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "Polygons/Polygon.3" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling diff with two ref specs returns all of the changes since those commits # Diff.feature:44 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/diff?oldRefSpec=master~2&newRefSpec=master~1" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/diff" 3 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the response body should contain "Points/Point.2" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "Lines/Line.2" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "Polygons/Polygon.2" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Diff should support paging results # Diff.feature:54 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/diff?oldRefSpec=master~2&page=0&show=2" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/diff" 2 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the response body should contain "Points/Point.2" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "Points/Point.3" # WebAPICucumberHooks.checkResponseTextContains(String) When I call "GET /repos/repo1/diff?oldRefSpec=master~2&page=1&show=2" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/diff" 2 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the response body should contain "Polygons/Polygon.2" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "Polygons/Polygon.3" # WebAPICucumberHooks.checkResponseTextContains(String) When I call "GET /repos/repo1/diff?oldRefSpec=master~2&page=2&show=2" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/diff" 2 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the response body should contain "Lines/Line.2" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "Lines/Line.3" # WebAPICucumberHooks.checkResponseTextContains(String) @Commands @FeatureDiff Feature: FeatureDiff The feature diff command allows a user to see the difference between two versions of a specific feature and is supported through the "/repos/{repository}/featurediff" endpoint The command must be executed using the HTTP GET method [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Verify wrong HTTP method issues 405 "Method not allowed" # FeatureDiff.feature:6 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "PUT /repos/repo1/featurediff" # WebAPICucumberHooks.callURL(String) Then the response status should be '405' # WebAPICucumberHooks.checkStatusCode(int) And the response allowed methods should be "GET" # WebAPICucumberHooks.checkResponseAllowedMethods(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Feature diff outside of a repository issues 404 "Not found" # FeatureDiff.feature:12 Given There is an empty multirepo server # WebAPICucumberHooks.setUpEmptyMultiRepo() When I call "GET /repos/repo1/featurediff?path=somePath" # WebAPICucumberHooks.callURL(String) Then the response status should be '404' # WebAPICucumberHooks.checkStatusCode(int) And the response ContentType should be "text/plain" # WebAPICucumberHooks.checkContentType(String) And the response body should contain "Repository not found" # WebAPICucumberHooks.checkResponseTextContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling feature diff without specifying a path issues a 500 status code # FeatureDiff.feature:19 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/featurediff" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "Required parameter 'path' was not provided." # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Calling feature diff with an empty path issues a 500 status code # FeatureDiff.feature:25 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) When I call "GET /repos/repo1/featurediff?path=%20" # WebAPICucumberHooks.callURL(String) Then the response status should be '500' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/error/text()" contains "Invalid path was specified" # WebAPICucumberHooks.checkXPathValueContains(String,String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Feature diff should work for an added feature # FeatureDiff.feature:31 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/featurediff?path=Points/Point.3&oldTreeish=master~1&newTreeish=master" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/diff" 3 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the response body should contain "ADDED" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "StringProp1_3" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "3000" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "POINT (10 10)" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should not contain "MODIFIED" # WebAPICucumberHooks.checkResponseTextNotContains(String) And the response body should not contain "REMOVED" # WebAPICucumberHooks.checkResponseTextNotContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo2 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Feature diff should work for a removed feature # FeatureDiff.feature:44 Given There is a default multirepo server # WebAPICucumberHooks.setUpDefaultMultiRepo() When I call "GET /repos/repo1/featurediff?path=Points/Point.3&oldTreeish=master&newTreeish=master~1" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/diff" 3 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the response body should contain "REMOVED" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "StringProp1_3" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "3000" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should contain "POINT (10 10)" # WebAPICucumberHooks.checkResponseTextContains(String) And the response body should not contain "MODIFIED" # WebAPICucumberHooks.checkResponseTextNotContains(String) And the response body should not contain "ADDED" # WebAPICucumberHooks.checkResponseTextNotContains(String) [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Loading repository repo1 using FileRepositoryResolver [main] INFO org.locationtech.geogig.web.MultiRepositoryProvider - Disposing repository {}. Cause: manually removed by remove() or invalidateAll() Scenario: Feature diff should work for a modified feature # FeatureDiff.feature:57 Given There is an empty repository named repo1 # WebAPICucumberHooks.setUpEmptyRepo(String) And There is a feature with multiple authors on the "repo1" repo # WebAPICucumberHooks.There_is_a_feature_with_multiple_authors(String) When I call "GET /repos/repo1/featurediff?path=Points/Point.1&oldTreeish=master~1&newTreeish=master" # WebAPICucumberHooks.callURL(String) Then the response status should be '200' # WebAPICucumberHooks.checkStatusCode(int) And the xpath "/response/success/text()" equals "true" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xml response should contain "/response/diff" 1 times # WebAPICucumberHooks.checkXPathCadinality(String,int) And the xpath "/response/diff/attributename/text()" equals "ip" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/diff/changetype/text()" equals "MODIFIED" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/diff/oldvalue/text()" equals "1000" # WebAPICucumberHooks.checkXPathEquals(String,String) And the xpath "/response/diff/newvalue/text()" equals "1500" # WebAPICucumberHooks.checkXPathEquals(String,String) And the response body should not contain "ADDED" # WebAPICucumberHooks.checkResponseTextNotContains(String) And the response body should not contain "REMOVED" # WebAPICucumberHooks.checkResponseTextNotContains(String) @Commands @Fetch Feature: Fetch The fetch command allows a user to fetch the changes from a remote repo and is supported through the "/repos/{repository}/featuredif