From 09f61e158dc40b7ffc3888a559d05a95fffc15e9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Janis=20Daniel=20Da=CC=88hne?=
 <janis.daehne@informatik.uni-halle.de>
Date: Wed, 26 Mar 2025 18:04:05 +0100
Subject: [PATCH] - added check for test asset size when not using form upload
 in create exercise test

---
 src/ClientServer/Config/Constants.cs              |  2 +-
 .../Core/Exercises/ExerciseEditorController.cs    | 15 +++++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/ClientServer/Config/Constants.cs b/src/ClientServer/Config/Constants.cs
index 811e59d..da10084 100644
--- a/src/ClientServer/Config/Constants.cs
+++ b/src/ClientServer/Config/Constants.cs
@@ -13,7 +13,7 @@ namespace ClientServer.Helpers
     /// </summary>
     public static class Constants
     {
-        public static string VersionString = "2.25.1";
+        public static string VersionString = "2.25.2";
 
         /// <summary>
         /// this is only set once at program.cs!!
diff --git a/src/ClientServer/Controllers/Core/Exercises/ExerciseEditorController.cs b/src/ClientServer/Controllers/Core/Exercises/ExerciseEditorController.cs
index 62331b1..39b6f9a 100644
--- a/src/ClientServer/Controllers/Core/Exercises/ExerciseEditorController.cs
+++ b/src/ClientServer/Controllers/Core/Exercises/ExerciseEditorController.cs
@@ -1771,6 +1771,21 @@ namespace ClientServer.Controllers.Core.Exercises
         {
             if (!await base.IsLoggedIn()) return;
 
+            for (var i = 0; i < testFromFrontendWithData.Files.Count; i++)
+            {
+                var file = testFromFrontendWithData.Files[i];
+                //TODO this is probably not right, we want the same as in setup.cs
+                //MultipartBodyLengthLimit
+                if (file.Content.Count > AppConfiguration.MaxUploadFileSizeInByte)
+                {
+                    await
+                        Response.WriteAsync(
+                            Jc.Serialize(new BasicResponse(ResponseCode.InvalidRequest,
+                                "test asset with index " + i + " too large")));
+                    return;
+                }
+            }
+
             int userId = GetUserId();
 
             List<TestType> allTestTypes = await _context.TestTypes.ToListAsync();
-- 
GitLab