Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add ShortestPath.feature to acceptance-spec-suite
o Drops use old JSON parser from parser combinators o Drops old GraphArchive code o Make sure resources companion class works when accessing feature files via the local filesystem (instead of a jar) o Extract common code from spec suites o Move acceptance feature spec files below src/main/resources/cypher
- Loading branch information
Showing
19 changed files
with
936 additions
and
209 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
30 changes: 30 additions & 0 deletions
30
...unity/cypher/acceptance-spec-suite/src/test/java/cypher/AcceptanceSpecSuiteResources.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/* | ||
* Copyright (c) 2002-2016 "Neo Technology," | ||
* Network Engine for Objects in Lund AB [http://neotechnology.com] | ||
* | ||
* This file is part of Neo4j. | ||
* | ||
* Neo4j is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
package cypher; | ||
|
||
import org.junit.runners.model.RunnerBuilder; | ||
|
||
public class AcceptanceSpecSuiteResources extends SpecSuiteResources | ||
{ | ||
public AcceptanceSpecSuiteResources( Class<?> klass, RunnerBuilder builder ) throws Throwable | ||
{ | ||
super( klass, download( klass, builder ) ); | ||
} | ||
} |
98 changes: 98 additions & 0 deletions
98
community/cypher/acceptance-spec-suite/src/test/java/cypher/AcceptanceSpecSuiteTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
/* | ||
* Copyright (c) 2002-2016 "Neo Technology," | ||
* Network Engine for Objects in Lund AB [http://neotechnology.com] | ||
* | ||
* This file is part of Neo4j. | ||
* | ||
* Neo4j is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
package cypher; | ||
|
||
import cucumber.api.CucumberOptions; | ||
import cucumber.api.junit.Cucumber; | ||
import org.junit.runner.RunWith; | ||
import org.opencypher.tools.tck.TCKCucumberTemplate; | ||
|
||
@RunWith( AcceptanceSpecSuiteResources.class ) | ||
public class AcceptanceSpecSuiteTest | ||
{ | ||
|
||
// These two constants are only used to make testing and debugging easier. | ||
// If you want to run only a single feature, put the name of the feature file in `FEATURE_TO_RUN` (including .feature) | ||
// If you want to run only a single scenario, put (part of) its name in the `SCENARIO_NAME_REQUIRED` constant | ||
// Do not forget to clear these strings to empty strings before you commit!! | ||
public static final String FEATURE_TO_RUN = ""; | ||
public static final String SCENARIO_NAME_REQUIRED = ""; | ||
|
||
@SuppressWarnings( "unused" ) | ||
public static final boolean REPLACE_EXISTING = false; | ||
|
||
@RunWith( Cucumber.class ) | ||
@CucumberOptions( | ||
plugin = { | ||
DB_CONFIG + "rule.json", | ||
HTML_REPORT + "rule", | ||
JSON_REPORT + "rule" | ||
}, | ||
glue = { GLUE_PATH }, | ||
features = { FEATURE_PATH + FEATURE_TO_RUN }, | ||
strict = true | ||
) | ||
public static class Rule | ||
{ | ||
} | ||
|
||
@RunWith( Cucumber.class ) | ||
@CucumberOptions( | ||
plugin = { | ||
DB_CONFIG + "cost.json", | ||
HTML_REPORT + "cost", | ||
JSON_REPORT + "cost" | ||
}, | ||
glue = { GLUE_PATH }, | ||
features = { FEATURE_PATH + FEATURE_TO_RUN }, | ||
strict = true | ||
) | ||
public static class Cost | ||
{ | ||
} | ||
|
||
@RunWith( Cucumber.class ) | ||
@CucumberOptions( | ||
plugin = { | ||
DB_CONFIG + "cost-compiled.json", | ||
HTML_REPORT + "cost-compiled", | ||
JSON_REPORT + "cost-compiled" | ||
}, | ||
glue = { GLUE_PATH }, | ||
features = { FEATURE_PATH + FEATURE_TO_RUN }, | ||
strict = true | ||
) | ||
public static class CostCompiled | ||
{ | ||
} | ||
|
||
// constants for TCK configuration | ||
|
||
public static final String SUITE_NAME = "acceptance-spec-suite"; | ||
|
||
@SuppressWarnings( "unused" ) | ||
public static final Class<?> RESOURCE_CLASS = AcceptanceSpecSuiteTest.class; | ||
|
||
private static final String DB_CONFIG = "cypher.cucumber.db.DatabaseConfigProvider:/db-config/"; | ||
private static final String GLUE_PATH = "classpath:cypher/feature/steps"; | ||
private static final String FEATURE_PATH = "target/" + SUITE_NAME + "/features/"; | ||
private static final String HTML_REPORT = "html:target/" + SUITE_NAME + "/"; | ||
private static final String JSON_REPORT = "cypher.feature.reporting.CypherResultReporter:target/" + SUITE_NAME + "/"; | ||
} |
44 changes: 44 additions & 0 deletions
44
...pher/acceptance-spec-suite/src/test/java/cypher/AcceptanceSpecSuiteTestConstantsTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
/* | ||
* Copyright (c) 2002-2016 "Neo Technology," | ||
* Network Engine for Objects in Lund AB [http://neotechnology.com] | ||
* | ||
* This file is part of Neo4j. | ||
* | ||
* Neo4j is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
package cypher; | ||
|
||
import org.junit.Test; | ||
|
||
import static org.hamcrest.MatcherAssert.assertThat; | ||
import static org.hamcrest.Matchers.isEmptyString; | ||
import static org.junit.Assert.assertFalse; | ||
|
||
public class AcceptanceSpecSuiteTestConstantsTest | ||
{ | ||
@Test | ||
public void runsAllFeatures() { | ||
assertThat( AcceptanceSpecSuiteTest.FEATURE_TO_RUN, isEmptyString()); | ||
} | ||
|
||
@Test | ||
public void runsAllScenarios() { | ||
assertThat( AcceptanceSpecSuiteTest.SCENARIO_NAME_REQUIRED, isEmptyString()); | ||
} | ||
|
||
@Test | ||
public void doesNotReplaceExistingByDefault() { | ||
assertFalse( AcceptanceSpecSuiteTest.REPLACE_EXISTING ); | ||
} | ||
} |
Oops, something went wrong.