Skip to content

Commit 46b4f5d

Browse files
committed
add test code
1 parent fad297a commit 46b4f5d

File tree

5 files changed

+598
-8
lines changed

5 files changed

+598
-8
lines changed

Makefile

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# STANDALONE REDIS NODE
2+
define REDIS_STANDALONE_NODE_CONF
3+
daemonize yes
4+
port 6379
5+
pidfile /tmp/redis_standalone_node_for_spark-redis.pid
6+
logfile /tmp/redis_standalone_node_for_spark-redis.log
7+
save ""
8+
appendonly no
9+
endef
10+
11+
# CLUSTER REDIS NODES
12+
define REDIS_CLUSTER_NODE1_CONF
13+
daemonize yes
14+
port 7379
15+
pidfile /tmp/redis_cluster_node1_for_spark-redis.pid
16+
logfile /tmp/redis_cluster_node1_for_spark-redis.log
17+
save ""
18+
appendonly no
19+
cluster-enabled yes
20+
cluster-config-file /tmp/redis_cluster_node1_for_spark-redis.conf
21+
endef
22+
23+
define REDIS_CLUSTER_NODE2_CONF
24+
daemonize yes
25+
port 7380
26+
pidfile /tmp/redis_cluster_node2_for_spark-redis.pid
27+
logfile /tmp/redis_cluster_node2_for_spark-redis.log
28+
save ""
29+
appendonly no
30+
cluster-enabled yes
31+
cluster-config-file /tmp/redis_cluster_node2_for_spark-redis.conf
32+
endef
33+
34+
define REDIS_CLUSTER_NODE3_CONF
35+
daemonize yes
36+
port 7381
37+
pidfile /tmp/redis_cluster_node3_for_spark-redis.pid
38+
logfile /tmp/redis_cluster_node3_for_spark-redis.log
39+
save ""
40+
appendonly no
41+
cluster-enabled yes
42+
cluster-config-file /tmp/redis_cluster_node3_for_spark-redis.conf
43+
endef
44+
45+
export REDIS_STANDALONE_NODE_CONF
46+
export REDIS_CLUSTER_NODE1_CONF
47+
export REDIS_CLUSTER_NODE2_CONF
48+
export REDIS_CLUSTER_NODE3_CONF
49+
50+
start:
51+
echo "$$REDIS_STANDALONE_NODE_CONF" | redis-server -
52+
echo "$$REDIS_CLUSTER_NODE1_CONF" | redis-server -
53+
echo "$$REDIS_CLUSTER_NODE2_CONF" | redis-server -
54+
echo "$$REDIS_CLUSTER_NODE3_CONF" | redis-server -
55+
redis-cli -p 7380 cluster meet 127.0.0.1 7379 > /dev/null
56+
redis-cli -p 7381 cluster meet 127.0.0.1 7379 > /dev/null
57+
slots=$$(seq 0 5460); slots=$$(echo $$slots | tr '\n' ' '); redis-cli -p 7379 cluster addslots $$slots > /dev/null
58+
slots=$$(seq 5461 10922); slots=$$(echo $$slots | tr '\n' ' '); redis-cli -p 7380 cluster addslots $$slots > /dev/null
59+
slots=$$(seq 10923 16383); slots=$$(echo $$slots | tr '\n' ' '); redis-cli -p 7381 cluster addslots $$slots > /dev/null
60+
61+
stop:
62+
kill `cat /tmp/redis_standalone_node_for_spark-redis.pid`
63+
kill `cat /tmp/redis_cluster_node1_for_spark-redis.pid` || true
64+
kill `cat /tmp/redis_cluster_node2_for_spark-redis.pid` || true
65+
kill `cat /tmp/redis_cluster_node3_for_spark-redis.pid` || true
66+
rm -f /tmp/redis_cluster_node1_for_spark-redis.conf
67+
rm -f /tmp/redis_cluster_node2_for_spark-redis.conf
68+
rm -f /tmp/redis_cluster_node3_for_spark-redis.conf
69+
70+
test:
71+
make start
72+
mvn -Dtest=${TEST} clean compile test
73+
make stop
74+
75+
deploy:
76+
make start
77+
mvn clean deploy
78+
make stop
79+
80+
package:
81+
make start
82+
mvn clean package
83+
make stop
84+
85+
.PHONY: test

pom.xml

+53-8
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
1414
<java.version>1.7</java.version>
15-
<scala.version>2.10.4</scala.version>
15+
<scala.minor.version>2.10</scala.minor.version>
16+
<scala.complete.version>${scala.minor.version}.4</scala.complete.version>
1617
<jedis.version>2.7.2</jedis.version>
1718
<spark.version>1.4.1</spark.version>
1819
</properties>
@@ -24,7 +25,7 @@
2425
<artifactId>scala-maven-plugin</artifactId>
2526
<version>3.2.2</version>
2627
<configuration>
27-
<scalaVersion>${scala.version}</scalaVersion>
28+
<scalaVersion>${scala.complete.version}</scalaVersion>
2829
<javacArgs>
2930
<javacArg>-source</javacArg>
3031
<javacArg>${java.version}</javacArg>
@@ -154,6 +155,35 @@
154155
</dependency>
155156
</dependencies>
156157
</plugin>
158+
<!-- disable surefire -->
159+
<plugin>
160+
<groupId>org.apache.maven.plugins</groupId>
161+
<artifactId>maven-surefire-plugin</artifactId>
162+
<version>2.18.1</version>
163+
<configuration>
164+
<skipTests>true</skipTests>
165+
</configuration>
166+
</plugin>
167+
<!-- enable scalatest -->
168+
<plugin>
169+
<groupId>org.scalatest</groupId>
170+
<artifactId>scalatest-maven-plugin</artifactId>
171+
<version>1.0</version>
172+
<configuration>
173+
<reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
174+
<junitxml>.</junitxml>
175+
<filereports>WDF TestSuite.txt</filereports>
176+
<argLine>-XX:MaxPermSize=256m -Xmx2g</argLine>
177+
</configuration>
178+
<executions>
179+
<execution>
180+
<id>test</id>
181+
<goals>
182+
<goal>test</goal>
183+
</goals>
184+
</execution>
185+
</executions>
186+
</plugin>
157187
</plugins>
158188
</build>
159189
<dependencies>
@@ -172,23 +202,38 @@
172202
<dependency>
173203
<groupId>org.scala-lang</groupId>
174204
<artifactId>scala-library</artifactId>
175-
<version>${scala.version}</version>
205+
<version>${scala.complete.version}</version>
176206
</dependency>
177-
<dependency>
207+
<dependency>
208+
<groupId>org.scala-lang</groupId>
209+
<artifactId>scalap</artifactId>
210+
<version>${scala.complete.version}</version>
211+
</dependency>
212+
<dependency>
213+
<groupId>org.scala-lang</groupId>
214+
<artifactId>scala-compiler</artifactId>
215+
<version>${scala.complete.version}</version>
216+
</dependency>
217+
<dependency>
178218
<groupId>org.apache.spark</groupId>
179-
<artifactId>spark-core_2.10</artifactId>
219+
<artifactId>spark-core_${scala.minor.version}</artifactId>
180220
<version>${spark.version}</version>
181221
</dependency>
182222
<dependency>
183223
<groupId>org.apache.spark</groupId>
184-
<artifactId>spark-streaming_2.10</artifactId>
224+
<artifactId>spark-streaming_${scala.minor.version}</artifactId>
185225
<version>${spark.version}</version>
186226
</dependency>
187227
<dependency>
188228
<groupId>org.apache.spark</groupId>
189-
<artifactId>spark-sql_2.10</artifactId>
229+
<artifactId>spark-sql_${scala.minor.version}</artifactId>
190230
<version>${spark.version}</version>
191231
</dependency>
192-
232+
<dependency>
233+
<groupId>org.scalatest</groupId>
234+
<artifactId>scalatest_${scala.minor.version}</artifactId>
235+
<version>2.2.1</version>
236+
<scope>test</scope>
237+
</dependency>
193238
</dependencies>
194239
</project>

scalastyle-config.xml

+148
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
<!-- If you wish to turn off checking for a section of code, you can put a comment in the source
2+
before and after the section, with the following syntax: -->
3+
<!-- // scalastyle:off -->
4+
<!-- ... -->
5+
<!-- // naughty stuff -->
6+
<!-- ... -->
7+
<!-- // scalastyle:on -->
8+
9+
<!-- You can also switch off checking for a specific rule by specifying the id of the rule to ignore
10+
IDs and such can be found here: http://www.scalastyle.org/rules-0.7.0.html -->
11+
<!--
12+
// scalastyle:off magic.number
13+
var notAtAllAMagicNumber = 1234
14+
// scalastyle:on magic.number
15+
-->
16+
<scalastyle commentFilter="enabled">
17+
<name>Scalastyle standard configuration</name>
18+
<check level="warning" class="org.scalastyle.file.FileTabChecker" enabled="true"></check>
19+
<check level="warning" class="org.scalastyle.file.FileLengthChecker" enabled="true">
20+
<parameters>
21+
<parameter name="maxFileLength"><![CDATA[800]]></parameter>
22+
</parameters>
23+
</check>
24+
<!--<check level="warning" class="org.scalastyle.file.HeaderMatchesChecker" enabled="true">-->
25+
<!--<parameters>-->
26+
<!--<parameter name="header"><![CDATA[/**-->
27+
<!--*/]]></parameter>-->
28+
<!--</parameters>-->
29+
<!--</check>-->
30+
<check level="warning" class="org.scalastyle.scalariform.SpacesAfterPlusChecker" enabled="true"></check>
31+
<check level="warning" class="org.scalastyle.file.WhitespaceEndOfLineChecker" enabled="true"></check>
32+
<check level="warning" class="org.scalastyle.scalariform.SpacesBeforePlusChecker" enabled="true"></check>
33+
<check level="warning" class="org.scalastyle.file.FileLineLengthChecker" enabled="true">
34+
<parameters>
35+
<parameter name="maxLineLength"><![CDATA[100]]></parameter>
36+
<parameter name="tabSize"><![CDATA[2]]></parameter>
37+
</parameters>
38+
</check>
39+
<check level="warning" class="org.scalastyle.scalariform.ClassNamesChecker" enabled="true">
40+
<parameters>
41+
<parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter>
42+
</parameters>
43+
</check>
44+
<check level="warning" class="org.scalastyle.scalariform.ObjectNamesChecker" enabled="true">
45+
<parameters>
46+
<parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter>
47+
</parameters>
48+
</check>
49+
<check level="warning" class="org.scalastyle.scalariform.PackageObjectNamesChecker" enabled="true">
50+
<parameters>
51+
<parameter name="regex"><![CDATA[^[a-z][A-Za-z]*$]]></parameter>
52+
</parameters>
53+
</check>
54+
<check level="warning" class="org.scalastyle.scalariform.EqualsHashCodeChecker" enabled="true"></check>
55+
<check level="warning" class="org.scalastyle.scalariform.IllegalImportsChecker" enabled="true">
56+
<parameters>
57+
<parameter name="illegalImports"><![CDATA[sun._,java.awt._]]></parameter>
58+
</parameters>
59+
</check>
60+
<check level="warning" class="org.scalastyle.scalariform.ParameterNumberChecker" enabled="true">
61+
<parameters>
62+
<parameter name="maxParameters"><![CDATA[8]]></parameter>
63+
</parameters>
64+
</check>
65+
<!-- Should only affect tests
66+
<check level="warning" class="org.scalastyle.scalariform.MagicNumberChecker" enabled="true">
67+
<parameters>
68+
<parameter name="ignore"><![CDATA[-1,0,1,2,3]]></parameter>
69+
</parameters>
70+
</check>
71+
-->
72+
<check level="warning" class="org.scalastyle.scalariform.NoWhitespaceBeforeLeftBracketChecker" enabled="true"></check>
73+
<check level="warning" class="org.scalastyle.scalariform.NoWhitespaceAfterLeftBracketChecker" enabled="true"></check>
74+
<check level="warning" class="org.scalastyle.scalariform.ReturnChecker" enabled="true"></check>
75+
<check level="warning" class="org.scalastyle.scalariform.NullChecker" enabled="true"></check>
76+
<check level="warning" class="org.scalastyle.scalariform.NoCloneChecker" enabled="true"></check>
77+
<check level="warning" class="org.scalastyle.scalariform.NoFinalizeChecker" enabled="true"></check>
78+
<check level="warning" class="org.scalastyle.scalariform.CovariantEqualsChecker" enabled="true"></check>
79+
<check level="warning" class="org.scalastyle.scalariform.StructuralTypeChecker" enabled="true"></check>
80+
<check level="warning" class="org.scalastyle.file.RegexChecker" enabled="true">
81+
<parameters>
82+
<parameter name="regex"><![CDATA[println]]></parameter>
83+
</parameters>
84+
</check>
85+
<check level="warning" class="org.scalastyle.scalariform.NumberOfTypesChecker" enabled="true">
86+
<parameters>
87+
<parameter name="maxTypes"><![CDATA[30]]></parameter>
88+
</parameters>
89+
</check>
90+
<check level="warning" class="org.scalastyle.scalariform.CyclomaticComplexityChecker" enabled="true">
91+
<parameters>
92+
<parameter name="maximum"><![CDATA[10]]></parameter>
93+
</parameters>
94+
</check>
95+
<check level="warning" class="org.scalastyle.scalariform.UppercaseLChecker" enabled="true"></check>
96+
<check level="warning" class="org.scalastyle.scalariform.SimplifyBooleanExpressionChecker" enabled="true"></check>
97+
<check level="warning" class="org.scalastyle.scalariform.IfBraceChecker" enabled="true">
98+
<parameters>
99+
<parameter name="singleLineAllowed"><![CDATA[true]]></parameter>
100+
<parameter name="doubleLineAllowed"><![CDATA[false]]></parameter>
101+
</parameters>
102+
</check>
103+
<check level="warning" class="org.scalastyle.scalariform.MethodLengthChecker" enabled="true">
104+
<parameters>
105+
<parameter name="maxLength"><![CDATA[50]]></parameter>
106+
</parameters>
107+
</check>
108+
<check level="warning" class="org.scalastyle.scalariform.MethodNamesChecker" enabled="true">
109+
<parameters>
110+
<parameter name="regex"><![CDATA[^[a-z][A-Za-z0-9]*$]]></parameter>
111+
</parameters>
112+
</check>
113+
<check level="warning" class="org.scalastyle.scalariform.NumberOfMethodsInTypeChecker" enabled="true">
114+
<parameters>
115+
<parameter name="maxMethods"><![CDATA[30]]></parameter>
116+
</parameters>
117+
</check>
118+
<check level="warning" class="org.scalastyle.scalariform.PublicMethodsHaveTypeChecker" enabled="true"></check>
119+
<check level="warning" class="org.scalastyle.file.NewLineAtEofChecker" enabled="true"></check>
120+
<check level="warning" class="org.scalastyle.file.NoNewLineAtEofChecker" enabled="false"></check>
121+
<check level="warning" class="org.scalastyle.scalariform.WhileChecker" enabled="false"></check>
122+
<check level="warning" class="org.scalastyle.scalariform.VarFieldChecker" enabled="false"></check>
123+
<check level="warning" class="org.scalastyle.scalariform.VarLocalChecker" enabled="false"></check>
124+
<check level="warning" class="org.scalastyle.scalariform.RedundantIfChecker" enabled="false"></check>
125+
<check level="warning" class="org.scalastyle.scalariform.TokenChecker" enabled="false">
126+
<parameters>
127+
<parameter name="regex"><![CDATA[println]]></parameter>
128+
</parameters>
129+
</check>
130+
<check level="warning" class="org.scalastyle.scalariform.DeprecatedJavaChecker" enabled="true"></check>
131+
<check level="warning" class="org.scalastyle.scalariform.EmptyClassChecker" enabled="true"></check>
132+
<check level="warning" class="org.scalastyle.scalariform.ClassTypeParameterChecker" enabled="true">
133+
<parameters>
134+
<parameter name="regex"><![CDATA[^[A-Z_]$]]></parameter>
135+
</parameters>
136+
</check>
137+
<!-- Wildcard imports are fine
138+
<check level="warning" class="org.scalastyle.scalariform.UnderscoreImportChecker" enabled="true"></check>
139+
-->
140+
<check level="warning" class="org.scalastyle.scalariform.LowercasePatternMatchChecker" enabled="true"></check>
141+
<check level="warning" class="org.scalastyle.scalariform.MultipleStringLiteralsChecker" enabled="true">
142+
<parameters>
143+
<parameter name="allowed"><![CDATA[5]]></parameter>
144+
<parameter name="ignoreRegex"><![CDATA[^""$]]></parameter>
145+
</parameters>
146+
</check>
147+
<check level="warning" class="org.scalastyle.scalariform.ImportGroupingChecker" enabled="true"></check>
148+
</scalastyle>

0 commit comments

Comments
 (0)