-
Notifications
You must be signed in to change notification settings - Fork 2.3k
/
AcceptanceSpecSuiteTest.java
98 lines (87 loc) · 3.47 KB
/
AcceptanceSpecSuiteTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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 + "/";
}