Skip to content

Commit 1f97ac8

Browse files
author
Sauyon Lee
committed
Fix tests
1 parent eaef1c1 commit 1f97ac8

File tree

4 files changed

+93
-88
lines changed

4 files changed

+93
-88
lines changed

java/ql/test/library-tests/frameworks/spring/cache/Test.java

Lines changed: 46 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,45 @@
11
package generatedtest;
22

3+
import java.util.Map;
4+
import java.util.HashMap;
35
import java.util.concurrent.Callable;
46
import org.springframework.cache.Cache;
57

8+
69
// Test case generated by GenerateFlowTestCase.ql
710
public class Test {
811

9-
Object getMapKey(Object container) { return null; }
10-
Object getMapValue(Object container) { return null; }
11-
Object newWithMapKey(Object element) { return null; }
12-
Object newWithMapValue(Object element) { return null; }
12+
public class ValueWrapper extends HashMap<Object,Object> implements Cache.ValueWrapper {
13+
ValueWrapper(Object element) {
14+
super();
15+
this.put(null, element);
16+
}
17+
18+
public Object get() { return this.get(null); }
19+
}
20+
21+
public class DummyCache implements Cache {
22+
DummyCache(Object key, Object value) {
23+
this.put(key, value);
24+
}
25+
26+
public void clear() {}
27+
public void evict(Object key) {}
28+
public boolean evictIfPresent(Object key) { return false; }
29+
public Cache.ValueWrapper get(Object key) { return null; }
30+
public <T> T get(Object key, Callable<T> valueLoader) { return null; }
31+
public <T> T get(Object key, Class<T> type) { return null; }
32+
public String getName() { return null; }
33+
public Object getNativeCache() { return null; }
34+
//public default boolean invalidate() { return false; }
35+
public void put(Object key, Object value) {}
36+
//default Cache.ValueWrapper putIfAbsent(Object key, Object value) { return null; }
37+
}
38+
39+
Object getMapKey(Cache.ValueRetrievalException container) { return container.getKey(); }
40+
Object getMapKey(Cache container) { return ((Map)container.getNativeCache()).keySet().iterator().next(); }
41+
Object getMapValue(Cache container) { return container.get(null, (Class)null); }
42+
Object getMapValue(Cache.ValueWrapper container) { return container.get(); }
1343
Object source() { return null; }
1444
void sink(Object o) { }
1545

@@ -19,57 +49,57 @@ public void test() {
1949
// "org.springframework.cache;Cache$ValueRetrievalException;false;ValueRetrievalException;;;Argument[0];MapKey of Argument[-1];value"
2050
Cache.ValueRetrievalException out = null;
2151
Object in = source();
22-
out = new ValueRetrievalException(in, null, null);
52+
out = new Cache.ValueRetrievalException(in, null, null);
2353
sink(getMapKey(out)); // $hasValueFlow
2454
}
2555
{
2656
// "org.springframework.cache;Cache$ValueRetrievalException;false;getKey;;;MapKey of Argument[-1];ReturnValue;value"
2757
Object out = null;
28-
Cache.ValueRetrievalException in = (Cache.ValueRetrievalException)newWithMapKey(source());
58+
Cache.ValueRetrievalException in = new Cache.ValueRetrievalException(source(), null, null);
2959
out = in.getKey();
3060
sink(out); // $hasValueFlow
3161
}
3262
{
3363
// "org.springframework.cache;Cache$ValueWrapper;true;get;;;MapValue of Argument[-1];ReturnValue;value"
3464
Object out = null;
35-
Cache.ValueWrapper in = (Cache.ValueWrapper)newWithMapValue(source());
65+
Cache.ValueWrapper in = new ValueWrapper(source());
3666
out = in.get();
3767
sink(out); // $hasValueFlow
3868
}
3969
{
4070
// "org.springframework.cache;Cache;true;get;(Object);;MapValue of Argument[-1];MapValue of ReturnValue;value"
4171
Cache.ValueWrapper out = null;
42-
Cache in = (Cache)newWithMapValue(source());
72+
Cache in = new DummyCache(null, source());
4373
out = in.get(null);
4474
sink(getMapValue(out)); // $hasValueFlow
4575
}
4676
{
4777
// "org.springframework.cache;Cache;true;get;(Object,Callable);;MapValue of Argument[-1];ReturnValue;value"
4878
Object out = null;
49-
Cache in = (Cache)newWithMapValue(source());
79+
Cache in = new DummyCache(null, source());
5080
out = in.get(null, (Callable)null);
5181
sink(out); // $hasValueFlow
5282
}
5383
{
5484
// "org.springframework.cache;Cache;true;get;(Object,Class);;MapValue of Argument[-1];ReturnValue;value"
5585
Object out = null;
56-
Cache in = (Cache)newWithMapValue(source());
86+
Cache in = new DummyCache(null, source());
5787
out = in.get(null, (Class)null);
5888
sink(out); // $hasValueFlow
5989
}
6090
{
6191
// "org.springframework.cache;Cache;true;getNativeCache;;;MapKey of Argument[-1];MapKey of ReturnValue;value"
6292
Object out = null;
63-
Cache in = (Cache)newWithMapKey(source());
93+
Cache in = new DummyCache(source(), null);
6494
out = in.getNativeCache();
65-
sink(getMapKey(out)); // $hasValueFlow
95+
sink(getMapKey((Cache)out)); // $hasValueFlow
6696
}
6797
{
6898
// "org.springframework.cache;Cache;true;getNativeCache;;;MapValue of Argument[-1];MapValue of ReturnValue;value"
6999
Object out = null;
70-
Cache in = (Cache)newWithMapValue(source());
100+
Cache in = new DummyCache(null, source());
71101
out = in.getNativeCache();
72-
sink(getMapValue(out)); // $hasValueFlow
102+
sink(getMapValue((Cache)out)); // $hasValueFlow
73103
}
74104
{
75105
// "org.springframework.cache;Cache;true;put;;;Argument[0];MapKey of Argument[-1];value"
@@ -102,11 +132,11 @@ public void test() {
102132
{
103133
// "org.springframework.cache;Cache;true;putIfAbsent;;;MapValue of Argument[-1];MapValue of ReturnValue;value"
104134
Cache.ValueWrapper out = null;
105-
Cache in = (Cache)newWithMapValue(source());
135+
Cache in = new DummyCache(null, source());
106136
out = in.putIfAbsent(null, null);
107137
sink(getMapValue(out)); // $hasValueFlow
108138
}
109139

110140
}
111141

112-
}
142+
}

java/ql/test/library-tests/frameworks/spring/cache/test.ql

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,8 @@
11
import java
22
import semmle.code.java.dataflow.DataFlow
3-
import semmle.code.java.dataflow.ExternalFlow
43
import semmle.code.java.dataflow.TaintTracking
54
import TestUtilities.InlineExpectationsTest
65

7-
class SummaryModelTest extends SummaryModelCsv {
8-
override predicate row(string row) {
9-
row =
10-
[
11-
//"package;type;overrides;name;signature;ext;inputspec;outputspec;kind",
12-
"generatedtest;Test;false;getMapKey;;;MapKey of Argument[0];ReturnValue;value",
13-
"generatedtest;Test;false;newWithMapKey;;;Argument[0];MapKey of ReturnValue;value",
14-
"generatedtest;Test;false;getMapValue;;;MapValue of Argument[0];ReturnValue;value",
15-
"generatedtest;Test;false;newWithMapValue;;;Argument[0];MapValue of ReturnValue;value"
16-
]
17-
}
18-
}
19-
206
class ValueFlowConf extends DataFlow::Configuration {
217
ValueFlowConf() { this = "qltest:valueFlowConf" }
228

0 commit comments

Comments
 (0)