Skip to content

Commit 565f6bc

Browse files
brucehysloppuneetbehl
authored andcommitted
unit test for key generator
1 parent a2ac919 commit 565f6bc

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package grails.plugin.cache
2+
3+
import spock.lang.Specification
4+
import spock.lang.Unroll
5+
6+
class CustomCacheKeyGeneratorSpec extends Specification {
7+
8+
void 'test matching keys'() {
9+
10+
given:
11+
CustomCacheKeyGenerator keyGenerator = new CustomCacheKeyGenerator()
12+
13+
when:
14+
Serializable key1 = keyGenerator.generate('TestService', 'method', 0, [ arg1: 1, arg2: 2 ])
15+
Serializable key2 = keyGenerator.generate('TestService', 'method', 0, [ arg1: 1, arg2: 2 ])
16+
17+
then:
18+
key1.hashCode() == key2.hashCode()
19+
}
20+
21+
@Unroll('#className::#methodName(#params) should not match TestService::method([arg1: 1, arg2: 2])')
22+
void 'test differing keys'() {
23+
24+
given:
25+
CustomCacheKeyGenerator keyGenerator = new CustomCacheKeyGenerator()
26+
Serializable key1 = keyGenerator.generate('TestService', 'method', 0, [ arg1: 1, arg2: 2 ])
27+
28+
when:
29+
Serializable key2 = keyGenerator.generate(className, methodName, 0, params)
30+
31+
then:
32+
key1.hashCode() != key2.hashCode()
33+
34+
where:
35+
className | methodName | params
36+
'TestService' | 'method' | [ arg1: 1, arg2: 3 ]
37+
'TestService' | 'method' | [ arg1: 1, _arg2: 2 ]
38+
'TestService' | '_method' | [ arg1: 1, arg2: 2 ]
39+
'_TestService' | 'method' | [ arg1: 1, arg2: 2 ]
40+
}
41+
}

0 commit comments

Comments
 (0)