Add tests and stubs for the summaries

This commit is contained in:
Tony Torralba
2023-05-26 12:43:58 +02:00
parent 903fdb0cb8
commit 8e16a0d144
5 changed files with 365 additions and 48 deletions

View File

@@ -0,0 +1,194 @@
package generatedtest;
import akka.util.ByteString;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.File;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import org.w3c.dom.Document;
import play.mvc.Http;
// Test case generated by GenerateFlowTestCase.ql
public class Test {
Object source() {
return null;
}
void sink(Object o) {}
public void test() throws Exception {
{
// "play.mvc;Http$Cookie;true;name;;;Argument[this];ReturnValue;taint;manual"
String out = null;
Http.Cookie in = (Http.Cookie) source();
out = in.name();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$Cookie;true;value;;;Argument[this];ReturnValue;taint;manual"
String out = null;
Http.Cookie in = (Http.Cookie) source();
out = in.value();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$Cookies;true;get;;;Argument[this];ReturnValue;taint;manual"
Http.Cookie out = null;
Http.Cookies in = (Http.Cookies) source();
out = in.get(null);
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$Cookies;true;getCookie;;;Argument[this];ReturnValue;taint;manual"
Optional out = null;
Http.Cookies in = (Http.Cookies) source();
out = in.getCookie(null);
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$MultipartFormData$FilePart;true;getContentType;;;Argument[this];ReturnValue;taint;manual"
String out = null;
Http.MultipartFormData.FilePart in = (Http.MultipartFormData.FilePart) source();
out = in.getContentType();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$MultipartFormData$FilePart;true;getDispositionType;;;Argument[this];ReturnValue;taint;manual"
String out = null;
Http.MultipartFormData.FilePart in = (Http.MultipartFormData.FilePart) source();
out = in.getDispositionType();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$MultipartFormData$FilePart;true;getFilename;;;Argument[this];ReturnValue;taint;manual"
String out = null;
Http.MultipartFormData.FilePart in = (Http.MultipartFormData.FilePart) source();
out = in.getFilename();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$MultipartFormData$FilePart;true;getKey;;;Argument[this];ReturnValue;taint;manual"
String out = null;
Http.MultipartFormData.FilePart in = (Http.MultipartFormData.FilePart) source();
out = in.getKey();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$MultipartFormData$FilePart;true;getRef;;;Argument[this];ReturnValue;taint;manual"
Object out = null;
Http.MultipartFormData.FilePart in = (Http.MultipartFormData.FilePart) source();
out = in.getRef();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$MultipartFormData;true;asFormUrlEncoded;;;Argument[this];ReturnValue;taint;manual"
Map out = null;
Http.MultipartFormData in = (Http.MultipartFormData) source();
out = in.asFormUrlEncoded();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$MultipartFormData;true;getFile;;;Argument[this];ReturnValue;taint;manual"
Http.MultipartFormData.FilePart out = null;
Http.MultipartFormData in = (Http.MultipartFormData) source();
out = in.getFile(null);
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$MultipartFormData;true;getFiles;;;Argument[this];ReturnValue;taint;manual"
List out = null;
Http.MultipartFormData in = (Http.MultipartFormData) source();
out = in.getFiles();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$RawBuffer;true;asBytes;;;Argument[this];ReturnValue;taint;manual"
ByteString out = null;
Http.RawBuffer in = (Http.RawBuffer) source();
out = in.asBytes();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$RawBuffer;true;asBytes;;;Argument[this];ReturnValue;taint;manual"
ByteString out = null;
Http.RawBuffer in = (Http.RawBuffer) source();
out = in.asBytes(0);
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$RawBuffer;true;asFile;;;Argument[this];ReturnValue;taint;manual"
File out = null;
Http.RawBuffer in = (Http.RawBuffer) source();
out = in.asFile();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$RequestBody;true;as;;;Argument[this];ReturnValue;taint;manual"
Object out = null;
Http.RequestBody in = (Http.RequestBody) source();
out = in.as(null);
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$RequestBody;true;asBytes;;;Argument[this];ReturnValue;taint;manual"
ByteString out = null;
Http.RequestBody in = (Http.RequestBody) source();
out = in.asBytes();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$RequestBody;true;asFormUrlEncoded;;;Argument[this];ReturnValue;taint;manual"
Map out = null;
Http.RequestBody in = (Http.RequestBody) source();
out = in.asFormUrlEncoded();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$RequestBody;true;asJson;;;Argument[this];ReturnValue;taint;manual"
JsonNode out = null;
Http.RequestBody in = (Http.RequestBody) source();
out = in.asJson();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$RequestBody;true;asMultipartFormData;;;Argument[this];ReturnValue;taint;manual"
Http.MultipartFormData out = null;
Http.RequestBody in = (Http.RequestBody) source();
out = in.asMultipartFormData();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$RequestBody;true;asRaw;;;Argument[this];ReturnValue;taint;manual"
Http.RawBuffer out = null;
Http.RequestBody in = (Http.RequestBody) source();
out = in.asRaw();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$RequestBody;true;asText;;;Argument[this];ReturnValue;taint;manual"
String out = null;
Http.RequestBody in = (Http.RequestBody) source();
out = in.asText();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$RequestBody;true;asXml;;;Argument[this];ReturnValue;taint;manual"
Document out = null;
Http.RequestBody in = (Http.RequestBody) source();
out = in.asXml();
sink(out); // $ hasTaintFlow
}
{
// "play.mvc;Http$RequestBody;true;parseJson;;;Argument[this];ReturnValue;taint;manual"
Optional out = null;
Http.RequestBody in = (Http.RequestBody) source();
out = in.parseJson(null);
sink(out); // $ hasTaintFlow
}
}
}

View File

@@ -0,0 +1,2 @@
import java
import TestUtilities.InlineFlowTest

View File

@@ -0,0 +1,131 @@
// Generated automatically from play.api.mvc.Cookie for testing purposes
package play.api.mvc;
import play.mvc.Http;
public class Cookie {
protected Cookie() {}
abstract static public class SameSite {
protected SameSite() {}
public Http.Cookie.SameSite asJava() {
return null;
}
public SameSite(String p0) {}
public String value() {
return null;
}
public boolean play$api$mvc$Cookie$SameSite$$matches(String p0) {
return false;
}
}
public Http.Cookie asJava() {
return null;
}
public Object productElement(int p0) {
return null;
}
public String copy$default$1() {
return null;
}
public String copy$default$2() {
return null;
}
public String copy$default$4() {
return null;
}
public String name() {
return null;
}
public String path() {
return null;
}
public String productPrefix() {
return null;
}
public String toString() {
return null;
}
public String value() {
return null;
}
public boolean canEqual(Object p0) {
return false;
}
public boolean copy$default$6() {
return false;
}
public boolean copy$default$7() {
return false;
}
public boolean equals(Object p0) {
return false;
}
public boolean httpOnly() {
return false;
}
public boolean secure() {
return false;
}
public int hashCode() {
return 0;
}
public int productArity() {
return 0;
}
public static String $lessinit$greater$default$4() {
return null;
}
public static String apply$default$4() {
return null;
}
public static boolean $lessinit$greater$default$6() {
return false;
}
public static boolean $lessinit$greater$default$7() {
return false;
}
public static boolean apply$default$6() {
return false;
}
public static boolean apply$default$7() {
return false;
}
public static int DiscardedMaxAge() {
return 0;
}
public static play.api.mvc.Cookie validatePrefix(play.api.mvc.Cookie p0) {
return null;
}
}

View File

@@ -1,5 +1,6 @@
package play.mvc;
import akka.util.ByteString;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.File;
import java.net.URI;
@@ -32,24 +33,12 @@ public class Http {
public Context(Request request, JavaContextComponents components) {}
public Context(
Long id,
play.api.mvc.RequestHeader header,
Request request,
Map<String, String> sessionData,
Map<String, String> flashData,
Map<String, Object> args,
public Context(Long id, play.api.mvc.RequestHeader header, Request request,
Map<String, String> sessionData, Map<String, String> flashData, Map<String, Object> args,
JavaContextComponents components) {}
public Context(
Long id,
play.api.mvc.RequestHeader header,
Request request,
Response response,
Session session,
Flash flash,
Map<String, Object> args,
JavaContextComponents components) {}
public Context(Long id, play.api.mvc.RequestHeader header, Request request, Response response,
Session session, Flash flash, Map<String, Object> args, JavaContextComponents components) {}
public Long id() {
return 0L;
@@ -328,8 +317,8 @@ public class Http {
return null;
}
public RequestBuilder bodyMultipart(
List<String> data, Files.TemporaryFileCreator temporaryFileCreator, String mat) {
public RequestBuilder bodyMultipart(List<String> data,
Files.TemporaryFileCreator temporaryFileCreator, String mat) {
return null;
}
@@ -536,6 +525,10 @@ public class Http {
public abstract static class RawBuffer {
public abstract ByteString asBytes();
public abstract ByteString asBytes(int maxLength);
public abstract Long size();
public abstract File asFile();
@@ -559,7 +552,8 @@ public class Http {
}
}
public interface Part<A> {}
public interface Part<A> {
}
public static class FilePart<A> implements Part<A> {
@@ -577,9 +571,17 @@ public class Http {
return "";
}
public String getDispositionType() {
return "";
}
public A getFile() {
return null;
}
public A getRef() {
return null;
}
}
public static class DataPart {
@@ -608,6 +610,10 @@ public class Http {
public RequestBody(Object body) {}
public ByteString asBytes() {
return null;
}
public <A> MultipartFormData<A> asMultipartFormData() {
return null;
}
@@ -640,6 +646,10 @@ public class Http {
return null;
}
public <A> Optional<A> parseJson(Class<A> clazz) {
return null;
}
public String toString() {
return "";
}
@@ -657,15 +667,8 @@ public class Http {
public void setContentType(String contentType) {}
@Deprecated
public void setCookie(
String name,
String value,
Integer maxAge,
String path,
String domain,
boolean secure,
boolean httpOnly,
SameSite sameSite) {}
public void setCookie(String name, String value, Integer maxAge, String path, String domain,
boolean secure, boolean httpOnly, SameSite sameSite) {}
public void setCookie(Cookie cookie) {}
@@ -734,25 +737,12 @@ public class Http {
public static class Cookie {
public Cookie(
String name,
String value,
Integer maxAge,
String path,
String domain,
boolean secure,
boolean httpOnly,
SameSite sameSite) {}
public Cookie(String name, String value, Integer maxAge, String path, String domain,
boolean secure, boolean httpOnly, SameSite sameSite) {}
@Deprecated
public Cookie(
String name,
String value,
Integer maxAge,
String path,
String domain,
boolean secure,
boolean httpOnly) {}
public Cookie(String name, String value, Integer maxAge, String path, String domain,
boolean secure, boolean httpOnly) {}
public static CookieBuilder builder(String name, String value) {
return null;
@@ -791,9 +781,7 @@ public class Http {
}
public enum SameSite {
STRICT("Strict"),
LAX("Lax"),
NONE("None");
STRICT("Strict"), LAX("Lax"), NONE("None");
SameSite(String value) {}
@@ -856,6 +844,8 @@ public class Http {
public interface Cookies extends Iterable<Cookie> {
Cookie get(String name);
Optional<Cookie> getCookie(String name);
}
public interface HeaderNames {