diff --git a/core/src/main/java/nl/tudelft/ewi/auta/core/Core.java b/core/src/main/java/nl/tudelft/ewi/auta/core/Core.java index 993c6f9df7950c15af36a93fece2b2ce32afaa4d..99cb89ec6d45f1348a0f282cc7dedf17b7c2c10f 100644 --- a/core/src/main/java/nl/tudelft/ewi/auta/core/Core.java +++ b/core/src/main/java/nl/tudelft/ewi/auta/core/Core.java @@ -11,6 +11,7 @@ import java.util.concurrent.TimeUnit; import ch.qos.logback.core.spi.AppenderAttachable; import com.fasterxml.jackson.databind.ObjectMapper; +import nl.tudelft.ewi.auta.common.model.metric.MetricFixturesProvider; import nl.tudelft.ewi.auta.core.logging.RingbufferAppender; import nl.tudelft.ewi.auta.core.plugin.PluginLoader; import nl.tudelft.ewi.auta.core.plugin.PluginRepository; @@ -387,18 +388,33 @@ public class Core implements WebMvcConfigurer { return (RingbufferAppender) root.getAppender("ringbuffer"); } + /** + * Configures Spring to return both XML and JSON and not attempt any guesses. + * + * @param configurer the content negotiation configurer to configure + */ @Override public void configureContentNegotiation(final ContentNegotiationConfigurer configurer) { configurer.favorParameter(false); configurer.favorPathExtension(false); } + /** + * Configers Spring to return both XML and JSON. + * + * @param converters the message converters to add our converters to + */ @Override public void configureMessageConverters(final List<HttpMessageConverter<?>> converters) { converters.add(new MappingJackson2HttpMessageConverter()); converters.add(new MappingJackson2XmlHttpMessageConverter()); } + /** + * Configures Spring to allow encoded URIs in request URLs. + * + * @return the configured firewall + */ @Bean public HttpFirewall allowUrlEncodedSlashHttpFirewall() { final var firewall = new StrictHttpFirewall(); @@ -409,4 +425,16 @@ public class Core implements WebMvcConfigurer { firewall.setAllowBackSlash(true); return firewall; } + + /** + * A factory returning metric test fixture providers. + * + * @param gson the GSON instance to deserialize fixtures with + * + * @return the fixture provider + */ + @Bean + public MetricFixturesProvider metricFixturesProviderFactory(final Gson gson) { + return new MetricFixturesProvider(gson); + } } diff --git a/core/src/main/java/nl/tudelft/ewi/auta/core/controller/AssignmentController.java b/core/src/main/java/nl/tudelft/ewi/auta/core/controller/AssignmentController.java index fa36fa8df50f5a669912bf4bf9f25064b3780ab6..a11c56fd511fc628b516d1ca9a128657fb19a050 100644 --- a/core/src/main/java/nl/tudelft/ewi/auta/core/controller/AssignmentController.java +++ b/core/src/main/java/nl/tudelft/ewi/auta/core/controller/AssignmentController.java @@ -4,6 +4,7 @@ import nl.tudelft.ewi.auta.common.model.metric.MetricName; import nl.tudelft.ewi.auta.common.model.metric.MetricSettings; import nl.tudelft.ewi.auta.core.database.AssignmentRepository; import nl.tudelft.ewi.auta.core.model.Assignment; +import nl.tudelft.ewi.auta.core.model.PassingScriptTestCasesParser; import nl.tudelft.ewi.auta.core.response.Response; import nl.tudelft.ewi.auta.core.response.exception.AssignmentAlreadyExistsException; import nl.tudelft.ewi.auta.core.response.exception.InvalidAssignmentNameException; @@ -46,6 +47,10 @@ public class AssignmentController extends ControllerBase { */ private final AssignmentRepository assignmentStore; + /** + * The parser for parsing passing script tests. + */ + private final PassingScriptTestCasesParser passingScriptTestCasesParser; /** * The service that manages course-level security for this controller. @@ -56,11 +61,16 @@ public class AssignmentController extends ControllerBase { * Creates a new assignment controller. * * @param assignmentStore the assignment repository + * @param passingScriptTestCasesParser the parser for parsing passing script tests */ - public AssignmentController(final AssignmentRepository assignmentStore, - final CourseSecuredService securedService) { + public AssignmentController( + final AssignmentRepository assignmentStore, + final PassingScriptTestCasesParser passingScriptTestCasesParser, + final CourseSecuredService securedService + ) { this.assignmentStore = assignmentStore; this.securedService = securedService; + this.passingScriptTestCasesParser = passingScriptTestCasesParser; } /** @@ -199,6 +209,7 @@ public class AssignmentController extends ControllerBase { return ResponseEntity.ok(res); } + @SuppressWarnings("unchecked") private void populateFromRequest(final Map<String, Object> req, final Assignment assignment) { // First extract the mandatory arguments @@ -226,23 +237,19 @@ public class AssignmentController extends ControllerBase { assignment.setName(name); assignment.setAllowedLanguages(Collections.singleton(lang)); assignment.setMetricSettings(stat.stream().map(o -> { - if (MetricName.valueOf((String) o.get("name")) == MetricName.DOCKER_LOGS) { - return new MetricSettings( - MetricName.valueOf((String) o.get("name")), - (String) o.get("script"), - (String) o.get("formatter"), - 0, - 0, - (String) o.get("dockerfile") - ); - } - return new MetricSettings( - MetricName.valueOf((String) o.get("name")), - (String) o.get("script"), - (String) o.get("formatter"), - 0, - 0 - ); + final var passingScriptTests = this.passingScriptTestCasesParser.parseTests( + (List<Map<String, Object>>) o.get("scriptTests") + ); + final var settings = new MetricSettings( + MetricName.valueOf((String) o.get("name")), + (String) o.get("script"), + (String) o.get("formatter"), + 0, + 0, + (String) o.get("dockerfile") + ); + settings.setPassingScriptTestCases(passingScriptTests); + return settings; }).collect(Collectors.toUnmodifiableSet())); } } diff --git a/core/src/main/java/nl/tudelft/ewi/auta/core/controller/ControllerBase.java b/core/src/main/java/nl/tudelft/ewi/auta/core/controller/ControllerBase.java index d71ff1e8be4baab062640e263607ee7c7d422352..4ee16bfd8149c9bc3ca4ad9f384e3c2282402aa6 100644 --- a/core/src/main/java/nl/tudelft/ewi/auta/core/controller/ControllerBase.java +++ b/core/src/main/java/nl/tudelft/ewi/auta/core/controller/ControllerBase.java @@ -43,6 +43,10 @@ public class ControllerBase { } } + public Object getParam(final Map<String, Object> req, final String key) { + return this.getParam(req, key, Object.class); + } + /** * Extracts a string field from the request body. * diff --git a/core/src/main/java/nl/tudelft/ewi/auta/core/controller/MetricsController.java b/core/src/main/java/nl/tudelft/ewi/auta/core/controller/MetricsController.java new file mode 100644 index 0000000000000000000000000000000000000000..601c23578501ca28986cc8ece6ed994e3c3a1609 --- /dev/null +++ b/core/src/main/java/nl/tudelft/ewi/auta/core/controller/MetricsController.java @@ -0,0 +1,115 @@ +package nl.tudelft.ewi.auta.core.controller; + +import com.google.gson.Gson; +import nl.tudelft.ewi.auta.common.model.metric.MetricFixturesProvider; +import nl.tudelft.ewi.auta.core.communication.MessageReceiver; +import nl.tudelft.ewi.auta.core.response.Response; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +import java.util.Map; + +/** + * A controller serving information about the metrics supported by the current installation. + */ +@Controller +public class MetricsController extends ControllerBase { + /** + * The message receiver. + */ + private final MessageReceiver messageReceiver; + + /** + * The GSON instance used to serialize the metrics. + */ + private final Gson gson; + + /** + * The provider for test fixtures. + */ + private final MetricFixturesProvider fixturesProvider; + + /** + * Creates a new metrics controller. + * + * @param messageReceiver the message receiver providing metrics known by the workers + * @param gson the GSON instance used to serialize the metrics + * @param fixturesProvider the provider for test fixtures + */ + public MetricsController( + final MessageReceiver messageReceiver, + final Gson gson, + final MetricFixturesProvider fixturesProvider + ) { + this.messageReceiver = messageReceiver; + this.gson = gson; + this.fixturesProvider = fixturesProvider; + } + + /** + * Gets a map of all languages and their metrics. + * + * @return the response + */ + @GetMapping(path = "/api/v1/worker/metrics", produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity<Response> getMetricsAction() { + final var res = new Response(); + res.put("metrics", this.messageReceiver.getMetrics()); + return ResponseEntity.ok(res); + } + + /** + * Returns the metrics as a {@code metrics} property of the global {@code MetricEditor} object. + * + * @return the metrics as an object property + * + * @deprecated originally a hack for the old UI to allow this resource to load in a blocking + * fashion, no longer necessary + */ + @GetMapping(path = "/api/v1/worker/metrics.js", produces = "text/javascript") + @Deprecated + public ResponseEntity<String> getMetricsJsAction() { + final var metrics = this.messageReceiver.getMetrics(); + return ResponseEntity.ok() + .contentType(new MediaType("application", "javascript")) + .body("MetricEditor.metrics = " + this.gson.toJson(metrics)); + } + + /** + * Returns the test fixtures for metrics. + * + * The response is a JSON object resembling the following: + * {@code + * { + * "fixtures": { + * "CYCLOMATIC_COMPLEXITY": [ + * 1, + * 7, + * 14, + * 615 + * ], + * "DOCKER_LOGS": [ + * "BUILD SUCCESSFUL", + * "BUILD FAILED" + * ] + * } + * } + * } + * + * It is important to note that the fixtures can be of any type, as long as the type is valid + * for the metric it belongs to. + * + * @return the test fixtures + */ + @GetMapping( + path = "/api/v1/worker/metrics/test-fixtures", + produces = MediaType.APPLICATION_JSON_VALUE + ) + public ResponseEntity<Response> getMetricTestFixturesAction() { + return ResponseEntity.ok(new Response(Map.of( + "fixtures", this.fixturesProvider.getFixtures() + ))); + } +} diff --git a/core/src/main/java/nl/tudelft/ewi/auta/core/controller/ScriptValidationController.java b/core/src/main/java/nl/tudelft/ewi/auta/core/controller/ScriptValidationController.java new file mode 100644 index 0000000000000000000000000000000000000000..bbe2690c1a226ed19831381b0f56c3d4866e85dd --- /dev/null +++ b/core/src/main/java/nl/tudelft/ewi/auta/core/controller/ScriptValidationController.java @@ -0,0 +1,271 @@ +package nl.tudelft.ewi.auta.core.controller; + +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import nl.tudelft.ewi.auta.common.model.PassingScriptTestCase; +import nl.tudelft.ewi.auta.core.model.PassingScriptTestCasesParser; +import nl.tudelft.ewi.auta.srf.iface.Script; +import nl.tudelft.ewi.auta.srf.iface.ScriptExecutionContextFactory; +import nl.tudelft.ewi.auta.srf.model.NoteCollection; +import org.intellij.lang.annotations.Language; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import javax.annotation.Nullable; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * A controller for criteria script validation actions. + */ +@Controller +public class ScriptValidationController extends ControllerBase { + /** + * The factory building script execution contexts. + */ + private final ScriptExecutionContextFactory scriptExecutionContextFactory; + + /** + * The parser for parsing (criteria) script tests. + */ + private final PassingScriptTestCasesParser passingScriptTestCasesParser; + + /** + * Creates a new script validation controller. + * + * @param scriptExecutionContextFactory the factory building script execution contexts + * @param passingScriptTestCasesParser the parser for parsing script tests + */ + public ScriptValidationController( + final ScriptExecutionContextFactory scriptExecutionContextFactory, + final PassingScriptTestCasesParser passingScriptTestCasesParser + ) { + this.scriptExecutionContextFactory = scriptExecutionContextFactory; + this.passingScriptTestCasesParser = passingScriptTestCasesParser; + } + + /** + * Validates a passing script. + * + * @param req the request + * + * @return a test summary + * + * @throws Exception if validation fails for reasons unrelated to the script + */ + @PostMapping( + path = "/api/v1/script/test/passing-script", + produces = MediaType.APPLICATION_JSON_VALUE + ) + @SuppressWarnings("unchecked") + @SuppressFBWarnings( + value = "RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE", + justification = "SpotBugs is not aware of try-with-resources and its null checks" + ) + public ResponseEntity<Object> validateScript( + final @RequestBody Map<String, Object> req + ) throws Exception { + try (var sec = this.scriptExecutionContextFactory.create()) { + @Language("ECMAScript 6") + final var script = this.getString(req, "script"); + final var rawTests = this.getParam(req, "tests", List.class); + final List<PassingScriptTestCase> tests = + this.passingScriptTestCasesParser.parseTests(rawTests); + + final Script<Object> compiledScript; + try { + compiledScript = sec.submitScript(script, Object.class); + } catch (final Exception ex) { + return ResponseEntity.ok(new TestSuiteResults(ex.getMessage())); + } + + final var results = tests.stream() + .map(this.buildTestRunner(compiledScript)) + .collect(Collectors.toList()); + + return ResponseEntity.ok(new TestSuiteResults(results)); + } + } + + /** + * Builds a test runner. + * + * @param compiledScript the script under testing + * + * @return the function to call on a test case + */ + private Function<PassingScriptTestCase, TestResults> buildTestRunner( + final Script<Object> compiledScript + ) { + return test -> { + assert test.getId() != null; + assert test.getValue() != null; + + final var notes = new NoteCollection(); + final Optional<Double> grade; + try { + grade = compiledScript.execute(test.getValue(), null, notes); + } catch (final Exception ex) { + return new TestResults(test.getId(), ex.getMessage()); + } + + return new TestResults(test.getId(), notes, grade.orElse(null)); + }; + } + + /** + * The results of an entire test suite. + */ + private static final class TestSuiteResults { + /** + * Whether the script under test compiled. + * + * Iff the test compiled, this is {@code true}. Otherwise, this is a string containing a + * message why compilation failed. + */ + private final Object compiles; + + /** + * The list of results for the individual test suites. + */ + private final List<TestResults> results; + + /** + * Constructs a new test suite result collection for a script that fails to compile. + * + * @param compiles the message describing the compilation failure + */ + private TestSuiteResults(final String compiles) { + this.compiles = compiles; + this.results = Collections.emptyList(); + } + + /** + * Creates a new test suite result collection for a script that compiles. + * + * @param results the list of results of the test suites + */ + private TestSuiteResults(final List<TestResults> results) { + this.compiles = true; + this.results = results; + } + + /** + * Returns the object describing the compilation status of the script. + * + * @return the compilation status + */ + public Object getCompiles() { + return this.compiles; + } + + /** + * Returns the results of the individual unit tests. + * + * @return the results + */ + public List<TestResults> getResults() { + return this.results; + } + } + + /** + * The results of a single unit test. + */ + private static final class TestResults { + /** + * The unit test's identifier. + */ + private final String id; + + /** + * The runtime error, if any. + */ + @Nullable + private final String error; + + /** + * The notes generated by the script. + */ + private final NoteCollection notes; + + /** + * The grade generated by the script, if any. + */ + @Nullable + private final Double grade; + + /** + * Creates a new results object. + * + * @param id the identifier of the test that generated these results + * @param notes the notes generated by the script + * @param grade the grade generated by the script, if any + */ + private TestResults( + final String id, final NoteCollection notes, final @Nullable Double grade + ) { + this.id = id; + this.error = null; + this.notes = notes; + this.grade = grade; + } + + /** + * Creates a new results object for a test that generated a run-time error. + * + * @param id the identifier of the test that errored out + * @param error the error generated by the test + */ + private TestResults(final String id, final String error) { + this.id = id; + this.error = error; + this.notes = new NoteCollection(); + this.grade = null; + } + + /** + * Returns the identifier of the test. + * + * @return the identifier + */ + public String getId() { + return this.id; + } + + /** + * Returns the error generated by the test, if any. + * + * @return the error + */ + @Nullable + public String getError() { + return this.error; + } + + /** + * Returns the notes generated by the test. + * + * @return the notes + */ + public NoteCollection getNotes() { + return this.notes; + } + + /** + * Returns the grade generated by the test, if any. + * + * @return the grade + */ + @Nullable + public Double getGrade() { + return this.grade; + } + } +} diff --git a/core/src/main/java/nl/tudelft/ewi/auta/core/controller/WorkerController.java b/core/src/main/java/nl/tudelft/ewi/auta/core/controller/WorkerController.java index 0bd55459448db892571e08ca39e44c8c1ca0c314..ba09c1ddfb62b5c6b6cd6f6099a1a5cab1c3327c 100644 --- a/core/src/main/java/nl/tudelft/ewi/auta/core/controller/WorkerController.java +++ b/core/src/main/java/nl/tudelft/ewi/auta/core/controller/WorkerController.java @@ -7,11 +7,9 @@ import org.springframework.security.access.annotation.Secured; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; -import com.google.gson.Gson; - -import nl.tudelft.ewi.auta.core.communication.MessageReceiver; import nl.tudelft.ewi.auta.core.response.Response; +import javax.annotation.Nullable; import java.util.HashMap; import java.util.stream.Collectors; @@ -22,19 +20,12 @@ public class WorkerController { */ private final WorkerPool workerPool; - /** - * The message receiver. - */ - private MessageReceiver receiver; - /** * Create a new worker controller. * @param workerPool the pool of workers currently connected to the core - * @param receiver the message receiver. */ - public WorkerController(final WorkerPool workerPool, final MessageReceiver receiver) { + public WorkerController(final WorkerPool workerPool) { this.workerPool = workerPool; - this.receiver = receiver; } /** @@ -82,6 +73,7 @@ public class WorkerController { map.put("load", w.getLoad()); map.put("lastPing", w.getLastPing().toEpochMilli()); + @Nullable final var job = w.getCurrentJob(); if (job != null) { final var submission = job.getSubmission(); @@ -98,22 +90,4 @@ public class WorkerController { }).collect(Collectors.toList())); return ResponseEntity.ok(res); } - - /** - * Gets a map of all languages and their metrics. - * @return the response - */ - @GetMapping(path = "/api/v1/worker/metrics", produces = MediaType.APPLICATION_JSON_VALUE) - public ResponseEntity<Response> getMetricsAction() { - final var res = new Response(); - res.put("metrics", this.receiver.getMetrics()); - return ResponseEntity.ok(res); - } - - @GetMapping(value = "/api/v1/worker/metrics.js", produces = "application/javascript") - public ResponseEntity<String> getMetricsJsAction() { - return ResponseEntity.ok() - .contentType(new MediaType("application", "javascript")) - .body("MetricEditor.metrics = " + new Gson().toJson(this.receiver.getMetrics())); - } } diff --git a/core/src/main/java/nl/tudelft/ewi/auta/core/model/PassingScriptTestCasesParser.java b/core/src/main/java/nl/tudelft/ewi/auta/core/model/PassingScriptTestCasesParser.java new file mode 100644 index 0000000000000000000000000000000000000000..7636419df3dbd816b3efc465353e8b239a96241c --- /dev/null +++ b/core/src/main/java/nl/tudelft/ewi/auta/core/model/PassingScriptTestCasesParser.java @@ -0,0 +1,42 @@ +package nl.tudelft.ewi.auta.core.model; + +import nl.tudelft.ewi.auta.common.model.PassingScriptTestCase; +import nl.tudelft.ewi.auta.core.controller.ControllerBase; +import org.jetbrains.annotations.Contract; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * A parser for parsing script tests. + */ +@Service +public class PassingScriptTestCasesParser extends ControllerBase { + /** + * Parses a list of unit tests. + * + * @param tests the object to parse + * + * @return the parsed tests + */ + public List<PassingScriptTestCase> parseTests(final List<Map<String, Object>> tests) { + return tests.stream().map(this::parseTest).collect(Collectors.toUnmodifiableList()); + } + + /** + * Parses a single unit test. + * + * @param test the object to parse + * + * @return the parsed test + */ + @Contract("_ -> new") + public PassingScriptTestCase parseTest(final Map<String, Object> test) { + final var id = this.getString(test, "id"); + final var value = this.getParam(test, "value"); + + return new PassingScriptTestCase(id, value); + } +} diff --git a/core/src/test/java/nl/tudelft/ewi/auta/core/controller/MetricsControllerTest.java b/core/src/test/java/nl/tudelft/ewi/auta/core/controller/MetricsControllerTest.java new file mode 100644 index 0000000000000000000000000000000000000000..bf46277ae8cb43ac8d80d299feadf94fcdfe0626 --- /dev/null +++ b/core/src/test/java/nl/tudelft/ewi/auta/core/controller/MetricsControllerTest.java @@ -0,0 +1,66 @@ +package nl.tudelft.ewi.auta.core.controller; + +import com.google.gson.Gson; +import nl.tudelft.ewi.auta.common.model.metric.MetricFixturesProvider; +import nl.tudelft.ewi.auta.core.communication.MessageReceiver; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.http.HttpMethod; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import static org.hamcrest.Matchers.empty; +import static org.hamcrest.Matchers.hasSize; +import static org.hamcrest.Matchers.not; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.request; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +public class MetricsControllerTest { + private MessageReceiver receiver; + private MetricFixturesProvider fixturesProvider; + private MetricsController controller; + private MockMvc mvc; + + @BeforeEach + public void before() { + this.receiver = mock(MessageReceiver.class); + this.fixturesProvider = new MetricFixturesProvider(new Gson()); + + final var metrics = Map.of( + "java", Set.of("cyclomatic complexity"), + "*", Set.of("method length") + ); + + when(this.receiver.getMetrics()).thenReturn((List) Collections.singletonList(metrics)); + + this.controller = new MetricsController(this.receiver, new Gson(), this.fixturesProvider); + + this.mvc = MockMvcBuilders.standaloneSetup(this.controller) + .setControllerAdvice(new RestExceptionHandler()) + .build(); + } + + @Test + public void testGetMetrics() throws Exception { + this.mvc.perform(request(HttpMethod.GET, "/api/v1/worker/metrics")) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.errors", hasSize(0))) + .andExpect(jsonPath("$.metrics", hasSize(1))); + } + + @Test + public void testGetMetricFixtures() throws Exception { + this.mvc.perform(get("/api/v1/worker/metrics/test-fixtures")) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.fixtures", not(empty()))); + } +} diff --git a/core/src/test/java/nl/tudelft/ewi/auta/core/controller/ScriptValidationControllerTest.java b/core/src/test/java/nl/tudelft/ewi/auta/core/controller/ScriptValidationControllerTest.java new file mode 100644 index 0000000000000000000000000000000000000000..9db563d13f2ffadd6ff8a19cbe395bffe0b6cc80 --- /dev/null +++ b/core/src/test/java/nl/tudelft/ewi/auta/core/controller/ScriptValidationControllerTest.java @@ -0,0 +1,160 @@ +package nl.tudelft.ewi.auta.core.controller; + +import com.google.gson.Gson; +import nl.tudelft.ewi.auta.common.model.PassingScriptTestCase; +import nl.tudelft.ewi.auta.core.model.PassingScriptTestCasesParser; +import nl.tudelft.ewi.auta.srf.iface.Script; +import nl.tudelft.ewi.auta.srf.iface.ScriptExecutionContext; +import nl.tudelft.ewi.auta.srf.iface.ScriptExecutionContextFactory; +import nl.tudelft.ewi.auta.srf.model.Note; +import nl.tudelft.ewi.auta.srf.model.NoteCollection; +import nl.tudelft.ewi.auta.srf.model.Severity; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.http.MediaType; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.hasSize; +import static org.hamcrest.Matchers.nullValue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +public class ScriptValidationControllerTest { + private ScriptExecutionContextFactory scriptExecutionContextFactory; + private ScriptExecutionContext scriptExecutionContext; + private Script<Object> compiledScript; + private PassingScriptTestCasesParser passingScriptTestCasesParser; + private ScriptValidationController controller; + private MockMvc mvc; + + @BeforeEach + public void before() { + this.scriptExecutionContextFactory = mock(ScriptExecutionContextFactory.class); + this.passingScriptTestCasesParser = mock(PassingScriptTestCasesParser.class); + this.scriptExecutionContext = mock(ScriptExecutionContext.class); + this.compiledScript = mock(Script.class); + + doReturn(this.scriptExecutionContext).when(this.scriptExecutionContextFactory).create(); + + this.controller = new ScriptValidationController( + this.scriptExecutionContextFactory, this.passingScriptTestCasesParser + ); + this.mvc = MockMvcBuilders.standaloneSetup(this.controller) + .setControllerAdvice(new RestExceptionHandler()) + .build(); + } + + @Test + public void testMissingBody() throws Exception { + this.mvc.perform(post("/api/v1/script/test/passing-script")) + .andExpect(status().isBadRequest()); + } + + @Test + public void testMissingScript() throws Exception { + this.mvc.perform(post("/api/v1/script/test/passing-script") + .contentType(MediaType.APPLICATION_JSON) + .content(new Gson().toJson(Map.of("scriptTests", Collections.emptyList()))) + ).andExpect(status().isBadRequest()); + } + + @Test + public void testMissingTests() throws Exception { + this.mvc.perform(post("/api/v1/script/test/passing-script") + .contentType(MediaType.APPLICATION_JSON) + .content(new Gson().toJson(Map.of("script", "this is Javascript, not Perl"))) + ).andExpect(status().isBadRequest()); + } + + @Test + public void testEmptyTestSuite() throws Exception { + doReturn(this.compiledScript).when(this.scriptExecutionContext).submitScript(any(), any()); + + this.mvc.perform(post("/api/v1/script/test/passing-script") + .contentType(MediaType.APPLICATION_JSON) + .content(new Gson().toJson(Map.of( + "script", "this is valid Javascript I swear", + "tests", Collections.emptyList() + ))) + ) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.compiles", equalTo(true))) + .andExpect(jsonPath("$.results", hasSize(0))); + + verify(this.compiledScript, never()).execute(any(), any(), any()); + } + + @Test + public void testBadScript() throws Exception { + final String complaint = "that is Perl, I ain't gonna touch that"; + + doThrow(new RuntimeException(complaint)) + .when(this.scriptExecutionContext).submitScript(any(), any()); + + this.mvc.perform(post("/api/v1/script/test/passing-script") + .contentType(MediaType.APPLICATION_JSON) + .content(new Gson().toJson(Map.of( + "script", "\uD83C\uDDF9\uD83C\uDDF7", + "tests", Collections.emptyList() + ))) + ) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.compiles", equalTo(complaint))) + .andExpect(jsonPath("$.results", hasSize(0))); + } + + @Test + public void testScriptWithTests() throws Exception { + final var tests = List.of( + new PassingScriptTestCase("first", 12), new PassingScriptTestCase("second", -3) + ); + doReturn(tests).when(this.passingScriptTestCasesParser).parseTests(any()); + doReturn(this.compiledScript).when(this.scriptExecutionContext).submitScript(any(), any()); + + doAnswer(invocation -> { + final Object value = invocation.getArgument(0); + final NoteCollection notes = invocation.getArgument(2); + + if (Objects.equals(value, -3)) { + notes.addNote(new Note(Severity.FAILURE, "it's bad")); + } else { + throw new RuntimeException("invalid"); + } + + return Optional.empty(); + }).when(this.compiledScript).execute(any(), any(), any()); + + this.mvc.perform(post("/api/v1/script/test/passing-script") + .contentType(MediaType.APPLICATION_JSON) + .content(new Gson().toJson(Map.of( + "script", "100% pure Javascript", + "tests", tests + ))) + ) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.compiles", equalTo(true))) + .andExpect(jsonPath("$.results[0].id", equalTo("first"))) + .andExpect(jsonPath("$.results[0].error", equalTo("invalid"))) + .andExpect(jsonPath("$.results[1].id", equalTo("second"))) + .andExpect(jsonPath("$.results[1].error", nullValue())) + .andExpect(jsonPath("$.results[1].notes.notes[0].severity", equalTo("FAILURE"))) + .andExpect(jsonPath("$.results[1].notes.notes[0].message", equalTo("it's bad"))) + .andExpect(jsonPath("$.results[1].grade", nullValue())); + } +} diff --git a/core/src/test/java/nl/tudelft/ewi/auta/core/controller/WorkerControllerTest.java b/core/src/test/java/nl/tudelft/ewi/auta/core/controller/WorkerControllerTest.java index 9013cf575686ac8edb4c5f2c74c9b36ecad299f9..2fc7234cd2a2df198d17b71cd4e0c5be14a06fed 100644 --- a/core/src/test/java/nl/tudelft/ewi/auta/core/controller/WorkerControllerTest.java +++ b/core/src/test/java/nl/tudelft/ewi/auta/core/controller/WorkerControllerTest.java @@ -7,10 +7,6 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; import nl.tudelft.ewi.auta.common.jump.Jump; import nl.tudelft.ewi.auta.core.model.Assignment; @@ -28,15 +24,10 @@ import org.springframework.http.HttpMethod; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import nl.tudelft.ewi.auta.core.communication.MessageReceiver; - public class WorkerControllerTest { private MockMvc mvc; - @Mock - private MessageReceiver receiver; - @Mock private WorkerPool workerPool; @@ -53,27 +44,12 @@ public class WorkerControllerTest { public void before() { MockitoAnnotations.initMocks(this); - Map<String, Set<String>> metrics = new HashMap<>(); - metrics.put("java", Set.of("cyclomatic complexity")); - metrics.put("*", Set.of("method length")); - - Mockito.when(this.receiver.getMetrics()) - .thenReturn((List) Collections.singletonList(metrics)); - Mockito.when(this.assignment.getId()).thenReturn("123"); Mockito.when(this.submission.getId()).thenReturn("456"); this.mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); } - @Test - public void testAddSubmission() throws Exception { - this.mvc.perform(request(HttpMethod.GET, "/api/v1/worker/metrics")) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.errors", hasSize(0))) - .andExpect(jsonPath("$.metrics", hasSize(1))); - } - @Test public void testGetWorkers() throws Exception { final var testWorker = new WorkerConnection(null, "test #1", new Jump()); diff --git a/core/test.log b/core/test.log new file mode 100644 index 0000000000000000000000000000000000000000..4fe320bcf7d67d800d0f22fe79dbcf46ad0429c2 --- /dev/null +++ b/core/test.log @@ -0,0 +1,9676 @@ +2019-10-02 13:27:18.271 INFO 14367 --- [Test worker] .c.c.SubmissionControllerIntegrationTest : Starting SubmissionControllerIntegrationTest on effrafax.wukl.net with PID 14367 (started by luc in /home/luc/Projects/auta/core) +2019-10-02 13:27:18.272 DEBUG 14367 --- [Test worker] .c.c.SubmissionControllerIntegrationTest : Running with Spring Boot v2.1.8.RELEASE, Spring v5.1.10.RELEASE +2019-10-02 13:27:18.272 INFO 14367 --- [Test worker] .c.c.SubmissionControllerIntegrationTest : The following profiles are active: test +2019-10-02 13:27:18.301 TRACE 14367 --- [Test worker] o.s.w.c.s.GenericWebApplicationContext : Refreshing org.springframework.web.context.support.GenericWebApplicationContext@cf2c369, started on Wed Oct 02 13:27:18 CEST 2019 +2019-10-02 13:27:20.084 TRACE 14367 --- [Test worker] o.s.w.c.s.GenericWebApplicationContext : No 'messageSource' bean, using [Empty MessageSource] +2019-10-02 13:27:20.085 TRACE 14367 --- [Test worker] o.s.w.c.s.GenericWebApplicationContext : No 'applicationEventMulticaster' bean, using [SimpleApplicationEventMulticaster] +2019-10-02 13:27:20.331 INFO 14367 --- [Test worker] nl.tudelft.ewi.auta.core.Core : Allowing API access to hosts [http://localhost:8080, http://localhost:8081, http://127.0.0.1:8080, http://127.0.0.1:8081] +2019-10-02 13:27:20.748 DEBUG 14367 --- [Test worker] o.s.w.s.v.f.FreeMarkerConfigurer : Template loader path [class path resource [nl/tudelft/ewi/auta/core/ui]] resolved to file path [/home/luc/Projects/auta/core/build/resources/main/nl/tudelft/ewi/auta/core/ui] +2019-10-02 13:27:20.928 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : starting... +2019-10-02 13:27:21.646 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : DownloadSize: 87554471 +2019-10-02 13:27:21.653 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : 0 % +2019-10-02 13:27:22.056 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : 10 % +2019-10-02 13:27:22.431 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : 20 % +2019-10-02 13:27:22.806 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : 30 % +2019-10-02 13:27:23.191 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : 40 % +2019-10-02 13:27:23.522 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : 50 % +2019-10-02 13:27:23.868 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : 60 % +2019-10-02 13:27:24.222 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : 70 % +2019-10-02 13:27:24.583 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : 80 % +2019-10-02 13:27:24.920 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : 90 % +2019-10-02 13:27:25.304 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : 100 % +2019-10-02 13:27:25.305 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : downloaded with 28500kb/s +2019-10-02 13:27:25.606 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Download Version{3.5.5}:Linux:B64 : finished +2019-10-02 13:27:25.614 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Extract /home/luc/.embedmongo/linux/mongodb-linux-x86_64-3.5.5.tgz : starting... +2019-10-02 13:27:26.588 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Extract /home/luc/.embedmongo/linux/mongodb-linux-x86_64-3.5.5.tgz : extract mongodb-linux-x86_64-3.5.5/bin/mongod +2019-10-02 13:27:26.588 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Extract /home/luc/.embedmongo/linux/mongodb-linux-x86_64-3.5.5.tgz : nothing left +2019-10-02 13:27:26.588 INFO 14367 --- [Test worker] o.s.b.a.mongo.embedded.EmbeddedMongo : Extract /home/luc/.embedmongo/linux/mongodb-linux-x86_64-3.5.5.tgz : finished +2019-10-02 13:27:26.670 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : note: noprealloc may hurt performance in many applications +2019-10-02 13:27:26.672 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.672+0200 I CONTROL [initandlisten] MongoDB starting : pid=14456 port=42071 dbpath=/tmp/embedmongo-db-6734d7e0-e6a4-4373-a970-93f31a79d25e 64-bit host=effrafax.wukl.net +2019-10-02 13:27:26.672 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.672+0200 I CONTROL [initandlisten] db version v3.5.5 +2019-10-02 13:27:26.672 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.672+0200 I CONTROL [initandlisten] git version: 98515c812b6fa893613f063dae568ff8319cbfbd +2019-10-02 13:27:26.673 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.672+0200 I CONTROL [initandlisten] allocator: tcmalloc +2019-10-02 13:27:26.673 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.672+0200 I CONTROL [initandlisten] modules: none +2019-10-02 13:27:26.673 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.672+0200 I CONTROL [initandlisten] build environment: +2019-10-02 13:27:26.673 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.672+0200 I CONTROL [initandlisten] distarch: x86_64 +2019-10-02 13:27:26.673 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.672+0200 I CONTROL [initandlisten] target_arch: x86_64 +2019-10-02 13:27:26.673 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.672+0200 I CONTROL [initandlisten] options: { net: { bindIp: "127.0.0.1", http: { enabled: false }, port: 42071 }, security: { authorization: "disabled" }, storage: { dbPath: "/tmp/embedmongo-db-6734d7e0-e6a4-4373-a970-93f31a79d25e", journal: { enabled: false }, mmapv1: { preallocDataFiles: false, smallFiles: true }, syncPeriodSecs: 0.0 } } +2019-10-02 13:27:26.675 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.675+0200 I STORAGE [initandlisten] +2019-10-02 13:27:26.676 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.675+0200 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine +2019-10-02 13:27:26.676 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.675+0200 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem +2019-10-02 13:27:26.676 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.675+0200 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=11372M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=0,log_size=2GB),statistics_log=(wait=0),verbose=(recovery_progress),,log=(enabled=false), +2019-10-02 13:27:26.826 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.825+0200 W STORAGE [initandlisten] Detected configuration for non-active storage engine mmapv1 when current storage engine is wiredTiger +2019-10-02 13:27:26.826 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.825+0200 I CONTROL [initandlisten] +2019-10-02 13:27:26.826 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.825+0200 I CONTROL [initandlisten] ** NOTE: This is a development version (3.5.5) of MongoDB. +2019-10-02 13:27:26.826 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.826+0200 I CONTROL [initandlisten] ** Not recommended for production. +2019-10-02 13:27:26.826 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.826+0200 I CONTROL [initandlisten] +2019-10-02 13:27:26.827 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.826+0200 I CONTROL [initandlisten] +2019-10-02 13:27:26.827 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.826+0200 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. +2019-10-02 13:27:26.827 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.826+0200 I CONTROL [initandlisten] ** We suggest setting it to 'never' +2019-10-02 13:27:26.827 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.826+0200 I CONTROL [initandlisten] +2019-10-02 13:27:26.827 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.826+0200 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 94378 processes, 1048576 files. Number of processes should be at least 524288 : 0.5 times number of files. +2019-10-02 13:27:26.827 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.826+0200 I CONTROL [initandlisten] +2019-10-02 13:27:26.882 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.882+0200 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/tmp/embedmongo-db-6734d7e0-e6a4-4373-a970-93f31a79d25e/diagnostic.data' +2019-10-02 13:27:26.974 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.974+0200 I INDEX [initandlisten] build index on: admin.system.version properties: { v: 2, key: { version: 1 }, name: "incompatible_with_version_32", ns: "admin.system.version" } +2019-10-02 13:27:26.975 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.974+0200 I INDEX [initandlisten] building index using bulk method; build may temporarily use up to 500 megabytes of RAM +2019-10-02 13:27:26.976 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.975+0200 I INDEX [initandlisten] build index done. scanned 0 total records. 0 secs +2019-10-02 13:27:26.976 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.976+0200 I COMMAND [initandlisten] setting featureCompatibilityVersion to 3.4 +2019-10-02 13:27:26.976 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:26.976+0200 I NETWORK [thread1] waiting for connections on port 42071 +2019-10-02 13:27:27.107 INFO 14367 --- [Test worker] org.mongodb.driver.cluster : Cluster created with settings {hosts=[localhost:42071], mode=MULTIPLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500} +2019-10-02 13:27:27.108 INFO 14367 --- [Test worker] org.mongodb.driver.cluster : Adding discovered server localhost:42071 to client view of cluster +2019-10-02 13:27:27.155 DEBUG 14367 --- [Test worker] org.mongodb.driver.cluster : Updating cluster description to {type=UNKNOWN, servers=[{address=localhost:42071, type=UNKNOWN, state=CONNECTING}] +2019-10-02 13:27:27.163 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.163+0200 I NETWORK [thread1] connection accepted from 127.0.0.1:44684 #1 (1 connection now open) +2019-10-02 13:27:27.175 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.175+0200 I NETWORK [conn1] received client metadata from 127.0.0.1:44684 conn1: { driver: { name: "mongo-java-driver", version: "3.8.2" }, os: { type: "Linux", name: "Linux", architecture: "amd64", version: "4.16.0-2-amd64" }, platform: "Java/Debian/11.0.5-ea+6-post-Debian-2" } +2019-10-02 13:27:27.201 INFO 14367 --- [cluster-ClusterId{value='5d94899ff4446f381f0849fa', description='null'}-localhost:42071] org.mongodb.driver.connection : Opened connection [connectionId{localValue:1, serverValue:1}] to localhost:42071 +2019-10-02 13:27:27.201 DEBUG 14367 --- [cluster-ClusterId{value='5d94899ff4446f381f0849fa', description='null'}-localhost:42071] org.mongodb.driver.cluster : Checking status of localhost:42071 +2019-10-02 13:27:27.226 DEBUG 14367 --- [cluster-ClusterId{value='5d94899ff4446f381f0849fa', description='null'}-localhost:42071] org.mongodb.driver.protocol.command : Sending command '{ "ismaster" : 1 }' with request id 4 to database admin on connection [connectionId{localValue:1, serverValue:1}] to server localhost:42071 +2019-10-02 13:27:27.228 DEBUG 14367 --- [cluster-ClusterId{value='5d94899ff4446f381f0849fa', description='null'}-localhost:42071] org.mongodb.driver.protocol.command : Execution of command with request id 4 completed successfully in 23.50 ms on connection [connectionId{localValue:1, serverValue:1}] to server localhost:42071 +2019-10-02 13:27:27.229 INFO 14367 --- [cluster-ClusterId{value='5d94899ff4446f381f0849fa', description='null'}-localhost:42071] org.mongodb.driver.cluster : Monitor thread successfully connected to server with description ServerDescription{address=localhost:42071, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[3, 5, 5]}, minWireVersion=0, maxWireVersion=5, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=null, roundTripTimeNanos=26783893} +2019-10-02 13:27:27.231 INFO 14367 --- [cluster-ClusterId{value='5d94899ff4446f381f0849fa', description='null'}-localhost:42071] org.mongodb.driver.cluster : Discovered cluster type of STANDALONE +2019-10-02 13:27:27.234 DEBUG 14367 --- [cluster-ClusterId{value='5d94899ff4446f381f0849fa', description='null'}-localhost:42071] org.mongodb.driver.cluster : Updating cluster description to {type=STANDALONE, servers=[{address=localhost:42071, type=STANDALONE, roundTripTime=26.8 ms, state=CONNECTED}] +2019-10-02 13:27:27.532 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.532+0200 I NETWORK [thread1] connection accepted from 127.0.0.1:44686 #2 (2 connections now open) +2019-10-02 13:27:27.533 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.533+0200 I NETWORK [conn2] received client metadata from 127.0.0.1:44686 conn2: { driver: { name: "mongo-java-driver", version: "3.8.2" }, os: { type: "Linux", name: "Linux", architecture: "amd64", version: "4.16.0-2-amd64" }, platform: "Java/Debian/11.0.5-ea+6-post-Debian-2" } +2019-10-02 13:27:27.535 INFO 14367 --- [Test worker] org.mongodb.driver.connection : Opened connection [connectionId{localValue:2, serverValue:2}] to localhost:42071 +2019-10-02 13:27:27.547 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "createIndexes" : "identity", "indexes" : [{ "key" : { "identifier" : 1 }, "name" : "identifier", "ns" : "auta-test.identity" }] }' with request id 8 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:27.637 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.637+0200 I INDEX [conn2] build index on: auta-test.identity properties: { v: 2, key: { identifier: 1 }, name: "identifier", ns: "auta-test.identity" } +2019-10-02 13:27:27.637 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.637+0200 I INDEX [conn2] building index using bulk method; build may temporarily use up to 500 megabytes of RAM +2019-10-02 13:27:27.637 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.637+0200 I INDEX [conn2] build index done. scanned 0 total records. 0 secs +2019-10-02 13:27:27.638 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 8 completed successfully in 92.30 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:27.644 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "createIndexes" : "results", "indexes" : [{ "key" : { "assignmentId" : 1 }, "name" : "assignmentId", "ns" : "auta-test.results" }] }' with request id 9 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:27.728 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.728+0200 I INDEX [conn2] build index on: auta-test.results properties: { v: 2, key: { assignmentId: 1 }, name: "assignmentId", ns: "auta-test.results" } +2019-10-02 13:27:27.729 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.728+0200 I INDEX [conn2] building index using bulk method; build may temporarily use up to 500 megabytes of RAM +2019-10-02 13:27:27.729 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.729+0200 I INDEX [conn2] build index done. scanned 0 total records. 0 secs +2019-10-02 13:27:27.729 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 9 completed successfully in 87.50 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:27.732 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "createIndexes" : "results", "indexes" : [{ "key" : { "submissionId" : 1 }, "name" : "submissionId", "ns" : "auta-test.results" }] }' with request id 10 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:27.768 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.768+0200 I INDEX [conn2] build index on: auta-test.results properties: { v: 2, key: { submissionId: 1 }, name: "submissionId", ns: "auta-test.results" } +2019-10-02 13:27:27.768 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.768+0200 I INDEX [conn2] building index using bulk method; build may temporarily use up to 500 megabytes of RAM +2019-10-02 13:27:27.768 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.768+0200 I INDEX [conn2] build index done. scanned 0 total records. 0 secs +2019-10-02 13:27:27.769 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 10 completed successfully in 38.18 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:27.773 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "createIndexes" : "submission", "indexes" : [{ "key" : { "assignmentId" : 1 }, "name" : "assignmentId", "ns" : "auta-test.submission" }] }' with request id 11 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:27.868 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.868+0200 I INDEX [conn2] build index on: auta-test.submission properties: { v: 2, key: { assignmentId: 1 }, name: "assignmentId", ns: "auta-test.submission" } +2019-10-02 13:27:27.868 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.868+0200 I INDEX [conn2] building index using bulk method; build may temporarily use up to 500 megabytes of RAM +2019-10-02 13:27:27.869 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.868+0200 I INDEX [conn2] build index done. scanned 0 total records. 0 secs +2019-10-02 13:27:27.869 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 11 completed successfully in 96.85 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:27.879 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "createIndexes" : "assignment", "indexes" : [{ "key" : { "name" : 1 }, "name" : "name", "ns" : "auta-test.assignment", "unique" : true }] }' with request id 12 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:27.981 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.981+0200 I INDEX [conn2] build index on: auta-test.assignment properties: { v: 2, unique: true, key: { name: 1 }, name: "name", ns: "auta-test.assignment" } +2019-10-02 13:27:27.982 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.981+0200 I INDEX [conn2] building index using bulk method; build may temporarily use up to 500 megabytes of RAM +2019-10-02 13:27:27.982 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.982+0200 I INDEX [conn2] build index done. scanned 0 total records. 0 secs +2019-10-02 13:27:27.982 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:27.982+0200 I COMMAND [conn2] command auta-test.$cmd command: createIndexes { createIndexes: "assignment", indexes: [ { key: { name: 1 }, name: "name", ns: "auta-test.assignment", unique: true } ] } numYields:0 reslen:113 locks:{ Global: { acquireCount: { r: 1, w: 1 } }, Database: { acquireCount: { W: 1 } }, Collection: { acquireCount: { w: 1 } } } protocol:op_query 102ms +2019-10-02 13:27:27.982 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 12 completed successfully in 105.39 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:27.984 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "createIndexes" : "assignment", "indexes" : [{ "key" : { "deleted" : 1 }, "name" : "deleted", "ns" : "auta-test.assignment" }] }' with request id 13 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:28.008 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:28.008+0200 I INDEX [conn2] build index on: auta-test.assignment properties: { v: 2, key: { deleted: 1 }, name: "deleted", ns: "auta-test.assignment" } +2019-10-02 13:27:28.008 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:28.008+0200 I INDEX [conn2] building index using bulk method; build may temporarily use up to 500 megabytes of RAM +2019-10-02 13:27:28.008 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:28.008+0200 I INDEX [conn2] build index done. scanned 0 total records. 0 secs +2019-10-02 13:27:28.009 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 13 completed successfully in 25.23 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:28.011 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "createIndexes" : "benchmarking_data_container", "indexes" : [{ "key" : { "aid" : 1 }, "name" : "aid", "ns" : "auta-test.benchmarking_data_container" }] }' with request id 14 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:28.104 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:28.103+0200 I INDEX [conn2] build index on: auta-test.benchmarking_data_container properties: { v: 2, key: { aid: 1 }, name: "aid", ns: "auta-test.benchmarking_data_container" } +2019-10-02 13:27:28.104 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:28.103+0200 I INDEX [conn2] building index using bulk method; build may temporarily use up to 500 megabytes of RAM +2019-10-02 13:27:28.104 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:28.104+0200 I INDEX [conn2] build index done. scanned 0 total records. 0 secs +2019-10-02 13:27:28.105 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 14 completed successfully in 94.13 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:28.109 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "createIndexes" : "entity", "indexes" : [{ "key" : { "submissionId" : 1 }, "name" : "submissionId", "ns" : "auta-test.entity" }] }' with request id 15 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:28.198 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:28.198+0200 I INDEX [conn2] build index on: auta-test.entity properties: { v: 2, key: { submissionId: 1 }, name: "submissionId", ns: "auta-test.entity" } +2019-10-02 13:27:28.198 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:28.198+0200 I INDEX [conn2] building index using bulk method; build may temporarily use up to 500 megabytes of RAM +2019-10-02 13:27:28.199 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:28.199+0200 I INDEX [conn2] build index done. scanned 0 total records. 0 secs +2019-10-02 13:27:28.199 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 15 completed successfully in 90.56 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:28.202 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "createIndexes" : "entity", "indexes" : [{ "key" : { "assignmentId" : 1 }, "name" : "assignmentId", "ns" : "auta-test.entity" }] }' with request id 16 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:28.234 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:28.234+0200 I INDEX [conn2] build index on: auta-test.entity properties: { v: 2, key: { assignmentId: 1 }, name: "assignmentId", ns: "auta-test.entity" } +2019-10-02 13:27:28.234 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:28.234+0200 I INDEX [conn2] building index using bulk method; build may temporarily use up to 500 megabytes of RAM +2019-10-02 13:27:28.235 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:28.234+0200 I INDEX [conn2] build index done. scanned 0 total records. 0 secs +2019-10-02 13:27:28.235 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 16 completed successfully in 34.09 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:29.526 TRACE 14367 --- [Test worker] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped [/**/favicon.ico] onto ResourceHttpRequestHandler [class path resource [META-INF/resources/], class path resource [resources/], class path resource [static/], class path resource [public/], ServletContext resource [/], class path resource []] +2019-10-02 13:27:29.527 DEBUG 14367 --- [Test worker] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/**/favicon.ico] in 'faviconHandlerMapping' +2019-10-02 13:27:29.726 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:29.751 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:29.753 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AuthenticationController: + {POST /api/v1/user/register, produces [application/json]}: register(Map) + {PUT /api/v1/user/password, produces [application/json]}: password(Authentication,Map) + {PUT /api/v1/user, produces [application/json]}: updateUser(Map) + {POST /api/v1/user/login, produces [application/json]}: login(Map) + {DELETE /api/v1/user/logout, produces [application/json]}: logout(String) +2019-10-02 13:27:29.756 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:29.757 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CPMController: + {POST /api/v1/cpm/{aid}}: uploadAction(MultipartFile,String,CPMDataModel,BindingResult) +2019-10-02 13:27:29.760 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:29.763 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.FileController: + {PUT /api/v1/files/upload/**}: uploadAction(HttpServletRequest,MultipartFile) + {GET /api/v1/files/inspect/**}: inspectAction(HttpServletRequest) + {GET /api/v1/files/get/**}: downloadAction(HttpServletRequest) + {PUT /api/v1/files/mkdir/**}: mkdirAction(HttpServletRequest) +2019-10-02 13:27:29.764 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.LogController: + {GET /api/v1/logs/core, produces [application/json]}: getCoreLogAction() +2019-10-02 13:27:29.765 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.MetricsController: + {GET /api/v1/worker/metrics, produces [application/json]}: getMetricsAction() + {GET /api/v1/worker/metrics.js, produces [text/javascript]}: getMetricsJsAction() + {GET /api/v1/worker/metrics/test-fixtures, produces [application/json]}: getMetricTestFixturesAction() +2019-10-02 13:27:29.766 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.ReportController: + {GET /api/v1/assignment/{aid}/submission/{sid}/verdict, produces [application/json]}: verdictAction(String,String) +2019-10-02 13:27:29.767 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.ScriptValidationController: + {POST /api/v1/script/test/passing-script, produces [application/json]}: validateScript(Map) +2019-10-02 13:27:29.768 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SettingsController: + {PUT /api/v1/settings, produces [application/json]}: update(Map) + {GET /api/v1/settings, produces [application/json]}: retrieve() +2019-10-02 13:27:29.770 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionController: + {POST /api/v1/assignment/{aid}/submission, produces [application/json]}: addSubmissionAction(String,Map) + {GET /api/v1/assignment/{aid}/submission, produces [application/json]}: getAllSubmissions(String,Optional,Optional) + {GET /api/v1/assignment/{aid}/submission/{sid}, produces [application/json]}: getSubmissionAction(String,String,Optional) + {POST /api/v1/assignment/{aid}/submission/direct-upload, produces [application/json]}: directUploadSubmissionAction(String,MultipartFile,String,String) +2019-10-02 13:27:29.772 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:29.773 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.TokenController: + {GET /api/v1/worker/token, produces [application/json]}: getToken() +2019-10-02 13:27:29.774 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.UiController: + {GET [/{what:(?!api|js|css|img|index).+.*}, /{what:(?!api|js|css|img|sso).*}/{w2}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}/{w8}]}: get() +2019-10-02 13:27:29.775 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.UserController: + {GET /api/v1/users, produces [application/json]}: listUsersAction(Optional,Optional) + {GET /api/v1/user, produces [application/json]}: getCurrentUserAction(Authentication) +2019-10-02 13:27:29.776 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.WorkerController: + {GET /api/v1/workers, produces [application/json]}: getWorkersAction() +2019-10-02 13:27:29.777 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.s.SamlAdministrationController: + {GET /sso/saml/sp, produces [application/xml]}: getMetadataAction(HttpServletRequest) + {GET /sso/saml/idps/metadata, produces [application/xml]}: getKnownIdentityProvidersAction() + {PUT /api/v1/sso/saml/idps/metadata, consumes [application/xml]}: updateIdentityProvidersAction(HttpServletRequest) + {GET /api/v1/sso/saml/idps, produces [application/json]}: getIdentityProvidersAsJsonAction() +2019-10-02 13:27:29.778 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.s.SamlAssertionConsumptionController: + {POST /sso/saml/ac, consumes [application/x-www-form-urlencoded]}: consumeAssertionAction(HttpServletRequest,HttpServletResponse,Model) +2019-10-02 13:27:29.778 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.s.SamlInitiationController: + {GET /sso/saml/auth/**}: generateRequestAction(HttpServletRequest,HttpServletResponse) +2019-10-02 13:27:29.781 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + o.s.b.a.w.s.e.BasicErrorController: + { /error}: error(HttpServletRequest) + { /error, produces [text/html]}: errorHtml(HttpServletRequest,HttpServletResponse) +2019-10-02 13:27:29.784 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 57 mappings in 'requestMappingHandlerMapping' +2019-10-02 13:27:29.834 DEBUG 14367 --- [Test worker] o.s.w.s.h.BeanNameUrlHandlerMapping : Detected 0 mappings in 'beanNameHandlerMapping' +2019-10-02 13:27:29.844 TRACE 14367 --- [Test worker] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped [/webjars/**] onto ResourceHttpRequestHandler ["classpath:/META-INF/resources/webjars/"] +2019-10-02 13:27:29.844 TRACE 14367 --- [Test worker] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped [/**] onto ResourceHttpRequestHandler ["classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/", "/"] +2019-10-02 13:27:29.844 DEBUG 14367 --- [Test worker] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2019-10-02 13:27:29.865 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:30.136 TRACE 14367 --- [Test worker] o.s.w.c.s.GenericWebApplicationContext : No 'lifecycleProcessor' bean, using [DefaultLifecycleProcessor] +2019-10-02 13:27:30.140 DEBUG 14367 --- [Test worker] t.e.a.c.a.s.OpenSamlComponentInitializer : Auto-initializing component build:org.opensaml.saml.metadata.resolver.impl.FilesystemMetadataResolver +2019-10-02 13:27:30.149 INFO 14367 --- [Test worker] .m.r.i.AbstractReloadingMetadataResolver : Metadata Resolver FilesystemMetadataResolver build:org.opensaml.saml.metadata.resolver.impl.FilesystemMetadataResolver: New metadata successfully loaded for '/srv/auta/sso/idps.xml' +2019-10-02 13:27:30.150 INFO 14367 --- [Test worker] .m.r.i.AbstractReloadingMetadataResolver : Metadata Resolver FilesystemMetadataResolver build:org.opensaml.saml.metadata.resolver.impl.FilesystemMetadataResolver: Next refresh cycle for metadata provider '/srv/auta/sso/idps.xml' will occur on '2019-10-02T14:27:30.143Z' ('2019-10-02T16:27:30.143+02:00' local time) +2019-10-02 13:27:30.162 INFO 14367 --- [Test worker] .c.c.SubmissionControllerIntegrationTest : Started SubmissionControllerIntegrationTest in 12.271 seconds (JVM running for 46.785) +2019-10-02 13:27:30.227 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment1" }, "u" : { "_id" : "assignment1", "name" : "assignment1", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 17 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.229 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 17 completed successfully in 3.15 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.239 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment2" }, "u" : { "_id" : "assignment2", "name" : "assignment2", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 18 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.240 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 18 completed successfully in 1.85 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.248 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment3" }, "u" : { "_id" : "assignment3", "name" : "assignment3", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 19 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.251 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 19 completed successfully in 6.81 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.260 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course1" }, "u" : { "_id" : "course1", "name" : "NO_TA_NO_INSTRUCTORS", "courseCode" : "AB1234", "instructorSet" : [], "taSet" : [], "assignmentIds" : ["assignment1"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 20 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.313 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 20 completed successfully in 53.92 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.316 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course2" }, "u" : { "_id" : "course2", "name" : "TA_AND_INSTRUCTOR", "courseCode" : "AB1234", "instructorSet" : ["instructor"], "taSet" : ["ta"], "assignmentIds" : ["assignment2"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 21 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.317 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 21 completed successfully in 1.32 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.319 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course3" }, "u" : { "_id" : "course3", "name" : "TA_AND_INSTRUCTOR2", "courseCode" : "AB1234_2", "instructorSet" : ["instructor"], "taSet" : ["ta"], "assignmentIds" : ["assignment3"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 22 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.320 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 22 completed successfully in 1.17 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.327 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "submission", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission1" }, "u" : { "_id" : "submission1", "assignmentId" : "assignment1", "name" : "submission1", "pipelineLog" : { }, "_class" : "nl.tudelft.ewi.auta.core.model.Submission" }, "upsert" : true }] }' with request id 23 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.328 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 23 completed successfully in 1.60 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.331 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "submission", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission2" }, "u" : { "_id" : "submission2", "assignmentId" : "assignment2", "name" : "submission2", "pipelineLog" : { }, "_class" : "nl.tudelft.ewi.auta.core.model.Submission" }, "upsert" : true }] }' with request id 24 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.332 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 24 completed successfully in 1.80 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.341 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "identity", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission1" }, "u" : { "_id" : "submission1", "identifier" : "id1", "_class" : "nl.tudelft.ewi.auta.core.database.IdentityContainer" }, "upsert" : true }] }' with request id 25 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.342 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 25 completed successfully in 1.72 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.344 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "identity", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission2" }, "u" : { "_id" : "submission2", "identifier" : "id2", "_class" : "nl.tudelft.ewi.auta.core.database.IdentityContainer" }, "upsert" : true }] }' with request id 26 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.346 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 26 completed successfully in 1.94 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.365 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "entity", "ordered" : true, "updates" : [{ "q" : { "_id" : "container1" }, "u" : { "_id" : "container1", "entity" : { "children" : [], "name" : { "name" : "root" }, "isTestEntity" : false, "level" : "PROJECT", "metrics" : [], "metricReports" : [] }, "hadException" : false, "submissionId" : "submission1", "assignmentId" : "assignment1", "verdict" : "PENDING", "_class" : "nl.tudelft.ewi.auta.core.database.EntityContainer" }, "upsert" : true }] }' with request id 27 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.367 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 27 completed successfully in 2.05 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.371 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "entity", "ordered" : true, "updates" : [{ "q" : { "_id" : "container2" }, "u" : { "_id" : "container2", "entity" : { "children" : [], "name" : { "name" : "root" }, "isTestEntity" : false, "level" : "PROJECT", "metrics" : [], "metricReports" : [] }, "hadException" : false, "submissionId" : "submission2", "assignmentId" : "assignment2", "verdict" : "PENDING", "_class" : "nl.tudelft.ewi.auta.core.database.EntityContainer" }, "upsert" : true }] }' with request id 28 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.374 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 28 completed successfully in 4.42 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.415 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.SubmissionController.addSubmissionAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.net.URISyntaxException +2019-10-02 13:27:30.418 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{}] +2019-10-02 13:27:30.419 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment1, {}] +2019-10-02 13:27:30.442 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment1" }, "limit" : 1, "singleBatch" : true }' with request id 29 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.443 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 29 completed successfully in 1.04 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.475 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment1 +2019-10-02 13:27:30.493 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment1"] } } }' with request id 30 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.494 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 30 completed successfully in 0.96 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.500 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:30.501 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:30.502 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:30.502 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1, ServletWebRequest: uri=/api/v1/assignment/assignment1/submission;client=127.0.0.1] +2019-10-02 13:27:30.502 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/assignment1/submission;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForAssignmentAccess(CourseSecuredService.java:222) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForAssignmentAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.SubmissionController.addSubmissionAction(SubmissionController.java:190) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.postForbidden(AbstractWebSecurityIntegrationTest.java:74) + at nl.tudelft.ewi.auta.core.controller.SubmissionControllerIntegrationTest.instructorCannotAddNewUnauthorizedSubmission(SubmissionControllerIntegrationTest.java:31) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:30.504 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:30.505 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@23c891d]}] +2019-10-02 13:27:30.507 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1] +2019-10-02 13:27:30.519 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.SubmissionController.addSubmissionAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.net.URISyntaxException +2019-10-02 13:27:30.520 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{name=new-submission}] +2019-10-02 13:27:30.521 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment2, {name=new-submission}] +2019-10-02 13:27:30.522 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment2" }, "limit" : 1, "singleBatch" : true }' with request id 31 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.523 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 31 completed successfully in 1.09 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.524 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment2 +2019-10-02 13:27:30.526 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment2"] } } }' with request id 32 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.527 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 32 completed successfully in 0.90 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.528 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course2 +2019-10-02 13:27:30.528 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor is registered as an instructor in course course2 +2019-10-02 13:27:30.533 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "insert" : "submission", "ordered" : true, "documents" : [{ "_id" : { "$oid" : "5d9489a2f4446f381f0849fb" }, "assignmentId" : "assignment2", "name" : "new-submission", "contents" : "new-submission", "pipelineLog" : { "submitted" : { "$date" : "2019-10-02T11:27:30.528Z" } }, "_class" : "nl.tudelft.ewi.auta.core.model.Submission" }] }' with request id 33 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.534 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 33 completed successfully in 3.78 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.536 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.SubmissionController : Job added to queue, new length: 1 +2019-10-02 13:27:30.537 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:30.537 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{id=5d9489a2f4446f381f0849fb, errors=[]}] +2019-10-02 13:27:30.559 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.SubmissionController.getAllSubmissions(java.lang.String,java.util.Optional<java.lang.Integer>,java.util.Optional<java.lang.Integer>) +2019-10-02 13:27:30.560 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment1, Optional.empty, Optional.empty] +2019-10-02 13:27:30.562 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment1" }, "limit" : 1, "singleBatch" : true }' with request id 34 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.562 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 34 completed successfully in 0.85 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.563 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment1 +2019-10-02 13:27:30.567 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment1"] } } }' with request id 35 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.569 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 35 completed successfully in 3.51 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.572 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:30.573 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:30.574 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:30.574 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1, ServletWebRequest: uri=/api/v1/assignment/assignment1/submission;client=127.0.0.1] +2019-10-02 13:27:30.575 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/assignment1/submission;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForAssignmentAccess(CourseSecuredService.java:222) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForAssignmentAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.SubmissionController.getAllSubmissions(SubmissionController.java:141) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.getForbidden(AbstractWebSecurityIntegrationTest.java:66) + at nl.tudelft.ewi.auta.core.controller.SubmissionControllerIntegrationTest.instructorCannotAccessUnauthorizedSubmission(SubmissionControllerIntegrationTest.java:25) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:198) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:136) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:104) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:104) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:40) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:30.576 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:30.577 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@522fbea0]}] +2019-10-02 13:27:30.577 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1] +2019-10-02 13:27:30.590 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.SubmissionController.getSubmissionAction(java.lang.String,java.lang.String,java.util.Optional<java.lang.String>) +2019-10-02 13:27:30.591 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment1, submission1, Optional.empty] +2019-10-02 13:27:30.594 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment1" }, "limit" : 1, "singleBatch" : true }' with request id 36 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.595 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 36 completed successfully in 1.22 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.602 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "submission", "filter" : { "assignmentId" : "assignment1", "_id" : "submission1" }, "limit" : 2 }' with request id 37 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.603 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 37 completed successfully in 1.23 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.608 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment1 +2019-10-02 13:27:30.611 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment1"] } } }' with request id 38 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.611 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 38 completed successfully in 1.17 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.613 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:30.613 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:30.614 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:30.614 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access submission: submission1, ServletWebRequest: uri=/api/v1/assignment/assignment1/submission/submission1;client=127.0.0.1] +2019-10-02 13:27:30.614 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/assignment1/submission/submission1;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access submission: submission1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForSubmissionAccess(CourseSecuredService.java:239) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForSubmissionAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.SubmissionController.getSubmissionAction(SubmissionController.java:256) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.getForbidden(AbstractWebSecurityIntegrationTest.java:66) + at nl.tudelft.ewi.auta.core.controller.SubmissionControllerIntegrationTest.instructorCannotAccessUnauthorizedSubmission(SubmissionControllerIntegrationTest.java:25) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:198) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:136) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:104) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:104) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:40) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:30.616 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:30.616 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@45947a2f]}] +2019-10-02 13:27:30.617 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access submission: submission1] +2019-10-02 13:27:30.632 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.SubmissionController.getAllSubmissions(java.lang.String,java.util.Optional<java.lang.Integer>,java.util.Optional<java.lang.Integer>) +2019-10-02 13:27:30.633 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment2, Optional.empty, Optional.empty] +2019-10-02 13:27:30.635 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment2" }, "limit" : 1, "singleBatch" : true }' with request id 39 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.637 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 39 completed successfully in 1.45 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.639 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment2 +2019-10-02 13:27:30.642 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment2"] } } }' with request id 40 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.643 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 40 completed successfully in 1.27 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.644 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course2 +2019-10-02 13:27:30.644 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor is registered as an instructor in course course2 +2019-10-02 13:27:30.651 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "submission", "filter" : { "assignmentId" : "assignment2" }, "limit" : 25 }' with request id 41 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.652 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 41 completed successfully in 1.34 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.660 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "identity", "filter" : { "_id" : "submission2" }, "limit" : 1, "singleBatch" : true }' with request id 42 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.661 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 42 completed successfully in 1.27 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.677 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "identity", "filter" : { "_id" : { "$oid" : "5d9489a2f4446f381f0849fb" } }, "limit" : 1, "singleBatch" : true }' with request id 43 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.678 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 43 completed successfully in 2.29 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.680 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:30.680 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{numPages=1, submissions=[{identity=nl.tudelft.ewi.auta.core.database.IdentityContainer@2987ddca, name=submission2, id=submission2}, {identity=null, name=new-submission, id=5d9489a2f4446f381f0849fb}], page=1, errors=[]}] +2019-10-02 13:27:30.696 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.SubmissionController.getSubmissionAction(java.lang.String,java.lang.String,java.util.Optional<java.lang.String>) +2019-10-02 13:27:30.697 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment2, submission2, Optional.empty] +2019-10-02 13:27:30.699 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment2" }, "limit" : 1, "singleBatch" : true }' with request id 44 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.700 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 44 completed successfully in 1.47 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.703 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "submission", "filter" : { "assignmentId" : "assignment2", "_id" : "submission2" }, "limit" : 2 }' with request id 45 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.704 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 45 completed successfully in 1.14 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.705 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment2 +2019-10-02 13:27:30.707 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment2"] } } }' with request id 46 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.708 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 46 completed successfully in 0.91 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.708 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course2 +2019-10-02 13:27:30.709 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor is registered as an instructor in course course2 +2019-10-02 13:27:30.710 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "identity", "filter" : { "_id" : "submission2" }, "limit" : 1, "singleBatch" : true }' with request id 47 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.710 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 47 completed successfully in 0.76 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.713 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "entity", "filter" : { "submissionId" : "submission2", "assignmentId" : "assignment2" }, "limit" : 2 }' with request id 48 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.713 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 48 completed successfully in 0.93 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.718 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:30.735 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{identity=nl.tudelft.ewi.auta.core.database.IdentityContainer@302cda6b, name=submission2, id=submission2, aid=assignment2, pipelineLog=nl.tudelft.ewi.auta.core.model.SubmissionPipelineLog@e1781, results=PROJECT root + > + +, errors=[]}] +2019-10-02 13:27:30.753 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.ReportController: + {GET /api/v1/assignment/{aid}/submission/{sid}/verdict, produces [application/json]}: verdictAction(String,String) +2019-10-02 13:27:30.753 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:30.770 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:30.784 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:30.786 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.ReportController.verdictAction(java.lang.String,java.lang.String) +2019-10-02 13:27:30.787 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [existing, submission1] +2019-10-02 13:27:30.789 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:30.790 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{verdict=error, errors=[]}] +2019-10-02 13:27:30.797 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.ReportController: + {GET /api/v1/assignment/{aid}/submission/{sid}/verdict, produces [application/json]}: verdictAction(String,String) +2019-10-02 13:27:30.797 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:30.808 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:30.812 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:30.814 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.ReportController.verdictAction(java.lang.String,java.lang.String) +2019-10-02 13:27:30.815 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [existing, submission1] +2019-10-02 13:27:30.817 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:30.818 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{verdict=fail, errors=[]}] +2019-10-02 13:27:30.825 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.ReportController: + {GET /api/v1/assignment/{aid}/submission/{sid}/verdict, produces [application/json]}: verdictAction(String,String) +2019-10-02 13:27:30.825 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:30.838 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:30.843 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:30.845 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.ReportController.verdictAction(java.lang.String,java.lang.String) +2019-10-02 13:27:30.846 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [existing, submission1] +2019-10-02 13:27:30.848 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:30.849 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{verdict=pass, errors=[]}] +2019-10-02 13:27:30.856 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.ReportController: + {GET /api/v1/assignment/{aid}/submission/{sid}/verdict, produces [application/json]}: verdictAction(String,String) +2019-10-02 13:27:30.857 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:30.872 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:30.876 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:30.878 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.ReportController.verdictAction(java.lang.String,java.lang.String) +2019-10-02 13:27:30.880 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [existing, submission1] +2019-10-02 13:27:30.884 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:30.887 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{verdict=warn, errors=[]}] +2019-10-02 13:27:30.892 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.ReportController: + {GET /api/v1/assignment/{aid}/submission/{sid}/verdict, produces [application/json]}: verdictAction(String,String) +2019-10-02 13:27:30.892 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:30.902 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:30.906 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:30.907 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.ReportController.verdictAction(java.lang.String,java.lang.String) +2019-10-02 13:27:30.908 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [existing, submission1] +2019-10-02 13:27:30.909 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:30.910 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{verdict=pending, errors=[]}] +2019-10-02 13:27:30.924 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment1" }, "u" : { "_id" : "assignment1", "name" : "assignment1", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 49 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.925 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 49 completed successfully in 1.30 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.927 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment2" }, "u" : { "_id" : "assignment2", "name" : "assignment2", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 50 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.928 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 50 completed successfully in 0.97 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.930 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment3" }, "u" : { "_id" : "assignment3", "name" : "assignment3", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 51 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.931 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 51 completed successfully in 1.08 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.934 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course1" }, "u" : { "_id" : "course1", "name" : "NO_TA_NO_INSTRUCTORS", "courseCode" : "AB1234", "instructorSet" : [], "taSet" : [], "assignmentIds" : ["assignment1"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 52 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.935 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 52 completed successfully in 1.29 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.937 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course2" }, "u" : { "_id" : "course2", "name" : "TA_AND_INSTRUCTOR", "courseCode" : "AB1234", "instructorSet" : ["instructor"], "taSet" : ["ta"], "assignmentIds" : ["assignment2"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 53 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.938 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 53 completed successfully in 1.37 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.940 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course3" }, "u" : { "_id" : "course3", "name" : "TA_AND_INSTRUCTOR2", "courseCode" : "AB1234_2", "instructorSet" : ["instructor"], "taSet" : ["ta"], "assignmentIds" : ["assignment3"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 54 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.941 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 54 completed successfully in 1.19 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.943 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "submission", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission1" }, "u" : { "_id" : "submission1", "assignmentId" : "assignment1", "name" : "submission1", "pipelineLog" : { }, "_class" : "nl.tudelft.ewi.auta.core.model.Submission" }, "upsert" : true }] }' with request id 55 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.944 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 55 completed successfully in 1.18 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.947 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "submission", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission2" }, "u" : { "_id" : "submission2", "assignmentId" : "assignment2", "name" : "submission2", "pipelineLog" : { }, "_class" : "nl.tudelft.ewi.auta.core.model.Submission" }, "upsert" : true }] }' with request id 56 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.948 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 56 completed successfully in 1.17 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.950 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "identity", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission1" }, "u" : { "_id" : "submission1", "identifier" : "id1", "_class" : "nl.tudelft.ewi.auta.core.database.IdentityContainer" }, "upsert" : true }] }' with request id 57 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.951 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 57 completed successfully in 1.20 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.954 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "identity", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission2" }, "u" : { "_id" : "submission2", "identifier" : "id2", "_class" : "nl.tudelft.ewi.auta.core.database.IdentityContainer" }, "upsert" : true }] }' with request id 58 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.955 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 58 completed successfully in 2.00 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.957 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "entity", "ordered" : true, "updates" : [{ "q" : { "_id" : "container1" }, "u" : { "_id" : "container1", "entity" : { "children" : [], "name" : { "name" : "root" }, "isTestEntity" : false, "level" : "PROJECT", "metrics" : [], "metricReports" : [] }, "hadException" : false, "submissionId" : "submission1", "assignmentId" : "assignment1", "verdict" : "PENDING", "_class" : "nl.tudelft.ewi.auta.core.database.EntityContainer" }, "upsert" : true }] }' with request id 59 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.958 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 59 completed successfully in 1.14 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.965 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "entity", "ordered" : true, "updates" : [{ "q" : { "_id" : "container2" }, "u" : { "_id" : "container2", "entity" : { "children" : [], "name" : { "name" : "root" }, "isTestEntity" : false, "level" : "PROJECT", "metrics" : [], "metricReports" : [] }, "hadException" : false, "submissionId" : "submission2", "assignmentId" : "assignment2", "verdict" : "PENDING", "_class" : "nl.tudelft.ewi.auta.core.database.EntityContainer" }, "upsert" : true }] }' with request id 60 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.968 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 60 completed successfully in 4.33 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.980 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.addAssignmentAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) +2019-10-02 13:27:30.981 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{aid=assignment1}] +2019-10-02 13:27:30.981 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [course1, {aid=assignment1}] +2019-10-02 13:27:30.983 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment1" }, "limit" : 1, "singleBatch" : true }' with request id 61 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.983 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 61 completed successfully in 0.72 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.985 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "_id" : "course1" }, "limit" : 1, "singleBatch" : true }' with request id 62 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.986 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 62 completed successfully in 0.82 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:30.987 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:30.987 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:30.988 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:30.988 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1, ServletWebRequest: uri=/api/v1/course/course1/assignment;client=127.0.0.1] +2019-10-02 13:27:30.988 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/course1/assignment;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForCourseAccess(CourseSecuredService.java:206) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForCourseAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.CourseController.addAssignmentAction(CourseController.java:209) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.putForbidden(AbstractWebSecurityIntegrationTest.java:79) + at nl.tudelft.ewi.auta.core.controller.CourseControllerIntegrationTest.userCannotAccessUnauthorizedCourseAddAssignment(CourseControllerIntegrationTest.java:96) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:30.989 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:30.990 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@32446ceb]}] +2019-10-02 13:27:30.990 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1] +2019-10-02 13:27:31.000 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.getAllAction() +2019-10-02 13:27:31.000 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:31.001 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course" }' with request id 63 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.002 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 63 completed successfully in 1.02 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.005 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.005 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{courses=[nl.tudelft.ewi.auta.core.model.Course@1d0b2dd0, nl.tudelft.ewi.auta.core.model.Course@8916fb37, nl.tudelft.ewi.auta.core.model.Course@79dbb3c8], errors=[]}] +2019-10-02 13:27:31.016 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:31.017 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=instructor, role=ROLE_TEACHER}] +2019-10-02 13:27:31.018 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [course1, {username=instructor, role=ROLE_TEACHER}] +2019-10-02 13:27:31.019 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "_id" : "course1" }, "limit" : 1, "singleBatch" : true }' with request id 64 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.019 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 64 completed successfully in 0.74 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.020 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:31.021 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:31.021 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:31.021 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1, ServletWebRequest: uri=/api/v1/course/course1/user;client=127.0.0.1] +2019-10-02 13:27:31.022 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/course1/user;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForCourseAccess(CourseSecuredService.java:206) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForCourseAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(CourseController.java:254) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.putForbidden(AbstractWebSecurityIntegrationTest.java:79) + at nl.tudelft.ewi.auta.core.controller.CourseControllerIntegrationTest.userCannotAccessUnauthorizedCourseAddUser(CourseControllerIntegrationTest.java:83) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:31.023 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:31.023 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@40db42b7]}] +2019-10-02 13:27:31.024 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1] +2019-10-02 13:27:31.033 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.removeAssignmentAction(java.lang.String,java.lang.String) +2019-10-02 13:27:31.033 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [course1, aid] +2019-10-02 13:27:31.035 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "_id" : "course1" }, "limit" : 1, "singleBatch" : true }' with request id 65 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.036 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 65 completed successfully in 1.29 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.037 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:31.037 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:31.038 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:31.038 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1, ServletWebRequest: uri=/api/v1/course/course1/assignment/aid;client=127.0.0.1] +2019-10-02 13:27:31.038 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/course1/assignment/aid;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForCourseAccess(CourseSecuredService.java:206) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForCourseAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.CourseController.removeAssignmentAction(CourseController.java:318) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:931) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:666) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.deleteForbidden(AbstractWebSecurityIntegrationTest.java:70) + at nl.tudelft.ewi.auta.core.controller.CourseControllerIntegrationTest.userCannotAccessUnauthorizedCourseDeleteAssignment(CourseControllerIntegrationTest.java:117) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:31.039 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:31.040 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@2bd4e227]}] +2019-10-02 13:27:31.040 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1] +2019-10-02 13:27:31.052 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.getCourseAction(java.lang.String) +2019-10-02 13:27:31.053 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [course1] +2019-10-02 13:27:31.055 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "_id" : "course1" }, "limit" : 1, "singleBatch" : true }' with request id 66 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.056 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 66 completed successfully in 1.16 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.058 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:31.058 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:31.059 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:31.059 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1, ServletWebRequest: uri=/api/v1/course/course1;client=127.0.0.1] +2019-10-02 13:27:31.059 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/course1;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForCourseAccess(CourseSecuredService.java:206) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForCourseAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.CourseController.getCourseAction(CourseController.java:175) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.getForbidden(AbstractWebSecurityIntegrationTest.java:66) + at nl.tudelft.ewi.auta.core.controller.CourseControllerIntegrationTest.userCannotAccessUnauthorizedCourseGet(CourseControllerIntegrationTest.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:31.060 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:31.060 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@47e495b7]}] +2019-10-02 13:27:31.060 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1] +2019-10-02 13:27:31.071 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.getAllAction() +2019-10-02 13:27:31.072 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:31.074 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course" }' with request id 67 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.075 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 67 completed successfully in 1.02 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.076 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:31.076 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:31.076 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course2 +2019-10-02 13:27:31.077 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor is registered as an instructor in course course2 +2019-10-02 13:27:31.077 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course3 +2019-10-02 13:27:31.077 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor is registered as an instructor in course course3 +2019-10-02 13:27:31.077 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.077 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{courses=[nl.tudelft.ewi.auta.core.model.Course@8916fb37, nl.tudelft.ewi.auta.core.model.Course@79dbb3c8], errors=[]}] +2019-10-02 13:27:31.086 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.getCourseAction(java.lang.String) +2019-10-02 13:27:31.087 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [course1] +2019-10-02 13:27:31.088 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "_id" : "course1" }, "limit" : 1, "singleBatch" : true }' with request id 68 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.089 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 68 completed successfully in 0.69 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.090 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.090 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{course=nl.tudelft.ewi.auta.core.model.Course@1d0b2dd0, errors=[]}] +2019-10-02 13:27:31.099 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.addAssignmentAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) +2019-10-02 13:27:31.100 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{aid=assignment1}] +2019-10-02 13:27:31.100 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [course2, {aid=assignment1}] +2019-10-02 13:27:31.102 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment1" }, "limit" : 1, "singleBatch" : true }' with request id 69 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.102 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 69 completed successfully in 0.70 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.104 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "_id" : "course2" }, "limit" : 1, "singleBatch" : true }' with request id 70 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.104 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 70 completed successfully in 0.69 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.105 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course2 +2019-10-02 13:27:31.105 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor is registered as an instructor in course course2 +2019-10-02 13:27:31.105 DEBUG 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : Assignment assignment1 added to course course2 successfully: true +2019-10-02 13:27:31.107 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course2" }, "u" : { "_id" : "course2", "name" : "TA_AND_INSTRUCTOR", "courseCode" : "AB1234", "instructorSet" : ["instructor"], "taSet" : ["ta"], "assignmentIds" : ["assignment2", "assignment1"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 71 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.108 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 71 completed successfully in 0.87 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.108 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.108 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:31.110 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "_id" : "course2" }, "limit" : 1, "singleBatch" : true }' with request id 72 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.110 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 72 completed successfully in 0.77 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.118 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.getAllAction() +2019-10-02 13:27:31.119 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:31.120 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course" }' with request id 73 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.121 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 73 completed successfully in 0.76 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.122 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user ta, cid course1 +2019-10-02 13:27:31.122 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User ta does not have access to course course1 +2019-10-02 13:27:31.122 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user ta, cid course2 +2019-10-02 13:27:31.122 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User ta is registered as a TA in course course2 +2019-10-02 13:27:31.122 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user ta, cid course3 +2019-10-02 13:27:31.122 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User ta is registered as a TA in course course3 +2019-10-02 13:27:31.123 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.123 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{courses=[nl.tudelft.ewi.auta.core.model.Course@f15c4e3b, nl.tudelft.ewi.auta.core.model.Course@79dbb3c8], errors=[]}] +2019-10-02 13:27:31.134 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.removeUserAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:31.135 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [course1, ROLE_TEACHER, instructor] +2019-10-02 13:27:31.136 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "_id" : "course1" }, "limit" : 1, "singleBatch" : true }' with request id 74 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.137 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 74 completed successfully in 0.71 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.137 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:31.137 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:31.138 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:31.138 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1, ServletWebRequest: uri=/api/v1/course/course1/user/ROLE_TEACHER/instructor;client=127.0.0.1] +2019-10-02 13:27:31.138 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/course1/user/ROLE_TEACHER/instructor;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForCourseAccess(CourseSecuredService.java:206) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForCourseAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.CourseController.removeUserAction(CourseController.java:290) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:931) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:666) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.deleteForbidden(AbstractWebSecurityIntegrationTest.java:70) + at nl.tudelft.ewi.auta.core.controller.CourseControllerIntegrationTest.userCannotAccessUnauthorizedCourseDeleteUser(CourseControllerIntegrationTest.java:90) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:31.139 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:31.139 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@25226aa8]}] +2019-10-02 13:27:31.140 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1] +2019-10-02 13:27:31.150 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.deleteCourseAction(java.lang.String) +2019-10-02 13:27:31.151 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [course1] +2019-10-02 13:27:31.152 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "_id" : "course1" }, "limit" : 1, "singleBatch" : true }' with request id 75 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.152 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 75 completed successfully in 0.69 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.153 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:31.154 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:31.154 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:31.154 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1, ServletWebRequest: uri=/api/v1/course/course1;client=127.0.0.1] +2019-10-02 13:27:31.154 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/course1;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForCourseAccess(CourseSecuredService.java:206) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForCourseAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.CourseController.deleteCourseAction(CourseController.java:136) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:931) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:666) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.deleteForbidden(AbstractWebSecurityIntegrationTest.java:70) + at nl.tudelft.ewi.auta.core.controller.CourseControllerIntegrationTest.userCannotAccessUnauthorizedCourseDelete(CourseControllerIntegrationTest.java:67) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:31.156 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:31.156 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@1adb55af]}] +2019-10-02 13:27:31.156 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1] +2019-10-02 13:27:31.168 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.updateCourseAction(java.lang.String,nl.tudelft.ewi.auta.core.model.Course,org.springframework.validation.BindingResult) +2019-10-02 13:27:31.201 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.model.Course@9f010a28] +2019-10-02 13:27:31.201 TRACE 14367 --- [Test worker] o.s.w.m.support.InvocableHandlerMethod : Arguments: [org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder@215da7e0] +2019-10-02 13:27:31.250 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [course1, nl.tudelft.ewi.auta.core.model.Course@9f010a28, org.springframework.validation.BeanPropertyBindingResult: 0 errors] +2019-10-02 13:27:31.253 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "_id" : "course1" }, "limit" : 1, "singleBatch" : true }' with request id 76 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.254 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 76 completed successfully in 0.90 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:31.254 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:31.255 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:31.255 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:31.255 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1, ServletWebRequest: uri=/api/v1/course/course1;client=127.0.0.1] +2019-10-02 13:27:31.255 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/course1;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForCourseAccess(CourseSecuredService.java:206) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForCourseAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.CourseController.updateCourseAction(CourseController.java:156) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.putForbidden(AbstractWebSecurityIntegrationTest.java:79) + at nl.tudelft.ewi.auta.core.controller.CourseControllerIntegrationTest.userCannotAccessUnauthorizedCourseUpdateCourse(CourseControllerIntegrationTest.java:77) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:31.257 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:31.257 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@5f9b2686]}] +2019-10-02 13:27:31.257 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access course: course1] +2019-10-02 13:27:31.288 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.289 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.301 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.306 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.309 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.addNewCourseAction(nl.tudelft.ewi.auta.core.model.Course,org.springframework.validation.BindingResult) +2019-10-02 13:27:31.312 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.model.Course@7a1fd084] +2019-10-02 13:27:31.312 TRACE 14367 --- [Test worker] o.s.w.m.support.InvocableHandlerMethod : Arguments: [org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder@276b63d4] +2019-10-02 13:27:31.313 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.model.Course@7a1fd084, org.springframework.validation.BeanPropertyBindingResult: 0 errors] +2019-10-02 13:27:31.315 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.316 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{id=cid, errors=[]}] +2019-10-02 13:27:31.327 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.328 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.340 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.344 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.346 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.removeAssignmentAction(java.lang.String,java.lang.String) +2019-10-02 13:27:31.348 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, aid] +2019-10-02 13:27:31.350 DEBUG 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : Removed assignment aid successfully: false +2019-10-02 13:27:31.351 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.352 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:31.365 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.366 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.378 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.382 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.386 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.addAssignmentAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) +2019-10-02 13:27:31.389 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{aid=aid}] +2019-10-02 13:27:31.389 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, {aid=aid}] +2019-10-02 13:27:31.390 DEBUG 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : Assignment aid added to course cid successfully: true +2019-10-02 13:27:31.391 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.392 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:31.405 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.406 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.420 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.425 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.427 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:31.430 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=admin, role=ROLE_STUDENT}] +2019-10-02 13:27:31.430 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, {username=admin, role=ROLE_STUDENT}] +2019-10-02 13:27:31.434 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:31.434 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.InvalidRoleException: ROLE_STUDENT is an invalid role type, ServletWebRequest: uri=/api/v1/course/cid/user;client=127.0.0.1] +2019-10-02 13:27:31.434 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/cid/user;client=127.0.0.1 generated a(n) INVALID_ROLE error + +nl.tudelft.ewi.auta.core.response.exception.InvalidRoleException: ROLE_STUDENT is an invalid role type + at nl.tudelft.ewi.auta.core.controller.CourseController.addUser(CourseController.java:340) + at nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(CourseController.java:259) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.assignUserInvalidRoleTest(CourseControllerTest.java:291) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:31.435 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:31.436 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@46800e19]}] +2019-10-02 13:27:31.438 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.InvalidRoleException: ROLE_STUDENT is an invalid role type] +2019-10-02 13:27:31.449 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.450 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.465 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.478 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.479 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.getAllAction() +2019-10-02 13:27:31.480 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:31.481 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.483 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{courses=[nl.tudelft.ewi.auta.core.model.Course@3c431028], errors=[]}] +2019-10-02 13:27:31.497 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.498 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.511 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.516 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.518 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:31.521 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=admin, role=ROLE_TEACHER}] +2019-10-02 13:27:31.521 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [empty, {username=admin, role=ROLE_TEACHER}] +2019-10-02 13:27:31.523 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:31.524 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException, ServletWebRequest: uri=/api/v1/course/empty/user;client=127.0.0.1] +2019-10-02 13:27:31.524 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/empty/user;client=127.0.0.1 generated a(n) NO_SUCH_COURSE error + +nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException: null + at nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(CourseController.java:253) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.assignUserInvalidCourseIdTest(CourseControllerTest.java:282) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:31.526 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:31.527 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@e1834c9]}] +2019-10-02 13:27:31.529 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException] +2019-10-02 13:27:31.598 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.599 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.612 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.616 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.619 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:31.622 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=ta, role=ROLE_TA}] +2019-10-02 13:27:31.622 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, {username=ta, role=ROLE_TA}] +2019-10-02 13:27:31.626 DEBUG 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : User ta added to course cid with role ROLE_TA successfully: true +2019-10-02 13:27:31.627 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.628 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:31.643 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.644 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.657 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.662 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.664 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:31.667 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=teacher, role=ROLE_TA}] +2019-10-02 13:27:31.668 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, {username=teacher, role=ROLE_TA}] +2019-10-02 13:27:31.673 DEBUG 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : User teacher added to course cid with role ROLE_TA successfully: true +2019-10-02 13:27:31.674 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.675 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:31.683 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.684 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.692 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.696 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.698 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:31.699 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=teacher, role=ROLE_TEACHER}] +2019-10-02 13:27:31.700 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, {username=teacher, role=ROLE_TEACHER}] +2019-10-02 13:27:31.701 DEBUG 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : User teacher added to course cid with role ROLE_TEACHER successfully: true +2019-10-02 13:27:31.702 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.703 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:31.711 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.712 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.720 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.725 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.727 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:31.729 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=admin, role=ROLE_TA}] +2019-10-02 13:27:31.730 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, {username=admin, role=ROLE_TA}] +2019-10-02 13:27:31.731 DEBUG 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : User admin added to course cid with role ROLE_TA successfully: true +2019-10-02 13:27:31.733 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.734 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:31.746 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.747 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.760 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.764 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.767 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:31.773 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=admin, role=ROLE_TEACHER}] +2019-10-02 13:27:31.774 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, {username=admin, role=ROLE_TEACHER}] +2019-10-02 13:27:31.776 DEBUG 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : User admin added to course cid with role ROLE_TEACHER successfully: true +2019-10-02 13:27:31.777 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.777 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:31.787 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.788 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.798 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.803 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.805 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.addNewCourseAction(nl.tudelft.ewi.auta.core.model.Course,org.springframework.validation.BindingResult) +2019-10-02 13:27:31.807 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.model.Course@768a0747] +2019-10-02 13:27:31.807 TRACE 14367 --- [Test worker] o.s.w.m.support.InvocableHandlerMethod : Arguments: [org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder@15433791] +2019-10-02 13:27:31.808 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.model.Course@768a0747, org.springframework.validation.BeanPropertyBindingResult: 1 errors +Field error in object 'course' on field 'year': rejected value [null]; codes [year.empty.course.year,year.empty.year,year.empty.java.lang.Integer,year.empty]; arguments []; default message [year cannot be empty]] +2019-10-02 13:27:31.810 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:31.810 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.FieldTypeMismatchException: year cannot be empty, ServletWebRequest: uri=/api/v1/course;client=127.0.0.1] +2019-10-02 13:27:31.810 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course;client=127.0.0.1 generated a(n) FIELD_TYPE_MISMATCH error + +nl.tudelft.ewi.auta.core.response.exception.FieldTypeMismatchException: year cannot be empty + at nl.tudelft.ewi.auta.core.controller.ControllerBase.checkForErrors(ControllerBase.java:88) + at nl.tudelft.ewi.auta.core.controller.CourseController.addNewCourseAction(CourseController.java:113) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.addCourseInvalidTest(CourseControllerTest.java:198) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:31.811 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:31.811 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@5b094906]}] +2019-10-02 13:27:31.813 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.FieldTypeMismatchException: year cannot be empty] +2019-10-02 13:27:31.820 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.821 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.828 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.831 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.833 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.removeUserAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:31.834 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, ROLE, ta] +2019-10-02 13:27:31.835 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:31.835 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.InvalidRoleException: Role must be one of ROLE_TA, ROLE_TEACHER, ServletWebRequest: uri=/api/v1/course/cid/user/ROLE/ta;client=127.0.0.1] +2019-10-02 13:27:31.835 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/cid/user/ROLE/ta;client=127.0.0.1 generated a(n) INVALID_ROLE error + +nl.tudelft.ewi.auta.core.response.exception.InvalidRoleException: Role must be one of ROLE_TA, ROLE_TEACHER + at nl.tudelft.ewi.auta.core.controller.CourseController.removeUserAction(CourseController.java:287) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:931) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:666) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.deleteUserInvalidRoleTest(CourseControllerTest.java:388) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:31.837 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:31.837 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@432213d2]}] +2019-10-02 13:27:31.838 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.InvalidRoleException: Role must be one of ROLE_TA, ROLE_TEACHER] +2019-10-02 13:27:31.870 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.871 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.886 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.890 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.892 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.addAssignmentAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) +2019-10-02 13:27:31.895 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{aid=aid}] +2019-10-02 13:27:31.895 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [empty, {aid=aid}] +2019-10-02 13:27:31.896 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:31.897 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException, ServletWebRequest: uri=/api/v1/course/empty/assignment;client=127.0.0.1] +2019-10-02 13:27:31.897 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/empty/assignment;client=127.0.0.1 generated a(n) NO_SUCH_COURSE error + +nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException: null + at nl.tudelft.ewi.auta.core.controller.CourseController.addAssignmentAction(CourseController.java:208) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.addAssignmentBadCourseTest(CourseControllerTest.java:328) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:31.898 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:31.899 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@349ce6cb]}] +2019-10-02 13:27:31.900 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException] +2019-10-02 13:27:31.910 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.911 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.923 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.927 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.929 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.getCourseAction(java.lang.String) +2019-10-02 13:27:31.930 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid] +2019-10-02 13:27:31.931 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.932 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{course=nl.tudelft.ewi.auta.core.model.Course@3c431028, errors=[]}] +2019-10-02 13:27:31.944 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.945 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.956 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.960 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.962 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:31.964 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=ta, role=ROLE_TA}] +2019-10-02 13:27:31.965 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, {username=ta, role=ROLE_TA}] +2019-10-02 13:27:31.966 DEBUG 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : User ta added to course cid with role ROLE_TA successfully: false +2019-10-02 13:27:31.968 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.969 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:31.975 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:31.976 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:31.989 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:31.992 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:31.993 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.removeAssignmentAction(java.lang.String,java.lang.String) +2019-10-02 13:27:31.993 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, alreadyExists] +2019-10-02 13:27:31.994 DEBUG 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : Removed assignment alreadyExists successfully: true +2019-10-02 13:27:31.994 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:31.995 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:32.001 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.002 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.009 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.011 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.012 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.addNewCourseAction(nl.tudelft.ewi.auta.core.model.Course,org.springframework.validation.BindingResult) +2019-10-02 13:27:32.014 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.model.Course@d78d8df4] +2019-10-02 13:27:32.014 TRACE 14367 --- [Test worker] o.s.w.m.support.InvocableHandlerMethod : Arguments: [org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder@3116a1c7] +2019-10-02 13:27:32.015 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.model.Course@d78d8df4, org.springframework.validation.BeanPropertyBindingResult: 1 errors +Field error in object 'course' on field 'name': rejected value [null]; codes [name.empty.course.name,name.empty.name,name.empty.java.lang.String,name.empty]; arguments []; default message [Name cannot be empty]] +2019-10-02 13:27:32.016 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:32.016 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.FieldTypeMismatchException: Name cannot be empty, ServletWebRequest: uri=/api/v1/course;client=127.0.0.1] +2019-10-02 13:27:32.016 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course;client=127.0.0.1 generated a(n) FIELD_TYPE_MISMATCH error + +nl.tudelft.ewi.auta.core.response.exception.FieldTypeMismatchException: Name cannot be empty + at nl.tudelft.ewi.auta.core.controller.ControllerBase.checkForErrors(ControllerBase.java:88) + at nl.tudelft.ewi.auta.core.controller.CourseController.addNewCourseAction(CourseController.java:113) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.addCourseMissingNameTest(CourseControllerTest.java:212) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:32.017 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:32.018 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@11d45c84]}] +2019-10-02 13:27:32.019 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.FieldTypeMismatchException: Name cannot be empty] +2019-10-02 13:27:32.027 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.028 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.037 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.040 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.041 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.removeAssignmentAction(java.lang.String,java.lang.String) +2019-10-02 13:27:32.042 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [empty, alreadyExists] +2019-10-02 13:27:32.042 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:32.043 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException, ServletWebRequest: uri=/api/v1/course/empty/assignment/alreadyExists;client=127.0.0.1] +2019-10-02 13:27:32.043 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/empty/assignment/alreadyExists;client=127.0.0.1 generated a(n) NO_SUCH_COURSE error + +nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException: null + at nl.tudelft.ewi.auta.core.controller.CourseController.removeAssignmentAction(CourseController.java:317) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:931) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:666) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.deleteAssignmenInvalidCourseTest(CourseControllerTest.java:351) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:32.044 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:32.044 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@1340e9dc]}] +2019-10-02 13:27:32.045 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException] +2019-10-02 13:27:32.053 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.053 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.068 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.071 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.072 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.removeUserAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:32.073 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, ROLE_TA, ta] +2019-10-02 13:27:32.074 DEBUG 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : Removed TA ta successfully: true +2019-10-02 13:27:32.074 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:32.075 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:32.081 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.082 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.089 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.092 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.093 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.deleteCourseAction(java.lang.String) +2019-10-02 13:27:32.094 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [empty] +2019-10-02 13:27:32.095 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:32.095 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException, ServletWebRequest: uri=/api/v1/course/empty;client=127.0.0.1] +2019-10-02 13:27:32.095 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/empty;client=127.0.0.1 generated a(n) NO_SUCH_COURSE error + +nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException: null + at nl.tudelft.ewi.auta.core.controller.CourseController.deleteCourseAction(CourseController.java:135) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:931) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:666) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.deleteCourseNotExistingTest(CourseControllerTest.java:337) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:32.096 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:32.097 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@3b8fb744]}] +2019-10-02 13:27:32.098 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException] +2019-10-02 13:27:32.103 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.104 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.112 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.115 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.116 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.removeUserAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:32.117 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, ROLE_TEACHER, admin] +2019-10-02 13:27:32.118 DEBUG 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : Removed instructor admin successfully: true +2019-10-02 13:27:32.118 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:32.119 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:32.128 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.129 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.137 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.140 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.141 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.updateCourseAction(java.lang.String,nl.tudelft.ewi.auta.core.model.Course,org.springframework.validation.BindingResult) +2019-10-02 13:27:32.144 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.model.Course@2ba9f8fc] +2019-10-02 13:27:32.144 TRACE 14367 --- [Test worker] o.s.w.m.support.InvocableHandlerMethod : Arguments: [org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder@404a0714] +2019-10-02 13:27:32.144 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, nl.tudelft.ewi.auta.core.model.Course@2ba9f8fc, org.springframework.validation.BeanPropertyBindingResult: 0 errors] +2019-10-02 13:27:32.145 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:32.146 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:32.152 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.152 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.159 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.164 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.165 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.getCourseAction(java.lang.String) +2019-10-02 13:27:32.165 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [empty] +2019-10-02 13:27:32.166 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:32.166 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException, ServletWebRequest: uri=/api/v1/course/empty;client=127.0.0.1] +2019-10-02 13:27:32.166 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/empty;client=127.0.0.1 generated a(n) NO_SUCH_COURSE error + +nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException: null + at nl.tudelft.ewi.auta.core.controller.CourseController.getCourseAction(CourseController.java:174) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.getSpecificCourseNotExistsTest(CourseControllerTest.java:438) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:32.167 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:32.168 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@650afbfb]}] +2019-10-02 13:27:32.169 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException] +2019-10-02 13:27:32.179 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.180 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.187 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.190 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.191 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.addNewCourseAction(nl.tudelft.ewi.auta.core.model.Course,org.springframework.validation.BindingResult) +2019-10-02 13:27:32.194 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.model.Course@e0938ac] +2019-10-02 13:27:32.194 TRACE 14367 --- [Test worker] o.s.w.m.support.InvocableHandlerMethod : Arguments: [org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder@61e001e2] +2019-10-02 13:27:32.195 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.model.Course@e0938ac, org.springframework.validation.BeanPropertyBindingResult: 1 errors +Field error in object 'course' on field 'courseCode': rejected value [null]; codes [courseCode.empty.course.courseCode,courseCode.empty.courseCode,courseCode.empty.java.lang.String,courseCode.empty]; arguments []; default message [course code cannot be empty]] +2019-10-02 13:27:32.196 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:32.196 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.FieldTypeMismatchException: course code cannot be empty, ServletWebRequest: uri=/api/v1/course;client=127.0.0.1] +2019-10-02 13:27:32.196 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course;client=127.0.0.1 generated a(n) FIELD_TYPE_MISMATCH error + +nl.tudelft.ewi.auta.core.response.exception.FieldTypeMismatchException: course code cannot be empty + at nl.tudelft.ewi.auta.core.controller.ControllerBase.checkForErrors(ControllerBase.java:88) + at nl.tudelft.ewi.auta.core.controller.CourseController.addNewCourseAction(CourseController.java:113) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.addCourseMissingCourseCodeTest(CourseControllerTest.java:228) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:32.197 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:32.197 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@73c3ee05]}] +2019-10-02 13:27:32.198 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.FieldTypeMismatchException: course code cannot be empty] +2019-10-02 13:27:32.204 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.205 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.213 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.216 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.218 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.addNewCourseAction(nl.tudelft.ewi.auta.core.model.Course,org.springframework.validation.BindingResult) +2019-10-02 13:27:32.221 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.model.Course@3c431028] +2019-10-02 13:27:32.221 TRACE 14367 --- [Test worker] o.s.w.m.support.InvocableHandlerMethod : Arguments: [org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder@43bf8bcc] +2019-10-02 13:27:32.222 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.model.Course@3c431028, org.springframework.validation.BeanPropertyBindingResult: 0 errors] +2019-10-02 13:27:32.228 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:32.228 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.CourseAlreadyExistsException: Course with code: courseCode, year: 2019 already exists, ServletWebRequest: uri=/api/v1/course;client=127.0.0.1] +2019-10-02 13:27:32.228 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course;client=127.0.0.1 generated a(n) COURSE_ALREADY_EXISTS error + +nl.tudelft.ewi.auta.core.response.exception.CourseAlreadyExistsException: Course with code: courseCode, year: 2019 already exists + at nl.tudelft.ewi.auta.core.controller.CourseController.lambda$addNewCourseAction$1(CourseController.java:119) + at java.base/java.util.Optional.ifPresent(Optional.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseController.addNewCourseAction(CourseController.java:117) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.addCourseAlreadyExistsTest(CourseControllerTest.java:158) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:32.229 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:32.231 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@192a59d4]}] +2019-10-02 13:27:32.232 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.CourseAlreadyExistsException: Course with code: courseCode, year: 2019 already exists] +2019-10-02 13:27:32.239 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.240 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.252 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.256 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.258 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.addNewCourseAction(nl.tudelft.ewi.auta.core.model.Course,org.springframework.validation.BindingResult) +2019-10-02 13:27:32.261 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.model.Course@79cc2c3c] +2019-10-02 13:27:32.261 TRACE 14367 --- [Test worker] o.s.w.m.support.InvocableHandlerMethod : Arguments: [org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder@559a02fe] +2019-10-02 13:27:32.262 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.model.Course@79cc2c3c, org.springframework.validation.BeanPropertyBindingResult: 1 errors +Field error in object 'course' on field 'year': rejected value [1835]; codes [too.old.course.year,too.old.year,too.old.java.lang.Integer,too.old]; arguments []; default message [year must be greater than 1970]] +2019-10-02 13:27:32.263 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:32.263 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.FieldTypeMismatchException: year must be greater than 1970, ServletWebRequest: uri=/api/v1/course;client=127.0.0.1] +2019-10-02 13:27:32.263 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course;client=127.0.0.1 generated a(n) FIELD_TYPE_MISMATCH error + +nl.tudelft.ewi.auta.core.response.exception.FieldTypeMismatchException: year must be greater than 1970 + at nl.tudelft.ewi.auta.core.controller.ControllerBase.checkForErrors(ControllerBase.java:88) + at nl.tudelft.ewi.auta.core.controller.CourseController.addNewCourseAction(CourseController.java:113) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.addCourseTooOldTest(CourseControllerTest.java:244) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:32.264 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:32.265 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@464f9ef8]}] +2019-10-02 13:27:32.267 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.FieldTypeMismatchException: year must be greater than 1970] +2019-10-02 13:27:32.282 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.284 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.295 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.299 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.300 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.removeUserAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:32.301 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [empty, ROLE_TA, ta] +2019-10-02 13:27:32.303 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:32.303 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException, ServletWebRequest: uri=/api/v1/course/empty/user/ROLE_TA/ta;client=127.0.0.1] +2019-10-02 13:27:32.303 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/empty/user/ROLE_TA/ta;client=127.0.0.1 generated a(n) NO_SUCH_COURSE error + +nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException: null + at nl.tudelft.ewi.auta.core.controller.CourseController.removeUserAction(CourseController.java:289) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:931) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:666) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.deleteUserNotExistingCourseTest(CourseControllerTest.java:379) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:32.304 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:32.305 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@2aa18743]}] +2019-10-02 13:27:32.306 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.NoSuchCourseException] +2019-10-02 13:27:32.319 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.320 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.332 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.336 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.338 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:32.341 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=student, role=ROLE_TA}] +2019-10-02 13:27:32.341 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, {username=student, role=ROLE_TA}] +2019-10-02 13:27:32.343 WARN 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : User student has max authority -1, could not add course null with role ROLE_TA +2019-10-02 13:27:32.344 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:32.345 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: Cannot add user student as a ROLE_TA, user does not have high enough authority, ServletWebRequest: uri=/api/v1/course/cid/user;client=127.0.0.1] +2019-10-02 13:27:32.345 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/cid/user;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: Cannot add user student as a ROLE_TA, user does not have high enough authority + at nl.tudelft.ewi.auta.core.controller.CourseController.addUser(CourseController.java:358) + at nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(CourseController.java:259) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.assignUserTooLowAuthorityTest(CourseControllerTest.java:258) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:198) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:136) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:104) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:104) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:40) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:32.346 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:32.347 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@47a528ea]}] +2019-10-02 13:27:32.349 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: Cannot add user student as a ROLE_TA, user does not have high enough authority] +2019-10-02 13:27:32.370 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.371 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.384 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.388 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.389 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:32.391 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=student, role=ROLE_TEACHER}] +2019-10-02 13:27:32.391 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, {username=student, role=ROLE_TEACHER}] +2019-10-02 13:27:32.392 WARN 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : User student has max authority -1, could not add course null with role ROLE_TEACHER +2019-10-02 13:27:32.393 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:32.393 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: Cannot add user student as a ROLE_TEACHER, user does not have high enough authority, ServletWebRequest: uri=/api/v1/course/cid/user;client=127.0.0.1] +2019-10-02 13:27:32.393 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/cid/user;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: Cannot add user student as a ROLE_TEACHER, user does not have high enough authority + at nl.tudelft.ewi.auta.core.controller.CourseController.addUser(CourseController.java:358) + at nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(CourseController.java:259) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.assignUserTooLowAuthorityTest(CourseControllerTest.java:258) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:198) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:136) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:104) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:104) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:40) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:32.395 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:32.395 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@1947bbe5]}] +2019-10-02 13:27:32.396 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: Cannot add user student as a ROLE_TEACHER, user does not have high enough authority] +2019-10-02 13:27:32.404 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.405 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.414 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.418 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.419 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:32.421 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=ta, role=ROLE_TEACHER}] +2019-10-02 13:27:32.422 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, {username=ta, role=ROLE_TEACHER}] +2019-10-02 13:27:32.423 WARN 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : User ta has max authority 0, could not add course null with role ROLE_TEACHER +2019-10-02 13:27:32.423 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:32.424 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: Cannot add user ta as a ROLE_TEACHER, user does not have high enough authority, ServletWebRequest: uri=/api/v1/course/cid/user;client=127.0.0.1] +2019-10-02 13:27:32.424 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/course/cid/user;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: Cannot add user ta as a ROLE_TEACHER, user does not have high enough authority + at nl.tudelft.ewi.auta.core.controller.CourseController.addUser(CourseController.java:358) + at nl.tudelft.ewi.auta.core.controller.CourseController.assignRoleAction(CourseController.java:259) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.CourseControllerTest.assignUserTooLowAuthorityTest(CourseControllerTest.java:258) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:198) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:136) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:104) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:104) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:40) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:32.425 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:32.425 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@2579e550]}] +2019-10-02 13:27:32.426 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: Cannot add user ta as a ROLE_TEACHER, user does not have high enough authority] +2019-10-02 13:27:32.432 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.433 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.442 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.446 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.447 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.deleteCourseAction(java.lang.String) +2019-10-02 13:27:32.448 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid] +2019-10-02 13:27:32.449 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:32.450 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:32.459 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CourseController: + {GET /api/v1/course, produces [application/json]}: getAllAction() + {PUT /api/v1/course/{cid}/assignment, produces [application/json]}: addAssignmentAction(String,Map) + {POST /api/v1/course, produces [application/json]}: addNewCourseAction(Course,BindingResult) + {DELETE /api/v1/course/{cid}, produces [application/json]}: deleteCourseAction(String) + {PUT /api/v1/course/{cid}, produces [application/json]}: updateCourseAction(String,Course,BindingResult) + {GET /api/v1/course/{cid}, produces [application/json]}: getCourseAction(String) + {PUT /api/v1/course/{cid}/user, produces [application/json]}: assignRoleAction(String,Map) + {DELETE /api/v1/course/{cid}/user/{role}/{username}, produces [application/json]}: removeUserAction(String,String,String) + {DELETE /api/v1/course/{cid}/assignment/{aid}, produces [application/json]}: removeAssignmentAction(String,String) +2019-10-02 13:27:32.460 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 9 mappings in <unknown> +2019-10-02 13:27:32.472 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.478 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.479 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.CourseController.addAssignmentAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) +2019-10-02 13:27:32.481 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{aid=alreadyExists}] +2019-10-02 13:27:32.481 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [cid, {aid=alreadyExists}] +2019-10-02 13:27:32.482 DEBUG 14367 --- [Test worker] n.t.e.a.c.controller.CourseController : Assignment alreadyExists added to course cid successfully: false +2019-10-02 13:27:32.482 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:32.483 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:32.498 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.MetricsController: + {GET /api/v1/worker/metrics, produces [application/json]}: getMetricsAction() + {GET /api/v1/worker/metrics.js, produces [text/javascript]}: getMetricsJsAction() + {GET /api/v1/worker/metrics/test-fixtures, produces [application/json]}: getMetricTestFixturesAction() +2019-10-02 13:27:32.498 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:32.505 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.508 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.509 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.MetricsController.getMetricTestFixturesAction() +2019-10-02 13:27:32.510 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:32.510 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:32.511 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[], fixtures={ASSEMBLY_INSTRUCTION_COUNT=[3.0, 1461.0], ASSEMBLY_RECURSION_TARGET=[[], [factorial], [mult, main, factorial]], ASSERTIONS_PER_TEST=[0.0, 1.0, 3.0], COMMENTED_LINE_COUNT=[0.0, 150.0], CONSTRUCTOR_COUNT=[0.0, 1.0, 3.0, 14.0], CYCLOMATIC_COMPLEXITY=[1.0, 4.0, 9.0, 12.0, 16.0, 759.0], DOCKER_LOGS=[BUILD FAILED, BUILD SUCCESS], FIELD_COUNT=[0.0, 3.0, 28.0], FILE_COUNT=[0.0, 1.0, 8.0, 114.0], JAVADOC_EXISTS=[false, true], JAVADOC_VIOLATIONS=[[], [Missing @return statement], [Missing @param tag for parameter arg, Missing @return statement]], LINE_LENGTH=[[], [2.0, 2.0], [16.0, 0.0, 3.0, 72.0, 0.0, 1.0], [16.0, 0.0, 3.0, 214.0, 91.0, 18.0, 22.0, 0.0]], LINES_OF_CODE=[0.0, 13.0, 182.0, 638.0, 21047.0], METHOD_COUNT=[0.0, 2.0, 38.0], METHOD_EFFECTIVE_LOC=[0.0, 8.0, 9131.0], PARAMETER_COUNT=[0.0, 3.0, 7.0, 225.0], PERCENTAGE_COMMENTED_LINES=[0.0, 0.23, 0.79, 1.0], TEST_METHOD_COUNT=[0.0, 5.0, 413.0], MAINTAINABILITY_INDEX=[0.0, 0.08, 0.13, 0.61, 1.0], UNIQUE_WORDS_COUNT=[5.0, 1047.0], LAMBDAS_COUNT=[0.0, 1.0, 17.0], SUBCLASSES_COUNT=[0.0, 1.0, 12.0], ANONYMOUS_CLASSES_COUNT=[0.0, 1.0, 3.0, 162.0], MAX_NESTED_BLOCKS=[0.0, 2.0, 59.0], MATH_OPERATIONS_COUNT=[0.0, 1.0, 10.0, 12065.0], ASSIGNMENTS_COUNT=[0.0, 4.0, 721.0], NUMBER_COUNT=[0.0, 2.0, 132.0], STRING_LITERAL_COUNT=[0.0, 6.0, 613.0], PARENTHESIZED_EXPRESSION_COUNT=[0.0, 1.0, 75.0], TRY_CATCH_COUNT=[0.0, 1.0, 5.0, 48.0], COMPARISON_COUNT=[0.0, 1.0, 90.0], LOOP_COUNT=[0.0, 1.0, 14.0], VARIABLES_COUNT=[0.0, 3.0, 53.0], RETURN_COUNT=[0.0, 1.0, 3.0, 326.0], WEIGHT_METHOD_CLASS=[0.0, 6.0, 527.0], RESPONSE_FOR_A_CLASS=[0.0, 12.0, 1895.0], COUPLING_BETWEEN_OBJECTS=[0.0, 4.0, 37.0, 172.0], VARIABLES_USAGE=[{}, {i=14.0}], FIELD_USAGE=[{}, {value=3.0}], STATIC_METHOD_COUNT=[0.0, 1.0, 9.0], PUBLIC_METHOD_COUNT=[0.0, 1.0, 8.0, 37.0], PRIVATE_METHOD_COUNT=[0.0, 1.0, 5.0, 47.0], PROTECTED_METHOD_COUNT=[0.0, 1.0, 3.0, 39.0], SYNCHRONIZED_METHOD_COUNT=[0.0, 1.0, 20.0], FINAL_METHOD_COUNT=[0.0, 1.0, 7.0], DEFAULT_METHOD_COUNT=[0.0, 1.0, 3.0], ABSTRACT_METHOD_COUNT=[0.0, 1.0, 6.0], PUBLIC_FIELD_COUNT=[0.0, 1.0, 8.0, 37.0], PRIVATE_FIELD_COUNT=[0.0, 1.0, 5.0, 47.0], PROTECTED_FIELD_COUNT=[0.0, 1.0, 3.0, 39.0], SYNCHRONIZED_FIELD_COUNT=[0.0, 1.0, 20.0], FINAL_FIELD_COUNT=[0.0, 1.0, 7.0], DEFAULT_FIELD_COUNT=[0.0, 1.0, 3.0], ABSTRACT_FIELD_COUNT=[0.0, 1.0, 6.0], STATIC_FIELD_COUNT=[0.0, 1.0, 9.0], NUMBER_OF_STATIC_INVOCATIONS=[0.0, 3.0, 27.0], LACK_OF_COHESION_OF_METHODS=[13.0, 2.0, 0.0], DEPTH_INHERITANCE_TREE=[0.0, 1.0, 29.0], TEST_SMELLS=[[], [sleepy]], PYLINT=[[]], DUPLICATE_CODE_BLOCKS=[[], [{filenames=[], lineNumbers=[], lineCount=3.0, tokenCount=14.0, occurences=2.0}]], SUPPRESSIONS=[[], [{name=TestClass, justification=for testing}]], FILE_EFFECTIVE_LOC=[2.0, 38.0, 2162.0], RELATIVE_NUMBER_OF_ASSERTIONS=[1.0, 0.0, 0.0021, 0.0153], RELATIVE_NUMBER_OF_TESTCASES=[0.0, 0.0019, 0.0139], AVERAGE_ASSERTIONS_PER_TESTCASE=[0.893, 1.027, 2.103], RELATIVE_CYCLOMATIC_COMPLEXITY=[0.00174, 0.0248, 0.1659], RELATIVE_COUPLING_BETWEEN_OBJECTS=[0.0437, 0.115, 0.721], RELATIVE_DEPTH_INHERITANCE_TREE=[2.74E-4, 0.00164, 0.0512], RELATIVE_WEIGHT_METHOD_CLASS=[0.5], TEST_PRODUCTION_RATIO=[0.0, 0.8, 1.0, 1.2], PROFANITY=[[], [Line 6 contains profanity]], TESTS=[Assertion failure]}}] +2019-10-02 13:27:32.521 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.MetricsController: + {GET /api/v1/worker/metrics, produces [application/json]}: getMetricsAction() + {GET /api/v1/worker/metrics.js, produces [text/javascript]}: getMetricsJsAction() + {GET /api/v1/worker/metrics/test-fixtures, produces [application/json]}: getMetricTestFixturesAction() +2019-10-02 13:27:32.522 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:32.533 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.537 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.538 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.MetricsController.getMetricsAction() +2019-10-02 13:27:32.539 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:32.539 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:32.540 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{metrics=[{java=[cyclomatic complexity], *=[method length]}], errors=[]}] +2019-10-02 13:27:32.555 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment1" }, "u" : { "_id" : "assignment1", "name" : "assignment1", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 77 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.556 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 77 completed successfully in 1.56 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.558 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment2" }, "u" : { "_id" : "assignment2", "name" : "assignment2", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 78 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.559 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 78 completed successfully in 0.95 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.560 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment3" }, "u" : { "_id" : "assignment3", "name" : "assignment3", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 79 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.561 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 79 completed successfully in 0.90 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.562 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course1" }, "u" : { "_id" : "course1", "name" : "NO_TA_NO_INSTRUCTORS", "courseCode" : "AB1234", "instructorSet" : [], "taSet" : [], "assignmentIds" : ["assignment1"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 80 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.563 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 80 completed successfully in 1.00 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.570 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course2" }, "u" : { "_id" : "course2", "name" : "TA_AND_INSTRUCTOR", "courseCode" : "AB1234", "instructorSet" : ["instructor"], "taSet" : ["ta"], "assignmentIds" : ["assignment2"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 81 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.573 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 81 completed successfully in 4.22 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.577 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course3" }, "u" : { "_id" : "course3", "name" : "TA_AND_INSTRUCTOR2", "courseCode" : "AB1234_2", "instructorSet" : ["instructor"], "taSet" : ["ta"], "assignmentIds" : ["assignment3"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 82 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.577 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 82 completed successfully in 1.29 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.579 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "submission", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission1" }, "u" : { "_id" : "submission1", "assignmentId" : "assignment1", "name" : "submission1", "pipelineLog" : { }, "_class" : "nl.tudelft.ewi.auta.core.model.Submission" }, "upsert" : true }] }' with request id 83 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.580 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 83 completed successfully in 1.13 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.582 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "submission", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission2" }, "u" : { "_id" : "submission2", "assignmentId" : "assignment2", "name" : "submission2", "pipelineLog" : { }, "_class" : "nl.tudelft.ewi.auta.core.model.Submission" }, "upsert" : true }] }' with request id 84 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.583 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 84 completed successfully in 1.05 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.585 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "identity", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission1" }, "u" : { "_id" : "submission1", "identifier" : "id1", "_class" : "nl.tudelft.ewi.auta.core.database.IdentityContainer" }, "upsert" : true }] }' with request id 85 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.586 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 85 completed successfully in 0.92 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.588 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "identity", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission2" }, "u" : { "_id" : "submission2", "identifier" : "id2", "_class" : "nl.tudelft.ewi.auta.core.database.IdentityContainer" }, "upsert" : true }] }' with request id 86 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.588 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 86 completed successfully in 1.05 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.591 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "entity", "ordered" : true, "updates" : [{ "q" : { "_id" : "container1" }, "u" : { "_id" : "container1", "entity" : { "children" : [], "name" : { "name" : "root" }, "isTestEntity" : false, "level" : "PROJECT", "metrics" : [], "metricReports" : [] }, "hadException" : false, "submissionId" : "submission1", "assignmentId" : "assignment1", "verdict" : "PENDING", "_class" : "nl.tudelft.ewi.auta.core.database.EntityContainer" }, "upsert" : true }] }' with request id 87 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.591 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 87 completed successfully in 1.10 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.593 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "entity", "ordered" : true, "updates" : [{ "q" : { "_id" : "container2" }, "u" : { "_id" : "container2", "entity" : { "children" : [], "name" : { "name" : "root" }, "isTestEntity" : false, "level" : "PROJECT", "metrics" : [], "metricReports" : [] }, "hadException" : false, "submissionId" : "submission2", "assignmentId" : "assignment2", "verdict" : "PENDING", "_class" : "nl.tudelft.ewi.auta.core.database.EntityContainer" }, "upsert" : true }] }' with request id 88 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.594 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 88 completed successfully in 1.18 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.604 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:32.605 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment2, json, excel] +2019-10-02 13:27:32.607 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment2" }, "limit" : 1, "singleBatch" : true }' with request id 89 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.608 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 89 completed successfully in 0.80 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.609 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment2 +2019-10-02 13:27:32.611 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment2"] } } }' with request id 90 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.612 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 90 completed successfully in 0.83 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.613 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course2 +2019-10-02 13:27:32.613 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor is registered as an instructor in course course2 +2019-10-02 13:27:32.626 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:32.630 DEBUG 14367 --- [task-1] org.mongodb.driver.protocol.command : Sending command '{ "find" : "submission", "filter" : { "assignmentId" : "assignment2" } }' with request id 91 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.631 DEBUG 14367 --- [task-1] org.mongodb.driver.protocol.command : Execution of command with request id 91 completed successfully in 1.25 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.634 DEBUG 14367 --- [task-1] org.mongodb.driver.protocol.command : Sending command '{ "find" : "identity", "filter" : { "_id" : "submission2" }, "limit" : 1, "singleBatch" : true }' with request id 92 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.635 DEBUG 14367 --- [task-1] org.mongodb.driver.protocol.command : Execution of command with request id 92 completed successfully in 1.31 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.638 DEBUG 14367 --- [task-1] org.mongodb.driver.protocol.command : Sending command '{ "find" : "entity", "filter" : { "submissionId" : "submission2", "assignmentId" : "assignment2" }, "limit" : 2 }' with request id 93 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.639 DEBUG 14367 --- [task-1] org.mongodb.driver.protocol.command : Execution of command with request id 93 completed successfully in 0.90 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.642 DEBUG 14367 --- [task-1] org.mongodb.driver.protocol.command : Sending command '{ "find" : "identity", "filter" : { "_id" : { "$oid" : "5d9489a2f4446f381f0849fb" } }, "limit" : 1, "singleBatch" : true }' with request id 94 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.642 DEBUG 14367 --- [task-1] org.mongodb.driver.protocol.command : Execution of command with request id 94 completed successfully in 0.87 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.643 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsInAssignmentForIdentityAction(java.lang.String,java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:32.644 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment2, id2, json, excel] +2019-10-02 13:27:32.644 DEBUG 14367 --- [task-1] org.mongodb.driver.protocol.command : Sending command '{ "find" : "entity", "filter" : { "submissionId" : "5d9489a2f4446f381f0849fb", "assignmentId" : "assignment2" }, "limit" : 2 }' with request id 95 to database auta-test on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.645 DEBUG 14367 --- [task-1] org.mongodb.driver.protocol.command : Execution of command with request id 95 completed successfully in 0.74 ms on connection [connectionId{localValue:2, serverValue:2}] to server localhost:42071 +2019-10-02 13:27:32.645 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:32.645+0200 I NETWORK [thread1] connection accepted from 127.0.0.1:44688 #3 (3 connections now open) +2019-10-02 13:27:32.646 DEBUG 14367 --- [task-1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/assignment2/export +2019-10-02 13:27:32.646 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:32.646+0200 I NETWORK [conn3] received client metadata from 127.0.0.1:44688 conn3: { driver: { name: "mongo-java-driver", version: "3.8.2" }, os: { type: "Linux", name: "Linux", architecture: "amd64", version: "4.16.0-2-amd64" }, platform: "Java/Debian/11.0.5-ea+6-post-Debian-2" } +2019-10-02 13:27:32.648 INFO 14367 --- [Test worker] org.mongodb.driver.connection : Opened connection [connectionId{localValue:3, serverValue:3}] to localhost:42071 +2019-10-02 13:27:32.648 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment2" }, "limit" : 1, "singleBatch" : true }' with request id 99 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.649 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 99 completed successfully in 0.83 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.650 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment2 +2019-10-02 13:27:32.652 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment2"] } } }' with request id 100 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.653 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 100 completed successfully in 0.77 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.654 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course2 +2019-10-02 13:27:32.654 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor is registered as an instructor in course course2 +2019-10-02 13:27:32.655 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:32.659 DEBUG 14367 --- [task-2] org.mongodb.driver.protocol.command : Sending command '{ "find" : "identity", "filter" : { "identifier" : "id2" } }' with request id 101 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.659 DEBUG 14367 --- [task-2] org.mongodb.driver.protocol.command : Execution of command with request id 101 completed successfully in 0.91 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.662 DEBUG 14367 --- [task-2] org.mongodb.driver.protocol.command : Sending command '{ "find" : "submission", "filter" : { "assignmentId" : "assignment2", "_id" : "submission2" }, "limit" : 2 }' with request id 102 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.664 DEBUG 14367 --- [task-2] org.mongodb.driver.protocol.command : Execution of command with request id 102 completed successfully in 1.68 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.667 DEBUG 14367 --- [task-2] org.mongodb.driver.protocol.command : Sending command '{ "find" : "entity", "filter" : { "submissionId" : "submission2", "assignmentId" : "assignment2" }, "limit" : 2 }' with request id 103 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.668 DEBUG 14367 --- [task-2] org.mongodb.driver.protocol.command : Execution of command with request id 103 completed successfully in 1.80 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.672 DEBUG 14367 --- [task-2] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/assignment2/export/id2 +2019-10-02 13:27:32.675 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:32.676 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment1, json, excel] +2019-10-02 13:27:32.677 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment1" }, "limit" : 1, "singleBatch" : true }' with request id 104 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.678 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 104 completed successfully in 0.89 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.679 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment1 +2019-10-02 13:27:32.681 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment1"] } } }' with request id 105 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.681 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 105 completed successfully in 0.63 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.683 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:32.683 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:32.683 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:32.684 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1, ServletWebRequest: uri=/api/v1/assignment/assignment1/export;client=127.0.0.1] +2019-10-02 13:27:32.684 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/assignment1/export;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForAssignmentAccess(CourseSecuredService.java:222) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForAssignmentAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.SubmissionExportController.findAssignment(SubmissionExportController.java:267) + at nl.tudelft.ewi.auta.core.controller.SubmissionExportController.runExport(SubmissionExportController.java:237) + at nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(SubmissionExportController.java:169) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.getForbidden(AbstractWebSecurityIntegrationTest.java:66) + at nl.tudelft.ewi.auta.core.controller.SubmissionExportControllerIntegrationTest.instructorCannotAccessUnauthorizedSubmissionExport(SubmissionExportControllerIntegrationTest.java:19) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:198) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:136) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:104) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:104) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:40) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:32.685 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:32.685 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@1d1611d3]}] +2019-10-02 13:27:32.686 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1] +2019-10-02 13:27:32.694 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsInAssignmentForIdentityAction(java.lang.String,java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:32.695 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment1, id1, json, excel] +2019-10-02 13:27:32.696 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment1" }, "limit" : 1, "singleBatch" : true }' with request id 106 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.696 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 106 completed successfully in 0.60 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.697 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment1 +2019-10-02 13:27:32.699 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment1"] } } }' with request id 107 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.699 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 107 completed successfully in 0.64 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.700 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:32.700 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:32.700 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:32.700 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1, ServletWebRequest: uri=/api/v1/assignment/assignment1/export/id1;client=127.0.0.1] +2019-10-02 13:27:32.701 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/assignment1/export/id1;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForAssignmentAccess(CourseSecuredService.java:222) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForAssignmentAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.SubmissionExportController.findAssignment(SubmissionExportController.java:267) + at nl.tudelft.ewi.auta.core.controller.SubmissionExportController.runExport(SubmissionExportController.java:237) + at nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsInAssignmentForIdentityAction(SubmissionExportController.java:195) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.getForbidden(AbstractWebSecurityIntegrationTest.java:66) + at nl.tudelft.ewi.auta.core.controller.SubmissionExportControllerIntegrationTest.instructorCannotAccessUnauthorizedSubmissionExport(SubmissionExportControllerIntegrationTest.java:19) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:198) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:136) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:104) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274) + at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) + at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) + at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:104) + at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:40) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:32.702 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:32.702 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@33f5e43b]}] +2019-10-02 13:27:32.702 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1] +2019-10-02 13:27:32.735 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CPMController: + {POST /api/v1/cpm/{aid}}: uploadAction(MultipartFile,String,CPMDataModel,BindingResult) +2019-10-02 13:27:32.736 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:32.743 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.745 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.747 DEBUG 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Received CPM application event with sid: randomID +2019-10-02 13:27:32.754 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CPMController: + {POST /api/v1/cpm/{aid}}: uploadAction(MultipartFile,String,CPMDataModel,BindingResult) +2019-10-02 13:27:32.755 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:32.764 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.767 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.767 DEBUG 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Received CPM message, assignment id INVALID_AID +2019-10-02 13:27:32.774 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CPMController: + {POST /api/v1/cpm/{aid}}: uploadAction(MultipartFile,String,CPMDataModel,BindingResult) +2019-10-02 13:27:32.775 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:32.785 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.788 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.789 DEBUG 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Sending report to CPM, status: disapproved, feedback: feedback +2019-10-02 13:27:32.840 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CPMController: + {POST /api/v1/cpm/{aid}}: uploadAction(MultipartFile,String,CPMDataModel,BindingResult) +2019-10-02 13:27:32.841 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:32.860 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.865 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.866 DEBUG 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Received CPM message, assignment id UNIQUE_AID +2019-10-02 13:27:32.867 DEBUG 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Created new submission for CPM submission, submission id UNIQUE_SID +2019-10-02 13:27:32.867 DEBUG 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : CPM submission UNIQUE_SID belongs to +2019-10-02 13:27:32.876 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CPMController: + {POST /api/v1/cpm/{aid}}: uploadAction(MultipartFile,String,CPMDataModel,BindingResult) +2019-10-02 13:27:32.877 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:32.883 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.886 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.886 DEBUG 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Received CPM application event with sid: UNIQUE_SID +2019-10-02 13:27:32.887 WARN 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Sending result status disapproved to CPM, got verdict PENDING +2019-10-02 13:27:32.887 TRACE 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Mapped verdict PENDING to disapproved +2019-10-02 13:27:32.887 DEBUG 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Sending report to CPM, status: disapproved, feedback: report +2019-10-02 13:27:32.897 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CPMController: + {POST /api/v1/cpm/{aid}}: uploadAction(MultipartFile,String,CPMDataModel,BindingResult) +2019-10-02 13:27:32.898 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:32.904 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.906 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.907 DEBUG 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Received CPM application event with sid: UNIQUE_SID +2019-10-02 13:27:32.907 TRACE 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Mapped verdict PASS to approved +2019-10-02 13:27:32.908 DEBUG 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Sending report to CPM, status: approved, feedback: report +2019-10-02 13:27:32.918 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CPMController: + {POST /api/v1/cpm/{aid}}: uploadAction(MultipartFile,String,CPMDataModel,BindingResult) +2019-10-02 13:27:32.918 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:32.927 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.929 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.930 DEBUG 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Received CPM application event with sid: UNIQUE_SID +2019-10-02 13:27:32.930 WARN 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Sending result status disapproved to CPM, got verdict PENDING +2019-10-02 13:27:32.930 TRACE 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Mapped verdict PENDING to disapproved +2019-10-02 13:27:32.930 DEBUG 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Sending report to CPM, status: disapproved, feedback: report +2019-10-02 13:27:32.941 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.CPMController: + {POST /api/v1/cpm/{aid}}: uploadAction(MultipartFile,String,CPMDataModel,BindingResult) +2019-10-02 13:27:32.941 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:32.949 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:32.952 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:32.955 DEBUG 14367 --- [Test worker] n.t.e.a.core.controller.CPMController : Received CPM application event with sid: UNIQUE_SID +2019-10-02 13:27:32.971 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment1" }, "u" : { "_id" : "assignment1", "name" : "assignment1", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 108 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.972 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 108 completed successfully in 0.84 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.973 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment2" }, "u" : { "_id" : "assignment2", "name" : "assignment2", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 109 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.974 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 109 completed successfully in 0.84 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.975 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment3" }, "u" : { "_id" : "assignment3", "name" : "assignment3", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 110 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.976 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 110 completed successfully in 0.86 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.977 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course1" }, "u" : { "_id" : "course1", "name" : "NO_TA_NO_INSTRUCTORS", "courseCode" : "AB1234", "instructorSet" : [], "taSet" : [], "assignmentIds" : ["assignment1"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 111 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.978 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 111 completed successfully in 0.80 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.980 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course2" }, "u" : { "_id" : "course2", "name" : "TA_AND_INSTRUCTOR", "courseCode" : "AB1234", "instructorSet" : ["instructor"], "taSet" : ["ta"], "assignmentIds" : ["assignment2"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 112 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.980 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 112 completed successfully in 0.78 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.981 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course3" }, "u" : { "_id" : "course3", "name" : "TA_AND_INSTRUCTOR2", "courseCode" : "AB1234_2", "instructorSet" : ["instructor"], "taSet" : ["ta"], "assignmentIds" : ["assignment3"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 113 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.982 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 113 completed successfully in 0.91 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.984 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "submission", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission1" }, "u" : { "_id" : "submission1", "assignmentId" : "assignment1", "name" : "submission1", "pipelineLog" : { }, "_class" : "nl.tudelft.ewi.auta.core.model.Submission" }, "upsert" : true }] }' with request id 114 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.984 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 114 completed successfully in 0.77 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.986 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "submission", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission2" }, "u" : { "_id" : "submission2", "assignmentId" : "assignment2", "name" : "submission2", "pipelineLog" : { }, "_class" : "nl.tudelft.ewi.auta.core.model.Submission" }, "upsert" : true }] }' with request id 115 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.987 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 115 completed successfully in 0.84 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.988 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "identity", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission1" }, "u" : { "_id" : "submission1", "identifier" : "id1", "_class" : "nl.tudelft.ewi.auta.core.database.IdentityContainer" }, "upsert" : true }] }' with request id 116 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.989 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 116 completed successfully in 0.79 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.990 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "identity", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission2" }, "u" : { "_id" : "submission2", "identifier" : "id2", "_class" : "nl.tudelft.ewi.auta.core.database.IdentityContainer" }, "upsert" : true }] }' with request id 117 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.990 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 117 completed successfully in 0.65 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.992 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "entity", "ordered" : true, "updates" : [{ "q" : { "_id" : "container1" }, "u" : { "_id" : "container1", "entity" : { "children" : [], "name" : { "name" : "root" }, "isTestEntity" : false, "level" : "PROJECT", "metrics" : [], "metricReports" : [] }, "hadException" : false, "submissionId" : "submission1", "assignmentId" : "assignment1", "verdict" : "PENDING", "_class" : "nl.tudelft.ewi.auta.core.database.EntityContainer" }, "upsert" : true }] }' with request id 118 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.992 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 118 completed successfully in 0.76 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.994 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "entity", "ordered" : true, "updates" : [{ "q" : { "_id" : "container2" }, "u" : { "_id" : "container2", "entity" : { "children" : [], "name" : { "name" : "root" }, "isTestEntity" : false, "level" : "PROJECT", "metrics" : [], "metricReports" : [] }, "hadException" : false, "submissionId" : "submission2", "assignmentId" : "assignment2", "verdict" : "PENDING", "_class" : "nl.tudelft.ewi.auta.core.database.EntityContainer" }, "upsert" : true }] }' with request id 119 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:32.994 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 119 completed successfully in 0.74 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.002 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkRank(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException +2019-10-02 13:27:33.005 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@3c732d4] +2019-10-02 13:27:33.006 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@7e57761d, assignment1, submission1, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@3c732d4] +2019-10-02 13:27:33.007 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "entity", "filter" : { "submissionId" : "submission1", "assignmentId" : "assignment1" }, "limit" : 2 }' with request id 120 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.008 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 120 completed successfully in 0.87 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.010 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment1 +2019-10-02 13:27:33.012 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment1"] } } }' with request id 121 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.013 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 121 completed successfully in 0.99 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.014 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:33.014 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:33.015 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.015 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access container: container1, ServletWebRequest: uri=/api/v1/assignment/assignment1/submission/submission1/benchmark/rank;client=127.0.0.1] +2019-10-02 13:27:33.015 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/assignment1/submission/submission1/benchmark/rank;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access container: container1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForEntityContainerAccess(CourseSecuredService.java:257) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForEntityContainerAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkRank(BenchmarkingController.java:108) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.postForbidden(AbstractWebSecurityIntegrationTest.java:74) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingControllerIntegrationTest.instructorCannotAccessUnautorizedSubmission(BenchmarkingControllerIntegrationTest.java:20) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.016 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.016 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@16aa92e9]}] +2019-10-02 13:27:33.017 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access container: container1] +2019-10-02 13:27:33.018 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getScore(java.lang.String,java.lang.String) throws java.io.IOException,freemarker.template.TemplateException +2019-10-02 13:27:33.019 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment1, submission1] +2019-10-02 13:27:33.020 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "entity", "filter" : { "submissionId" : "submission1", "assignmentId" : "assignment1" }, "limit" : 2 }' with request id 122 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.021 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 122 completed successfully in 0.97 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.022 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment1 +2019-10-02 13:27:33.024 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment1"] } } }' with request id 123 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.025 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 123 completed successfully in 0.73 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.025 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:33.025 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:33.026 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.026 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access container: container1, ServletWebRequest: uri=/api/v1/assignment/assignment1/submission/submission1/benchmark/score;client=127.0.0.1] +2019-10-02 13:27:33.026 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/assignment1/submission/submission1/benchmark/score;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access container: container1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForEntityContainerAccess(CourseSecuredService.java:257) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForEntityContainerAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getScore(BenchmarkingController.java:142) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.getForbidden(AbstractWebSecurityIntegrationTest.java:66) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingControllerIntegrationTest.instructorCannotAccessUnautorizedSubmission(BenchmarkingControllerIntegrationTest.java:23) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.027 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.027 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@2cc1537a]}] +2019-10-02 13:27:33.028 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access container: container1] +2019-10-02 13:27:33.039 TRACE 14367 --- [Test worker] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped to HandlerExecutionChain with [ResourceHttpRequestHandler ["classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/", "/"]] and 3 interceptors +2019-10-02 13:27:33.044 DEBUG 14367 --- [Test worker] o.s.w.s.r.ResourceHttpRequestHandler : Resource not found +2019-10-02 13:27:33.056 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getScore(java.lang.String,java.lang.String) throws java.io.IOException,freemarker.template.TemplateException +2019-10-02 13:27:33.057 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment2, submission2] +2019-10-02 13:27:33.058 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "entity", "filter" : { "submissionId" : "submission2", "assignmentId" : "assignment2" }, "limit" : 2 }' with request id 124 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.059 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 124 completed successfully in 0.80 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.060 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment2 +2019-10-02 13:27:33.061 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment2"] } } }' with request id 125 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.062 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 125 completed successfully in 0.72 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.063 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course2 +2019-10-02 13:27:33.063 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor is registered as an instructor in course course2 +2019-10-02 13:27:33.066 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "benchmarking_data_container", "filter" : { "aid" : "assignment2" }, "limit" : 2 }' with request id 126 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.068 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 126 completed successfully in 2.28 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.072 DEBUG 14367 --- [Test worker] n.t.e.a.c.benchmarking.BadgeGenerator : Generating badge for assignment id assignment2 +2019-10-02 13:27:33.213 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:33.213 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{badge=<svg xmlns="http://www.w3.org/2000/svg" width="134" height="20"> + <linearGradient xmlns="http://www.w3.org/2000/svg" id="b" x2="0" y2="100%"> + <stop offset="0" stop-color="#bbb" stop-opacity=".1"/> + <stop offset="1" stop-opacity=".1"/> + </linearGradient> + <clipPath xmlns="http://www.w3.org/2000/svg" id="a"> + <rect width="134" height="20" rx="3" fill="#fff"/> + </clipPath> + <g xmlns="http://www.w3.org/2000/svg" clip-path="url(#a)"> + <path fill="#555" d="M0 0h75v20H0z"/> + <path fill="#4c1" d="M75 0h59v20H75z"/> + <path fill="url(#b)" d="M0 0h134v20H0z"/> + </g> + <g xmlns="http://www.w3.org/2000/svg" fill="#fff" text-anchor="middle" + font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="110"> + <text x="385" y="150" fill="#010101" fill-opacity=".3" + transform="scale(.1)" textLength="650"> + AuTA score + </text> + <text x="385" y="140" transform="scale(.1)" textLength="650"> + AuTA score + </text> + <text x="1035" y="150" fill="#010101" fill-opacity=".3" + transform="scale(.1)" textLength="490"> +5.0/5.0 + </text> + <text x="1035" y="140" transform="scale(.1)" textLength="490"> +5.0/5.0 + </text> + </g> +</svg> + + +, errors=[]}] +2019-10-02 13:27:33.223 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment1" }, "u" : { "_id" : "assignment1", "name" : "assignment1", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 127 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.223 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 127 completed successfully in 0.78 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.225 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment2" }, "u" : { "_id" : "assignment2", "name" : "assignment2", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 128 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.225 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 128 completed successfully in 0.72 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.226 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment3" }, "u" : { "_id" : "assignment3", "name" : "assignment3", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 129 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.227 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 129 completed successfully in 0.74 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.228 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course1" }, "u" : { "_id" : "course1", "name" : "NO_TA_NO_INSTRUCTORS", "courseCode" : "AB1234", "instructorSet" : [], "taSet" : [], "assignmentIds" : ["assignment1"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 130 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.229 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 130 completed successfully in 0.61 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.230 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course2" }, "u" : { "_id" : "course2", "name" : "TA_AND_INSTRUCTOR", "courseCode" : "AB1234", "instructorSet" : ["instructor"], "taSet" : ["ta"], "assignmentIds" : ["assignment2"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 131 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.230 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 131 completed successfully in 0.65 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.231 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course3" }, "u" : { "_id" : "course3", "name" : "TA_AND_INSTRUCTOR2", "courseCode" : "AB1234_2", "instructorSet" : ["instructor"], "taSet" : ["ta"], "assignmentIds" : ["assignment3"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 132 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.232 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 132 completed successfully in 0.66 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.233 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "submission", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission1" }, "u" : { "_id" : "submission1", "assignmentId" : "assignment1", "name" : "submission1", "pipelineLog" : { }, "_class" : "nl.tudelft.ewi.auta.core.model.Submission" }, "upsert" : true }] }' with request id 133 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.234 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 133 completed successfully in 0.65 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.235 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "submission", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission2" }, "u" : { "_id" : "submission2", "assignmentId" : "assignment2", "name" : "submission2", "pipelineLog" : { }, "_class" : "nl.tudelft.ewi.auta.core.model.Submission" }, "upsert" : true }] }' with request id 134 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.235 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 134 completed successfully in 0.64 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.237 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "identity", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission1" }, "u" : { "_id" : "submission1", "identifier" : "id1", "_class" : "nl.tudelft.ewi.auta.core.database.IdentityContainer" }, "upsert" : true }] }' with request id 135 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.237 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 135 completed successfully in 0.63 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.238 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "identity", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission2" }, "u" : { "_id" : "submission2", "identifier" : "id2", "_class" : "nl.tudelft.ewi.auta.core.database.IdentityContainer" }, "upsert" : true }] }' with request id 136 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.239 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 136 completed successfully in 0.60 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.240 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "entity", "ordered" : true, "updates" : [{ "q" : { "_id" : "container1" }, "u" : { "_id" : "container1", "entity" : { "children" : [], "name" : { "name" : "root" }, "isTestEntity" : false, "level" : "PROJECT", "metrics" : [], "metricReports" : [] }, "hadException" : false, "submissionId" : "submission1", "assignmentId" : "assignment1", "verdict" : "PENDING", "_class" : "nl.tudelft.ewi.auta.core.database.EntityContainer" }, "upsert" : true }] }' with request id 137 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.241 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 137 completed successfully in 0.83 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.242 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "entity", "ordered" : true, "updates" : [{ "q" : { "_id" : "container2" }, "u" : { "_id" : "container2", "entity" : { "children" : [], "name" : { "name" : "root" }, "isTestEntity" : false, "level" : "PROJECT", "metrics" : [], "metricReports" : [] }, "hadException" : false, "submissionId" : "submission2", "assignmentId" : "assignment2", "verdict" : "PENDING", "_class" : "nl.tudelft.ewi.auta.core.database.EntityContainer" }, "upsert" : true }] }' with request id 138 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.243 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 138 completed successfully in 0.80 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.250 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.getAllAction(javax.servlet.http.HttpServletRequest) +2019-10-02 13:27:33.250 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@6a4d1350] +2019-10-02 13:27:33.252 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "deleted" : false } }' with request id 139 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.253 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 139 completed successfully in 0.79 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.255 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment1 +2019-10-02 13:27:33.256 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment1"] } } }' with request id 140 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.257 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 140 completed successfully in 0.74 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.258 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:33.258 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:33.258 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment2 +2019-10-02 13:27:33.259 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment2"] } } }' with request id 141 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.260 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 141 completed successfully in 0.65 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.260 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course2 +2019-10-02 13:27:33.260 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor is registered as an instructor in course course2 +2019-10-02 13:27:33.261 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment3 +2019-10-02 13:27:33.262 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment3"] } } }' with request id 142 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.263 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 142 completed successfully in 0.75 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.264 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course3 +2019-10-02 13:27:33.264 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor is registered as an instructor in course course3 +2019-10-02 13:27:33.264 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:33.264 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{assignments=[nl.tudelft.ewi.auta.core.model.Assignment@41773ec, nl.tudelft.ewi.auta.core.model.Assignment@8d4597cc], errors=[]}] +2019-10-02 13:27:33.274 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.getAction(java.lang.String) +2019-10-02 13:27:33.274 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment1] +2019-10-02 13:27:33.275 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment1" }, "limit" : 1, "singleBatch" : true }' with request id 143 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.276 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 143 completed successfully in 0.59 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.276 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user admin, cid assignment1 +2019-10-02 13:27:33.276 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:33.277 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{languages=[java], name=assignment1, options={static=[], language=java}, id=assignment1, errors=[]}] +2019-10-02 13:27:33.284 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.getAction(java.lang.String) +2019-10-02 13:27:33.285 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment1] +2019-10-02 13:27:33.286 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment1" }, "limit" : 1, "singleBatch" : true }' with request id 144 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.286 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 144 completed successfully in 0.62 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.287 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment1 +2019-10-02 13:27:33.288 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment1"] } } }' with request id 145 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.289 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 145 completed successfully in 0.65 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.290 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:33.290 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:33.291 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.291 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1, ServletWebRequest: uri=/api/v1/assignment/assignment1;client=127.0.0.1] +2019-10-02 13:27:33.291 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/assignment1;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForAssignmentAccess(CourseSecuredService.java:222) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForAssignmentAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.AssignmentController.getAction(AssignmentController.java:147) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.getForbidden(AbstractWebSecurityIntegrationTest.java:66) + at nl.tudelft.ewi.auta.core.controller.AssignmentControllerIntegrationTest.instructorCannotAccessUnautorizedCourse(AssignmentControllerIntegrationTest.java:45) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.292 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.292 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@3ead15f]}] +2019-10-02 13:27:33.292 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1] +2019-10-02 13:27:33.300 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.updateAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) +2019-10-02 13:27:33.301 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{language=java, name=test}] +2019-10-02 13:27:33.301 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment1, {language=java, name=test}] +2019-10-02 13:27:33.302 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment1" }, "limit" : 1, "singleBatch" : true }' with request id 146 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.303 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 146 completed successfully in 0.61 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.303 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment1 +2019-10-02 13:27:33.305 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment1"] } } }' with request id 147 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.306 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 147 completed successfully in 0.66 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.306 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:33.306 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:33.307 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.307 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1, ServletWebRequest: uri=/api/v1/assignment/assignment1;client=127.0.0.1] +2019-10-02 13:27:33.307 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/assignment1;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForAssignmentAccess(CourseSecuredService.java:222) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForAssignmentAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.AssignmentController.updateAction(AssignmentController.java:175) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.putForbidden(AbstractWebSecurityIntegrationTest.java:79) + at nl.tudelft.ewi.auta.core.controller.AssignmentControllerIntegrationTest.instructorCannotUpdateUnautorizedCourse(AssignmentControllerIntegrationTest.java:57) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.308 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.308 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@1deed77c]}] +2019-10-02 13:27:33.308 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1] +2019-10-02 13:27:33.315 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.deleteAction(java.lang.String) +2019-10-02 13:27:33.316 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment1] +2019-10-02 13:27:33.317 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment1" }, "limit" : 1, "singleBatch" : true }' with request id 148 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.318 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 148 completed successfully in 0.73 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.318 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment1 +2019-10-02 13:27:33.320 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment1"] } } }' with request id 149 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.323 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 149 completed successfully in 3.13 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.324 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:33.324 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:33.325 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.325 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1, ServletWebRequest: uri=/api/v1/assignment/assignment1;client=127.0.0.1] +2019-10-02 13:27:33.325 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/assignment1;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForAssignmentAccess(CourseSecuredService.java:222) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForAssignmentAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.AssignmentController.deleteAction(AssignmentController.java:198) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:931) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:666) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.deleteForbidden(AbstractWebSecurityIntegrationTest.java:70) + at nl.tudelft.ewi.auta.core.controller.AssignmentControllerIntegrationTest.instructorCannotDeleteUnautorizedCourse(AssignmentControllerIntegrationTest.java:51) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.326 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.326 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@21cf9876]}] +2019-10-02 13:27:33.326 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access assignment: assignment1] +2019-10-02 13:27:33.333 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.getAllAction(javax.servlet.http.HttpServletRequest) +2019-10-02 13:27:33.334 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@5e100548] +2019-10-02 13:27:33.335 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "deleted" : false } }' with request id 150 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.336 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 150 completed successfully in 0.73 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:33.337 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user admin, cid assignment1 +2019-10-02 13:27:33.338 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user admin, cid assignment2 +2019-10-02 13:27:33.338 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user admin, cid assignment3 +2019-10-02 13:27:33.339 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:33.339 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{assignments=[nl.tudelft.ewi.auta.core.model.Assignment@7ae9500c, nl.tudelft.ewi.auta.core.model.Assignment@41773ec, nl.tudelft.ewi.auta.core.model.Assignment@8d4597cc], errors=[]}] +2019-10-02 13:27:33.354 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SettingsController: + {PUT /api/v1/settings, produces [application/json]}: update(Map) + {GET /api/v1/settings, produces [application/json]}: retrieve() +2019-10-02 13:27:33.355 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 2 mappings in <unknown> +2019-10-02 13:27:33.371 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.375 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.379 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.SettingsController.retrieve() +2019-10-02 13:27:33.380 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:33.382 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:33.384 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{settings={settings path=/srv/auta/settings.json, security check interval=30, bcrypt work factor=13, token management interval=5, mongodb port=27017, allowed API origins=[http://localhost:8080, http://localhost:8081, http://127.0.0.1:8080, http://127.0.0.1:8081], SAML_SIGNING_KEY_NAME=samlsigning, worker ping interval=20, worker metrics=[], SAML_SERVICE_PROVIDER_CONTACT_INFORMATION_LOCATION=sso/contact.xml, build date=1570015589, plugins directory=/srv/auta/plugins, security check interval unit=MINUTES, SAML_AUTHENTICATION_REQUEST_LIFETIME=30, mongodb database=auta, token length=512, SAML_SERVICE_PROVIDER_ORGANIZATION_INFORMATION_LOCATION=sso/org.xml, SAML_KEYSTORE_PASSWORD=hastalavista, SAML_IDENTITY_PROVIDER_METADATA_LOCATION=sso/idps.xml, script runtime plugin class=nl.tudelft.ewi.auta.j2v8.J2V8ScriptExecutionContextFactory, AUTHENTICATION_DATABASE_LOCATION=auth.db, _worker account name=_xXx_JobSlay3r69_xXx_, encryption key length=256, BASE_PATH=/srv/auta, SAML_SERVICE_PROVIDER_ENTITY_ID=urn:uuid:d419ecf3-e9d2-4d37-9db2-90e1b0568019:please:configure, SAML_KEYSTORE_LOCATION=sso/sks.p12, version=2.1.0, worker ping timeout=30, token management interval unit=MINUTES, nice=20, worker port=12728, mongodb host=localhost, file store path=/srv/auta/uploads, SAML_ENABLED=false, cpm submission url=https://cpm.ewi.tudelft.nl/projects/scriptResult.php}, errors=[]}] +2019-10-02 13:27:33.393 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.394 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.403 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.407 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.408 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.deleteAction(java.lang.String) +2019-10-02 13:27:33.408 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [not+found] +2019-10-02 13:27:33.409 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.409 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.NoSuchAssignmentException: not found, ServletWebRequest: uri=/api/v1/assignment/not+found;client=127.0.0.1] +2019-10-02 13:27:33.409 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/not+found;client=127.0.0.1 generated a(n) NO_SUCH_ASSIGNMENT error + +nl.tudelft.ewi.auta.core.response.exception.NoSuchAssignmentException: not found + at nl.tudelft.ewi.auta.core.controller.AssignmentController.deleteAction(AssignmentController.java:197) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:931) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:666) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AssignmentControllerTest.testDeleteNonexistent(AssignmentControllerTest.java:261) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.410 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.411 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@102529b0]}] +2019-10-02 13:27:33.412 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.NoSuchAssignmentException: not found] +2019-10-02 13:27:33.416 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.417 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.426 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.429 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.430 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.getAction(java.lang.String) +2019-10-02 13:27:33.431 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [existing] +2019-10-02 13:27:33.431 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:33.432 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{languages=[unspeakable], name=name, options={static=[], language=unspeakable}, id=existing, errors=[]}] +2019-10-02 13:27:33.438 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.438 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.449 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.454 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.455 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.getAction(java.lang.String) +2019-10-02 13:27:33.456 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [not+found] +2019-10-02 13:27:33.456 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.457 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.NoSuchAssignmentException: not found, ServletWebRequest: uri=/api/v1/assignment/not+found;client=127.0.0.1] +2019-10-02 13:27:33.457 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/not+found;client=127.0.0.1 generated a(n) NO_SUCH_ASSIGNMENT error + +nl.tudelft.ewi.auta.core.response.exception.NoSuchAssignmentException: not found + at nl.tudelft.ewi.auta.core.controller.AssignmentController.getAction(AssignmentController.java:146) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AssignmentControllerTest.testGetNonexistent(AssignmentControllerTest.java:235) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.457 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.458 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@54e23095]}] +2019-10-02 13:27:33.459 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.NoSuchAssignmentException: not found] +2019-10-02 13:27:33.462 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.462 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.469 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.471 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.472 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.createAction(java.util.Map<java.lang.String, java.lang.Object>) throws java.net.URISyntaxException +2019-10-02 13:27:33.474 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{name=name, language=java}] +2019-10-02 13:27:33.474 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{name=name, language=java}] +2019-10-02 13:27:33.475 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.475 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.AssignmentAlreadyExistsException: There already is an assignment named name, ServletWebRequest: uri=/api/v1/assignment;client=127.0.0.1] +2019-10-02 13:27:33.476 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment;client=127.0.0.1 generated a(n) ASSIGNMENT_ALREADY_EXISTS error + +nl.tudelft.ewi.auta.core.response.exception.AssignmentAlreadyExistsException: There already is an assignment named name + at nl.tudelft.ewi.auta.core.controller.AssignmentController.createAction(AssignmentController.java:120) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AssignmentControllerTest.testCreateDuplicateName(AssignmentControllerTest.java:162) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) +Caused by: org.springframework.dao.DuplicateKeyException: null + +2019-10-02 13:27:33.477 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.477 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@25fa2a2]}] +2019-10-02 13:27:33.478 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.AssignmentAlreadyExistsException: There already is an assignment named name] +2019-10-02 13:27:33.481 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.482 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.488 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.490 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.491 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.updateAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) +2019-10-02 13:27:33.493 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{not name=test}] +2019-10-02 13:27:33.493 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [existing, {not name=test}] +2019-10-02 13:27:33.494 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.494 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: The name field is required, ServletWebRequest: uri=/api/v1/assignment/existing;client=127.0.0.1] +2019-10-02 13:27:33.494 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/existing;client=127.0.0.1 generated a(n) MISSING_FIELD error + +nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: The name field is required + at nl.tudelft.ewi.auta.core.controller.ControllerBase.getParam(ControllerBase.java:32) + at nl.tudelft.ewi.auta.core.controller.ControllerBase.getString(ControllerBase.java:60) + at nl.tudelft.ewi.auta.core.controller.AssignmentController.populateFromRequest(AssignmentController.java:216) + at nl.tudelft.ewi.auta.core.controller.AssignmentController.updateAction(AssignmentController.java:177) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AssignmentControllerTest.testUpdateWithoutName(AssignmentControllerTest.java:189) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.495 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.495 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@c71f110]}] +2019-10-02 13:27:33.496 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: The name field is required] +2019-10-02 13:27:33.499 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.500 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.506 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.509 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.510 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.getAllAction(javax.servlet.http.HttpServletRequest) +2019-10-02 13:27:33.511 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@37de6769] +2019-10-02 13:27:33.511 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:33.512 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{assignments=[], errors=[]}] +2019-10-02 13:27:33.516 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.516 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.525 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.528 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.529 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.createAction(java.util.Map<java.lang.String, java.lang.Object>) throws java.net.URISyntaxException +2019-10-02 13:27:33.531 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{name=test!, language=}] +2019-10-02 13:27:33.531 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{name=test!, language=}] +2019-10-02 13:27:33.531 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.532 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.InvalidLanguageException: "" is not a valid language, ServletWebRequest: uri=/api/v1/assignment;client=127.0.0.1] +2019-10-02 13:27:33.532 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment;client=127.0.0.1 generated a(n) INVALID_LANGUAGE error + +nl.tudelft.ewi.auta.core.response.exception.InvalidLanguageException: "" is not a valid language + at nl.tudelft.ewi.auta.core.controller.AssignmentController.populateFromRequest(AssignmentController.java:230) + at nl.tudelft.ewi.auta.core.controller.AssignmentController.createAction(AssignmentController.java:114) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AssignmentControllerTest.testCreateWithEmptyLang(AssignmentControllerTest.java:146) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.533 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.533 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@3c5321a]}] +2019-10-02 13:27:33.534 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.InvalidLanguageException: "" is not a valid language] +2019-10-02 13:27:33.538 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.539 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.549 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.553 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.554 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.createAction(java.util.Map<java.lang.String, java.lang.Object>) throws java.net.URISyntaxException +2019-10-02 13:27:33.556 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{name=, language=java}] +2019-10-02 13:27:33.557 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{name=, language=java}] +2019-10-02 13:27:33.557 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.558 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.InvalidAssignmentNameException: "" is not a valid assignment name, ServletWebRequest: uri=/api/v1/assignment;client=127.0.0.1] +2019-10-02 13:27:33.558 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment;client=127.0.0.1 generated a(n) INVALID_ASSIGNMENT_NAME error + +nl.tudelft.ewi.auta.core.response.exception.InvalidAssignmentNameException: "" is not a valid assignment name + at nl.tudelft.ewi.auta.core.controller.AssignmentController.populateFromRequest(AssignmentController.java:224) + at nl.tudelft.ewi.auta.core.controller.AssignmentController.createAction(AssignmentController.java:114) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AssignmentControllerTest.testCreateWithEmptyName(AssignmentControllerTest.java:133) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.559 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.559 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@631e826d]}] +2019-10-02 13:27:33.562 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.InvalidAssignmentNameException: "" is not a valid assignment name] +2019-10-02 13:27:33.567 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.568 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.584 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.587 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.587 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.createAction(java.util.Map<java.lang.String, java.lang.Object>) throws java.net.URISyntaxException +2019-10-02 13:27:33.589 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{not name=test}] +2019-10-02 13:27:33.589 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{not name=test}] +2019-10-02 13:27:33.590 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.590 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: The name field is required, ServletWebRequest: uri=/api/v1/assignment;client=127.0.0.1] +2019-10-02 13:27:33.590 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment;client=127.0.0.1 generated a(n) MISSING_FIELD error + +nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: The name field is required + at nl.tudelft.ewi.auta.core.controller.ControllerBase.getParam(ControllerBase.java:32) + at nl.tudelft.ewi.auta.core.controller.ControllerBase.getString(ControllerBase.java:60) + at nl.tudelft.ewi.auta.core.controller.AssignmentController.populateFromRequest(AssignmentController.java:216) + at nl.tudelft.ewi.auta.core.controller.AssignmentController.createAction(AssignmentController.java:114) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AssignmentControllerTest.testCreateWithoutName(AssignmentControllerTest.java:120) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.591 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.591 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@38bcfcc0]}] +2019-10-02 13:27:33.592 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: The name field is required] +2019-10-02 13:27:33.597 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.598 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.614 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.617 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.617 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.createAction(java.util.Map<java.lang.String, java.lang.Object>) throws java.net.URISyntaxException +2019-10-02 13:27:33.619 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{name=test, language=java}] +2019-10-02 13:27:33.619 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{name=test, language=java}] +2019-10-02 13:27:33.619 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.AssignmentController : Added assignment UNIQUE_ID with name test +2019-10-02 13:27:33.620 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:33.620 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{id=UNIQUE_ID, errors=[]}] +2019-10-02 13:27:33.625 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.625 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.632 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.635 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.636 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.updateAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) +2019-10-02 13:27:33.638 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{name=name, language=java}] +2019-10-02 13:27:33.638 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [existing, {name=name, language=java}] +2019-10-02 13:27:33.639 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.639 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.AssignmentAlreadyExistsException: There already is an assignment named name, ServletWebRequest: uri=/api/v1/assignment/existing;client=127.0.0.1] +2019-10-02 13:27:33.640 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/existing;client=127.0.0.1 generated a(n) ASSIGNMENT_ALREADY_EXISTS error + +nl.tudelft.ewi.auta.core.response.exception.AssignmentAlreadyExistsException: There already is an assignment named name + at nl.tudelft.ewi.auta.core.controller.AssignmentController.updateAction(AssignmentController.java:183) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AssignmentControllerTest.testUpdateDuplicateName(AssignmentControllerTest.java:205) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) +Caused by: org.springframework.dao.DuplicateKeyException: null + +2019-10-02 13:27:33.641 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.641 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@3ddd279d]}] +2019-10-02 13:27:33.642 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.AssignmentAlreadyExistsException: There already is an assignment named name] +2019-10-02 13:27:33.647 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.647 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.657 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.662 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.666 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.deleteAction(java.lang.String) +2019-10-02 13:27:33.668 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [existing] +2019-10-02 13:27:33.669 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.AssignmentController : Marked assignment UNIQUE_ID (name (deleted on 2019-10-02T13:27:33.669263+02:00[Europe/Amsterdam])) as deleted +2019-10-02 13:27:33.669 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:33.670 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{id=UNIQUE_ID, errors=[]}] +2019-10-02 13:27:33.673 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.674 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.681 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.683 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.685 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.updateAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) +2019-10-02 13:27:33.686 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{name=name!, language=java}] +2019-10-02 13:27:33.686 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [not+found, {name=name!, language=java}] +2019-10-02 13:27:33.687 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.687 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.NoSuchAssignmentException: not found, ServletWebRequest: uri=/api/v1/assignment/not+found;client=127.0.0.1] +2019-10-02 13:27:33.687 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/not+found;client=127.0.0.1 generated a(n) NO_SUCH_ASSIGNMENT error + +nl.tudelft.ewi.auta.core.response.exception.NoSuchAssignmentException: not found + at nl.tudelft.ewi.auta.core.controller.AssignmentController.updateAction(AssignmentController.java:174) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AssignmentControllerTest.testUpdateNonexistent(AssignmentControllerTest.java:221) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.688 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.688 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@34f5244d]}] +2019-10-02 13:27:33.689 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.NoSuchAssignmentException: not found] +2019-10-02 13:27:33.693 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.693 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.700 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.703 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.704 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.getAllAction(javax.servlet.http.HttpServletRequest) +2019-10-02 13:27:33.704 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@44ba18a2] +2019-10-02 13:27:33.705 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:33.705 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{assignments=[], errors=[]}] +2019-10-02 13:27:33.709 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AssignmentController: + {GET /api/v1/assignment/{id}, produces [application/json]}: getAction(String) + {GET /api/v1/assignment, produces [application/json]}: getAllAction(HttpServletRequest) + {POST /api/v1/assignment, produces [application/json]}: createAction(Map) + {PUT /api/v1/assignment/{id}, produces [application/json]}: updateAction(String,Map) + {DELETE /api/v1/assignment/{id}, produces [application/json]}: deleteAction(String) +2019-10-02 13:27:33.709 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.716 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.718 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.719 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AssignmentController.updateAction(java.lang.String,java.util.Map<java.lang.String, java.lang.Object>) +2019-10-02 13:27:33.721 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{name=test, language=java}] +2019-10-02 13:27:33.721 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [existing, {name=test, language=java}] +2019-10-02 13:27:33.722 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.AssignmentController : Updated assignment UNIQUE_ID (test) +2019-10-02 13:27:33.722 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:33.723 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{id=UNIQUE_ID, errors=[]}] +2019-10-02 13:27:33.743 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AuthenticationController: + {POST /api/v1/user/register, produces [application/json]}: register(Map) + {PUT /api/v1/user/password, produces [application/json]}: password(Authentication,Map) + {PUT /api/v1/user, produces [application/json]}: updateUser(Map) + {POST /api/v1/user/login, produces [application/json]}: login(Map) + {DELETE /api/v1/user/logout, produces [application/json]}: logout(String) +2019-10-02 13:27:33.744 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.754 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.758 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.760 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AuthenticationController.updateUser(java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:33.761 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{enabled=false, username=invalid, authority=ROLE_ADMIN}] +2019-10-02 13:27:33.761 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{enabled=false, username=invalid, authority=ROLE_ADMIN}] +2019-10-02 13:27:33.762 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.AuthenticationController : Updating user invalid with authority ROLE_ADMIN and enabled: false +2019-10-02 13:27:33.763 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.763 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.MissingUserException: No user with username invalid, ServletWebRequest: uri=/api/v1/user;client=127.0.0.1] +2019-10-02 13:27:33.763 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/user;client=127.0.0.1 generated a(n) MISSING_USER error + +nl.tudelft.ewi.auta.core.response.exception.MissingUserException: No user with username invalid + at nl.tudelft.ewi.auta.core.controller.AuthenticationController.lambda$updateUser$0(AuthenticationController.java:167) + at java.base/java.util.Optional.orElseThrow(Optional.java:408) + at nl.tudelft.ewi.auta.core.controller.AuthenticationController.updateUser(AuthenticationController.java:166) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:663) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AuthenticationControllerTest.testUpdateMissingUser(AuthenticationControllerTest.java:279) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.764 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.765 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@4e97f375]}] +2019-10-02 13:27:33.767 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.MissingUserException: No user with username invalid] +2019-10-02 13:27:33.775 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AuthenticationController: + {POST /api/v1/user/register, produces [application/json]}: register(Map) + {PUT /api/v1/user/password, produces [application/json]}: password(Authentication,Map) + {PUT /api/v1/user, produces [application/json]}: updateUser(Map) + {POST /api/v1/user/login, produces [application/json]}: login(Map) + {DELETE /api/v1/user/logout, produces [application/json]}: logout(String) +2019-10-02 13:27:33.776 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.783 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.786 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.786 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AuthenticationController.login(java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:33.788 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{password=hastalavista}] +2019-10-02 13:27:33.788 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{password=hastalavista}] +2019-10-02 13:27:33.788 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.788 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: The username field is required, ServletWebRequest: uri=/api/v1/user/login;client=127.0.0.1] +2019-10-02 13:27:33.789 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/user/login;client=127.0.0.1 generated a(n) MISSING_FIELD error + +nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: The username field is required + at nl.tudelft.ewi.auta.core.controller.ControllerBase.getParam(ControllerBase.java:32) + at nl.tudelft.ewi.auta.core.controller.ControllerBase.getString(ControllerBase.java:60) + at nl.tudelft.ewi.auta.core.controller.AuthenticationController.login(AuthenticationController.java:82) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AuthenticationControllerTest.testLoginNoUsername(AuthenticationControllerTest.java:124) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.790 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.790 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@3617546e]}] +2019-10-02 13:27:33.791 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: The username field is required] +2019-10-02 13:27:33.794 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AuthenticationController: + {POST /api/v1/user/register, produces [application/json]}: register(Map) + {PUT /api/v1/user/password, produces [application/json]}: password(Authentication,Map) + {PUT /api/v1/user, produces [application/json]}: updateUser(Map) + {POST /api/v1/user/login, produces [application/json]}: login(Map) + {DELETE /api/v1/user/logout, produces [application/json]}: logout(String) +2019-10-02 13:27:33.795 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.804 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.808 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.809 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AuthenticationController.login(java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:33.811 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=Arnold, password=A choir boy!}] +2019-10-02 13:27:33.811 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{username=Arnold, password=A choir boy!}] +2019-10-02 13:27:33.811 TRACE 14367 --- [Test worker] n.t.e.a.c.c.AuthenticationController : Username Arnold exists in database +2019-10-02 13:27:33.812 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.812 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UnauthenticatedException: Incorrect username or password, ServletWebRequest: uri=/api/v1/user/login;client=127.0.0.1] +2019-10-02 13:27:33.812 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/user/login;client=127.0.0.1 generated a(n) NOT_AUTHENTICATED error + +nl.tudelft.ewi.auta.core.response.exception.UnauthenticatedException: Incorrect username or password + at nl.tudelft.ewi.auta.core.controller.AuthenticationController.login(AuthenticationController.java:97) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AuthenticationControllerTest.testBadPassword(AuthenticationControllerTest.java:137) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.813 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.814 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@5efd35ca]}] +2019-10-02 13:27:33.815 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UnauthenticatedException: Incorrect username or password] +2019-10-02 13:27:33.821 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AuthenticationController: + {POST /api/v1/user/register, produces [application/json]}: register(Map) + {PUT /api/v1/user/password, produces [application/json]}: password(Authentication,Map) + {PUT /api/v1/user, produces [application/json]}: updateUser(Map) + {POST /api/v1/user/login, produces [application/json]}: login(Map) + {DELETE /api/v1/user/logout, produces [application/json]}: logout(String) +2019-10-02 13:27:33.821 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.829 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.832 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.833 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AuthenticationController.login(java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:33.835 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=Arnold, password=hastalavista}] +2019-10-02 13:27:33.835 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{username=Arnold, password=hastalavista}] +2019-10-02 13:27:33.836 TRACE 14367 --- [Test worker] n.t.e.a.c.c.AuthenticationController : Username Arnold exists in database +2019-10-02 13:27:33.837 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:33.838 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[], token=Come on bennet, let's party. consider it a divorce.}] +2019-10-02 13:27:33.843 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AuthenticationController: + {POST /api/v1/user/register, produces [application/json]}: register(Map) + {PUT /api/v1/user/password, produces [application/json]}: password(Authentication,Map) + {PUT /api/v1/user, produces [application/json]}: updateUser(Map) + {POST /api/v1/user/login, produces [application/json]}: login(Map) + {DELETE /api/v1/user/logout, produces [application/json]}: logout(String) +2019-10-02 13:27:33.844 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.854 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.859 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.860 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AuthenticationController.register(java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:33.862 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=Arnold, password=hastalavista, authority=ROLE_SHOPPING}] +2019-10-02 13:27:33.862 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{username=Arnold, password=hastalavista, authority=ROLE_SHOPPING}] +2019-10-02 13:27:33.864 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.865 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.InvalidRoleException: Authority ROLE_SHOPPING is not valid, ServletWebRequest: uri=/api/v1/user/register;client=127.0.0.1] +2019-10-02 13:27:33.865 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/user/register;client=127.0.0.1 generated a(n) INVALID_ROLE error + +nl.tudelft.ewi.auta.core.response.exception.InvalidRoleException: Authority ROLE_SHOPPING is not valid + at nl.tudelft.ewi.auta.core.controller.AuthenticationController.register(AuthenticationController.java:120) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AuthenticationControllerTest.testRegisterWeirdAuthority(AuthenticationControllerTest.java:204) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.867 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.869 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@628ff4c6]}] +2019-10-02 13:27:33.872 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.InvalidRoleException: Authority ROLE_SHOPPING is not valid] +2019-10-02 13:27:33.878 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AuthenticationController: + {POST /api/v1/user/register, produces [application/json]}: register(Map) + {PUT /api/v1/user/password, produces [application/json]}: password(Authentication,Map) + {PUT /api/v1/user, produces [application/json]}: updateUser(Map) + {POST /api/v1/user/login, produces [application/json]}: login(Map) + {DELETE /api/v1/user/logout, produces [application/json]}: logout(String) +2019-10-02 13:27:33.878 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.889 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.894 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.895 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AuthenticationController.register(java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:33.897 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=Arnold, password=hastalavista, authority=ROLE_TA}] +2019-10-02 13:27:33.898 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{username=Arnold, password=hastalavista, authority=ROLE_TA}] +2019-10-02 13:27:33.899 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:33.900 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:33.907 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AuthenticationController: + {POST /api/v1/user/register, produces [application/json]}: register(Map) + {PUT /api/v1/user/password, produces [application/json]}: password(Authentication,Map) + {PUT /api/v1/user, produces [application/json]}: updateUser(Map) + {POST /api/v1/user/login, produces [application/json]}: login(Map) + {DELETE /api/v1/user/logout, produces [application/json]}: logout(String) +2019-10-02 13:27:33.908 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.920 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.924 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.926 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AuthenticationController.register(java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:33.928 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=Arnold, password=hastalavista}] +2019-10-02 13:27:33.928 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{username=Arnold, password=hastalavista}] +2019-10-02 13:27:33.929 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.929 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: The authority field is required, ServletWebRequest: uri=/api/v1/user/register;client=127.0.0.1] +2019-10-02 13:27:33.930 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/user/register;client=127.0.0.1 generated a(n) MISSING_FIELD error + +nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: The authority field is required + at nl.tudelft.ewi.auta.core.controller.ControllerBase.getParam(ControllerBase.java:32) + at nl.tudelft.ewi.auta.core.controller.ControllerBase.getString(ControllerBase.java:60) + at nl.tudelft.ewi.auta.core.controller.AuthenticationController.register(AuthenticationController.java:115) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AuthenticationControllerTest.testRegisterNoAuthority(AuthenticationControllerTest.java:193) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.930 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.931 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@31c124d1]}] +2019-10-02 13:27:33.933 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: The authority field is required] +2019-10-02 13:27:33.939 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AuthenticationController: + {POST /api/v1/user/register, produces [application/json]}: register(Map) + {PUT /api/v1/user/password, produces [application/json]}: password(Authentication,Map) + {PUT /api/v1/user, produces [application/json]}: updateUser(Map) + {POST /api/v1/user/login, produces [application/json]}: login(Map) + {DELETE /api/v1/user/logout, produces [application/json]}: logout(String) +2019-10-02 13:27:33.939 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.950 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.957 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.959 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AuthenticationController.register(java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:33.961 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=Arnold, password=hastalavista, authority=ROLE_TA}] +2019-10-02 13:27:33.961 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{username=Arnold, password=hastalavista, authority=ROLE_TA}] +2019-10-02 13:27:33.964 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.964 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.DuplicateUserException, ServletWebRequest: uri=/api/v1/user/register;client=127.0.0.1] +2019-10-02 13:27:33.964 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/user/register;client=127.0.0.1 generated a(n) DUPLICATE_USER error + +nl.tudelft.ewi.auta.core.response.exception.DuplicateUserException: null + at nl.tudelft.ewi.auta.core.controller.AuthenticationController.register(AuthenticationController.java:133) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AuthenticationControllerTest.testRegisterNameCollision(AuthenticationControllerTest.java:220) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.966 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.968 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@40f7dd68]}] +2019-10-02 13:27:33.970 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.DuplicateUserException] +2019-10-02 13:27:33.976 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AuthenticationController: + {POST /api/v1/user/register, produces [application/json]}: register(Map) + {PUT /api/v1/user/password, produces [application/json]}: password(Authentication,Map) + {PUT /api/v1/user, produces [application/json]}: updateUser(Map) + {POST /api/v1/user/login, produces [application/json]}: login(Map) + {DELETE /api/v1/user/logout, produces [application/json]}: logout(String) +2019-10-02 13:27:33.976 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:33.983 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:33.985 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:33.986 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AuthenticationController.login(java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:33.988 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{username=Sisko, password=constable}] +2019-10-02 13:27:33.988 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{username=Sisko, password=constable}] +2019-10-02 13:27:33.989 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:33.989 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UnauthenticatedException: Incorrect username or password, ServletWebRequest: uri=/api/v1/user/login;client=127.0.0.1] +2019-10-02 13:27:33.989 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/user/login;client=127.0.0.1 generated a(n) NOT_AUTHENTICATED error + +nl.tudelft.ewi.auta.core.response.exception.UnauthenticatedException: Incorrect username or password + at nl.tudelft.ewi.auta.core.controller.AuthenticationController.login(AuthenticationController.java:89) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AuthenticationControllerTest.testBadUsername(AuthenticationControllerTest.java:158) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:33.990 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:33.990 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@29a4711a]}] +2019-10-02 13:27:33.991 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UnauthenticatedException: Incorrect username or password] +2019-10-02 13:27:33.994 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AuthenticationController: + {POST /api/v1/user/register, produces [application/json]}: register(Map) + {PUT /api/v1/user/password, produces [application/json]}: password(Authentication,Map) + {PUT /api/v1/user, produces [application/json]}: updateUser(Map) + {POST /api/v1/user/login, produces [application/json]}: login(Map) + {DELETE /api/v1/user/logout, produces [application/json]}: logout(String) +2019-10-02 13:27:33.995 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:34.001 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.004 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.005 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AuthenticationController.logout(java.lang.String) throws java.sql.SQLException +2019-10-02 13:27:34.007 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [Come on bennet, let's party. consider it a divorce.] +2019-10-02 13:27:34.008 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:34.008 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:34.012 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.AuthenticationController: + {POST /api/v1/user/register, produces [application/json]}: register(Map) + {PUT /api/v1/user/password, produces [application/json]}: password(Authentication,Map) + {PUT /api/v1/user, produces [application/json]}: updateUser(Map) + {POST /api/v1/user/login, produces [application/json]}: login(Map) + {DELETE /api/v1/user/logout, produces [application/json]}: logout(String) +2019-10-02 13:27:34.012 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:34.018 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.020 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.021 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.AuthenticationController.updateUser(java.util.Map<java.lang.String, java.lang.Object>) throws java.sql.SQLException +2019-10-02 13:27:34.023 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [{enabled=false, username=Arnold, authority=ROLE_ADMIN}] +2019-10-02 13:27:34.023 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [{enabled=false, username=Arnold, authority=ROLE_ADMIN}] +2019-10-02 13:27:34.023 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.AuthenticationController : Updating user Arnold with authority ROLE_ADMIN and enabled: false +2019-10-02 13:27:34.024 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:34.024 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[]}] +2019-10-02 13:27:34.034 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.034 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.041 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.044 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.045 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsForIdentityAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.045 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [Arnold Schwarzenegger, csv, excel] +2019-10-02 13:27:34.046 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.051 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/identity/Arnold%20Schwarzenegger/export +2019-10-02 13:27:34.053 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsForIdentityAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.053 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.056 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.069 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.069 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.079 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.082 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.084 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.085 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, json, excel] +2019-10-02 13:27:34.086 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.089 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.089 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.090 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.090 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.097 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.097 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.104 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.107 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.108 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.109 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, json, excel] +2019-10-02 13:27:34.110 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.112 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.113 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.113 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.113 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.119 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.119 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.127 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.129 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.130 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.131 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, json, excel] +2019-10-02 13:27:34.132 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.135 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.136 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.136 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.136 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.143 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.143 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.151 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.155 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.157 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.158 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, json, excel] +2019-10-02 13:27:34.158 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.160 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.161 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.161 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.162 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.171 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.172 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.183 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.186 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.187 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsForIdentityAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.188 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [Arnold Schwarzenegger, json, excel] +2019-10-02 13:27:34.189 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.191 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/identity/Arnold%20Schwarzenegger/export +2019-10-02 13:27:34.193 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsForIdentityAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.193 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.193 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.204 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.204 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.214 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.219 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.220 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.221 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, json, excel] +2019-10-02 13:27:34.222 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.224 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.225 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.225 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.225 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.235 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.236 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.246 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.249 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.250 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.251 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, csv, excel] +2019-10-02 13:27:34.252 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.257 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.258 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.258 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.259 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.273 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.275 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.286 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.290 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.291 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.292 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, json, excel] +2019-10-02 13:27:34.294 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.296 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.297 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.297 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.297 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.306 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.307 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.316 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.319 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.320 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.321 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, csv, excel] +2019-10-02 13:27:34.322 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.325 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.326 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.326 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.326 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.332 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.333 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.339 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.343 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.344 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.345 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, json, excel] +2019-10-02 13:27:34.346 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.348 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.351 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.351 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.352 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.361 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.361 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.373 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.376 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.377 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.378 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, csv, colons] +2019-10-02 13:27:34.379 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:34.379 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.InvalidFormatException: colons is not a known CSV format, ServletWebRequest: uri=/api/v1/assignment/test%20assignment%20ID/export;client=127.0.0.1] +2019-10-02 13:27:34.379 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/test%20assignment%20ID/export;client=127.0.0.1 generated a(n) INVALID_FORMAT error + +nl.tudelft.ewi.auta.core.response.exception.InvalidFormatException: colons is not a known CSV format + at nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAsCsvAction(SubmissionExportController.java:412) + at nl.tudelft.ewi.auta.core.controller.SubmissionExportController.runExport(SubmissionExportController.java:243) + at nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(SubmissionExportController.java:169) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.SubmissionExportControllerTest.testExplicitCsvWithBadFormat(SubmissionExportControllerTest.java:286) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:34.380 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:34.381 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@21704325]}] +2019-10-02 13:27:34.381 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.InvalidFormatException: colons is not a known CSV format] +2019-10-02 13:27:34.387 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.387 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.394 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.396 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.397 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.398 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, json, excel] +2019-10-02 13:27:34.398 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.400 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.401 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.401 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.401 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.407 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.408 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.414 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.416 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.417 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsInAssignmentForIdentityAction(java.lang.String,java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.418 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, Arnold Schwarzenegger, json, excel] +2019-10-02 13:27:34.419 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.420 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export/Arnold%20Schwarzenegger +2019-10-02 13:27:34.421 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsInAssignmentForIdentityAction(java.lang.String,java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.421 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.421 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.427 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.427 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.433 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.435 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.436 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.437 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, csv, mysql] +2019-10-02 13:27:34.438 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.439 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.440 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.440 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.440 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.446 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.446 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.453 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.456 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.457 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.457 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, json, excel] +2019-10-02 13:27:34.458 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.460 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.463 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.464 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.465 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.475 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.475 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.482 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.485 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.486 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.487 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, json, excel] +2019-10-02 13:27:34.488 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.490 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.491 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.491 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.491 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.497 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.497 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.504 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.506 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.507 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.508 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, csv, excel] +2019-10-02 13:27:34.509 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.511 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.511 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.512 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.512 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.520 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.520 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.526 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.528 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.529 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsInAssignmentForIdentityAction(java.lang.String,java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.530 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, Arnold Schwarzenegger, csv, excel] +2019-10-02 13:27:34.531 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.532 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export/Arnold%20Schwarzenegger +2019-10-02 13:27:34.533 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsInAssignmentForIdentityAction(java.lang.String,java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.533 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.533 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.539 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.539 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.545 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.549 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.550 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.550 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, fortune-cookie, excel] +2019-10-02 13:27:34.551 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:34.551 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.InvalidFormatException: fortune-cookie is not a known export format, ServletWebRequest: uri=/api/v1/assignment/test%20assignment%20ID/export;client=127.0.0.1] +2019-10-02 13:27:34.552 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/test%20assignment%20ID/export;client=127.0.0.1 generated a(n) INVALID_FORMAT error + +nl.tudelft.ewi.auta.core.response.exception.InvalidFormatException: fortune-cookie is not a known export format + at nl.tudelft.ewi.auta.core.controller.SubmissionExportController.runExport(SubmissionExportController.java:245) + at nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(SubmissionExportController.java:169) + at jdk.internal.reflect.GeneratedMethodAccessor204.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.SubmissionExportControllerTest.testBadFormat(SubmissionExportControllerTest.java:264) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:34.552 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:34.553 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@70c42c89]}] +2019-10-02 13:27:34.554 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.InvalidFormatException: fortune-cookie is not a known export format] +2019-10-02 13:27:34.563 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.SubmissionExportController: + {GET /api/v1/assignment/{aid}/export, produces [application/json || text/csv]}: exportAllSubmissionsAction(String,String,String) + {GET /api/v1/assignment/{aid}/export/{iid}, produces [application/json || text/csv]}: exportAllSubmissionsInAssignmentForIdentityAction(String,String,String,String) + {GET /api/v1/identity/{iid}/export, produces [application/json || text/csv]}: exportAllSubmissionsForIdentityAction(String,String,String) +2019-10-02 13:27:34.563 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 3 mappings in <unknown> +2019-10-02 13:27:34.569 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.571 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.572 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.573 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [test assignment ID, json, excel] +2019-10-02 13:27:34.573 DEBUG 14367 --- [Test worker] o.s.w.c.request.async.WebAsyncManager : Started async request +2019-10-02 13:27:34.575 DEBUG 14367 --- [MvcAsync1] o.s.w.c.request.async.WebAsyncManager : Async result set, dispatch to /api/v1/assignment/test%20assignment%20ID/export +2019-10-02 13:27:34.575 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody> nl.tudelft.ewi.auta.core.controller.SubmissionExportController.exportAllSubmissionsAction(java.lang.String,java.lang.String,java.lang.String) +2019-10-02 13:27:34.575 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : Resume with async result [] +2019-10-02 13:27:34.576 TRACE 14367 --- [Test worker] dlerMethod$ConcurrentResultHandlerMethod : Arguments: [] +2019-10-02 13:27:34.578 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.UiController: + {GET [/{what:(?!api|js|css|img|index).+.*}, /{what:(?!api|js|css|img|sso).*}/{w2}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}/{w8}]}: get() +2019-10-02 13:27:34.578 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:34.584 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.586 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.586 WARN 14367 --- [Test worker] o.s.web.servlet.PageNotFound : No mapping for GET / +2019-10-02 13:27:34.587 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.UiController: + {GET [/{what:(?!api|js|css|img|index).+.*}, /{what:(?!api|js|css|img|sso).*}/{w2}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}/{w8}]}: get() +2019-10-02 13:27:34.588 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:34.593 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.595 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.596 WARN 14367 --- [Test worker] o.s.web.servlet.PageNotFound : No mapping for GET /index.html +2019-10-02 13:27:34.599 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.UiController: + {GET [/{what:(?!api|js|css|img|index).+.*}, /{what:(?!api|js|css|img|sso).*}/{w2}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}/{w8}]}: get() +2019-10-02 13:27:34.600 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:34.605 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.607 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.608 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public java.lang.String nl.tudelft.ewi.auta.core.controller.UiController.get() +2019-10-02 13:27:34.608 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:34.611 DEBUG 14367 --- [Test worker] o.s.w.servlet.view.InternalResourceView : View [InternalResourceView], model {} +2019-10-02 13:27:34.612 DEBUG 14367 --- [Test worker] o.s.w.servlet.view.InternalResourceView : Forwarding to [/index.html] +2019-10-02 13:27:34.613 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.UiController: + {GET [/{what:(?!api|js|css|img|index).+.*}, /{what:(?!api|js|css|img|sso).*}/{w2}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}/{w8}]}: get() +2019-10-02 13:27:34.613 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:34.620 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.623 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.624 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public java.lang.String nl.tudelft.ewi.auta.core.controller.UiController.get() +2019-10-02 13:27:34.624 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:34.624 DEBUG 14367 --- [Test worker] o.s.w.servlet.view.InternalResourceView : View [InternalResourceView], model {} +2019-10-02 13:27:34.624 DEBUG 14367 --- [Test worker] o.s.w.servlet.view.InternalResourceView : Forwarding to [/index.html] +2019-10-02 13:27:34.626 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.UiController: + {GET [/{what:(?!api|js|css|img|index).+.*}, /{what:(?!api|js|css|img|sso).*}/{w2}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}/{w8}]}: get() +2019-10-02 13:27:34.626 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:34.632 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.634 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.635 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public java.lang.String nl.tudelft.ewi.auta.core.controller.UiController.get() +2019-10-02 13:27:34.635 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:34.635 DEBUG 14367 --- [Test worker] o.s.w.servlet.view.InternalResourceView : View [InternalResourceView], model {} +2019-10-02 13:27:34.636 DEBUG 14367 --- [Test worker] o.s.w.servlet.view.InternalResourceView : Forwarding to [/index.html] +2019-10-02 13:27:34.637 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.UiController: + {GET [/{what:(?!api|js|css|img|index).+.*}, /{what:(?!api|js|css|img|sso).*}/{w2}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}, /{what:(?!api|js|css|img|sso).*}/{w2}/{w3}/{w4}/{w5}/{w6}/{w7}/{w8}]}: get() +2019-10-02 13:27:34.638 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:34.647 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.650 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.652 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public java.lang.String nl.tudelft.ewi.auta.core.controller.UiController.get() +2019-10-02 13:27:34.652 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:34.652 DEBUG 14367 --- [Test worker] o.s.w.servlet.view.InternalResourceView : View [InternalResourceView], model {} +2019-10-02 13:27:34.652 DEBUG 14367 --- [Test worker] o.s.w.servlet.view.InternalResourceView : Forwarding to [/index.html] +2019-10-02 13:27:34.681 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.WorkerController: + {GET /api/v1/workers, produces [application/json]}: getWorkersAction() +2019-10-02 13:27:34.681 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:34.692 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.695 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.697 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.WorkerController.getWorkersAction() +2019-10-02 13:27:34.697 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:34.699 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:34.700 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{workers=[{hostname=here, load=20.0, name=test #2, lastPing=1570015654696, job={assignment=123, submission=456}}], errors=[]}] +2019-10-02 13:27:34.704 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.WorkerController: + {GET /api/v1/workers, produces [application/json]}: getWorkersAction() +2019-10-02 13:27:34.704 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:34.711 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.713 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.714 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.WorkerController.getWorkersAction() +2019-10-02 13:27:34.714 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:34.715 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:34.715 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{workers=[{hostname=here, load=20.0, name=test #1, lastPing=1570015654713}], errors=[]}] +2019-10-02 13:27:34.734 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:34.735 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:34.745 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.749 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.750 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getScore(java.lang.String,java.lang.String) throws java.io.IOException,freemarker.template.TemplateException +2019-10-02 13:27:34.751 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [aid, invalid] +2019-10-02 13:27:34.752 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:34.752 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.NoResultsException, ServletWebRequest: uri=/api/v1/assignment/aid/submission/invalid/benchmark/score;client=127.0.0.1] +2019-10-02 13:27:34.753 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/aid/submission/invalid/benchmark/score;client=127.0.0.1 generated a(n) NO_RESULTS error + +nl.tudelft.ewi.auta.core.response.exception.NoResultsException: null + at nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getScore(BenchmarkingController.java:141) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingControllerTest.getBadgeNoResultsTest(BenchmarkingControllerTest.java:130) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:34.754 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:34.755 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@22a87765]}] +2019-10-02 13:27:34.757 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.NoResultsException] +2019-10-02 13:27:34.764 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:34.766 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:34.778 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.781 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.784 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkAggregated(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException +2019-10-02 13:27:34.787 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@6aa1a2e] +2019-10-02 13:27:34.787 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@1c4e3aa0, aid, sid, invalidType, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@6aa1a2e] +2019-10-02 13:27:34.788 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.BenchmarkingController : Received benchmark aggregation request for sid sid, metric CYCLOMATIC_COMPLEXITY and level METHOD +2019-10-02 13:27:34.789 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:34.789 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@7f4c2aac]}] +2019-10-02 13:27:34.794 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:34.795 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:34.802 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.805 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.807 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.core.io.InputStreamResource> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkReport(java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException,freemarker.template.TemplateException +2019-10-02 13:27:34.810 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@388e06b8] +2019-10-02 13:27:34.810 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [WRONG_ID, WRONG_ID, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@388e06b8] +2019-10-02 13:27:34.811 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:34.811 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.NoResultsException, ServletWebRequest: uri=/api/v1/assignment/WRONG_ID/submission/WRONG_ID/benchmark/report;client=127.0.0.1] +2019-10-02 13:27:34.811 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/WRONG_ID/submission/WRONG_ID/benchmark/report;client=127.0.0.1 generated a(n) NO_RESULTS error + +nl.tudelft.ewi.auta.core.response.exception.NoResultsException: null + at nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkReport(BenchmarkingController.java:276) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingControllerTest.reportGeneratorInvalidProjectEntityTest(BenchmarkingControllerTest.java:349) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:34.812 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:34.812 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@b86ccb]}] +2019-10-02 13:27:34.813 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.NoResultsException] +2019-10-02 13:27:34.818 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:34.818 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:34.826 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.829 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.830 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkRank(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException +2019-10-02 13:27:34.834 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@5ccfb28e] +2019-10-02 13:27:34.834 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@8538f5e, aid, sid, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@5ccfb28e] +2019-10-02 13:27:34.835 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:34.836 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{rank=4, errors=[]}] +2019-10-02 13:27:34.842 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:34.843 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:34.849 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.852 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.853 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkRank(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException +2019-10-02 13:27:34.856 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@2573971b] +2019-10-02 13:27:34.857 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@6d32c078, aid, WRONG_SID, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@2573971b] +2019-10-02 13:27:34.858 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:34.858 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.NoResultsException, ServletWebRequest: uri=/api/v1/assignment/aid/submission/WRONG_SID/benchmark/rank;client=127.0.0.1] +2019-10-02 13:27:34.858 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/aid/submission/WRONG_SID/benchmark/rank;client=127.0.0.1 generated a(n) NO_RESULTS error + +nl.tudelft.ewi.auta.core.response.exception.NoResultsException: null + at nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkRank(BenchmarkingController.java:107) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingControllerTest.invalidProjectEntityRankTest(BenchmarkingControllerTest.java:187) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:34.860 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:34.861 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@5f056f12]}] +2019-10-02 13:27:34.862 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.NoResultsException] +2019-10-02 13:27:34.866 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:34.866 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:34.879 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.882 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.884 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkChartData(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) +2019-10-02 13:27:34.886 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@7a1b2bd0] +2019-10-02 13:27:34.887 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@60d6f19c, aid, sid, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@7a1b2bd0] +2019-10-02 13:27:34.887 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:34.888 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{entities={1=file1, 2=file2}, dataset=[1.0, 7.0], errors=[], labels=[1, 2, 3]}] +2019-10-02 13:27:34.922 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:34.923 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:34.932 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.936 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.938 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkRank(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException +2019-10-02 13:27:34.941 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@3893924b] +2019-10-02 13:27:34.941 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@9105779, aid, sid, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@3893924b] +2019-10-02 13:27:34.942 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:34.943 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.InvalidEntityLevelException: notanentity is not a valid entity level, ServletWebRequest: uri=/api/v1/assignment/aid/submission/sid/benchmark/rank;client=127.0.0.1] +2019-10-02 13:27:34.943 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/aid/submission/sid/benchmark/rank;client=127.0.0.1 generated a(n) INVALID_ENTITY_LEVEL error + +nl.tudelft.ewi.auta.core.response.exception.InvalidEntityLevelException: notanentity is not a valid entity level + at nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData.validateMetricAndEntity(BenchmarkingData.java:153) + at nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData.validateAllFields(BenchmarkingData.java:174) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkRank(BenchmarkingController.java:112) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingControllerTest.invalidEntityLevelTest(BenchmarkingControllerTest.java:202) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) +Caused by: java.lang.IllegalArgumentException: No enum constant nl.tudelft.ewi.auta.common.model.entity.EntityLevel.notanentity + at java.base/java.lang.Enum.valueOf(Enum.java:240) + at nl.tudelft.ewi.auta.common.model.entity.EntityLevel.valueOf(EntityLevel.java:3) + at nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData.validateMetricAndEntity(BenchmarkingData.java:151) + ... 100 common frames omitted + +2019-10-02 13:27:34.944 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:34.945 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@1f8ed169]}] +2019-10-02 13:27:34.946 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.InvalidEntityLevelException: notanentity is not a valid entity level] +2019-10-02 13:27:34.951 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:34.951 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:34.962 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.968 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.972 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkAggregated(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException +2019-10-02 13:27:34.976 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@1eab8540] +2019-10-02 13:27:34.976 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@5fe236d, aid, sid, raw, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@1eab8540] +2019-10-02 13:27:34.976 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.BenchmarkingController : Received benchmark aggregation request for sid sid, metric CYCLOMATIC_COMPLEXITY and level METHOD +2019-10-02 13:27:34.977 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.BenchmarkingController : Finished benchmarking for sid sid +2019-10-02 13:27:34.977 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:34.978 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{data={1=0.75, 10=0.25}, errors=[]}] +2019-10-02 13:27:34.984 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:34.984 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:34.993 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:34.996 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:34.999 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.core.io.InputStreamResource> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkReport(java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException,freemarker.template.TemplateException +2019-10-02 13:27:35.003 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@380d5228] +2019-10-02 13:27:35.003 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [aid, sid, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@380d5228] +2019-10-02 13:27:35.004 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.BenchmarkingController : Done generating benchmarking report +2019-10-02 13:27:35.005 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'text/html', given [*/*] and supported [text/html] +2019-10-02 13:27:35.006 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [InputStream resource [resource loaded through InputStream]] +2019-10-02 13:27:35.011 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:35.011 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:35.017 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:35.020 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:35.023 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkAggregated(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException +2019-10-02 13:27:35.026 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@32653f3f] +2019-10-02 13:27:35.026 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@5db3b051, aid, sid, entity, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@32653f3f] +2019-10-02 13:27:35.026 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.BenchmarkingController : Received benchmark aggregation request for sid sid, metric CYCLOMATIC_COMPLEXITY and level METHOD +2019-10-02 13:27:35.027 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:35.027 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@4dab7b56]}] +2019-10-02 13:27:35.031 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:35.032 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:35.041 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:35.044 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:35.046 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkRank(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException +2019-10-02 13:27:35.049 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@67d94910] +2019-10-02 13:27:35.049 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@67a6d0a6, aid, sid, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@67d94910] +2019-10-02 13:27:35.050 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:35.051 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.benchmarking.IllegalSystemRankTableException: Expected 4risk categories, got 0, ServletWebRequest: uri=/api/v1/assignment/aid/submission/sid/benchmark/rank;client=127.0.0.1] +2019-10-02 13:27:35.051 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/aid/submission/sid/benchmark/rank;client=127.0.0.1 generated a(n) INVALID_SYSTEM_RANK_TABLE error + +nl.tudelft.ewi.auta.core.benchmarking.IllegalSystemRankTableException: Expected 4risk categories, got 0 + at nl.tudelft.ewi.auta.core.benchmarking.SystemRanking.<init>(SystemRanking.java:48) + at nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData.validateAllFields(BenchmarkingData.java:184) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkRank(BenchmarkingController.java:112) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingControllerTest.invalidRankingTableTest(BenchmarkingControllerTest.java:159) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:35.052 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:35.052 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@1a7e7d73]}] +2019-10-02 13:27:35.054 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.benchmarking.IllegalSystemRankTableException: Expected 4risk categories, got 0] +2019-10-02 13:27:35.058 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:35.059 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:35.065 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:35.071 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:35.075 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkAggregated(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException +2019-10-02 13:27:35.079 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@21e3ab40] +2019-10-02 13:27:35.079 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@7dd00d05, aid, WRONG_SID, entity, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@21e3ab40] +2019-10-02 13:27:35.080 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:35.080 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.NoResultsException, ServletWebRequest: uri=/api/v1/assignment/aid/submission/WRONG_SID/benchmark/aggregate;client=127.0.0.1] +2019-10-02 13:27:35.080 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/aid/submission/WRONG_SID/benchmark/aggregate;client=127.0.0.1 generated a(n) NO_RESULTS error + +nl.tudelft.ewi.auta.core.response.exception.NoResultsException: null + at nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkAggregated(BenchmarkingController.java:231) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingControllerTest.aggregateInvalidProjectEntityTest(BenchmarkingControllerTest.java:306) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:35.081 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:35.082 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@4f639ae6]}] +2019-10-02 13:27:35.082 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.NoResultsException] +2019-10-02 13:27:35.086 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:35.086 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:35.094 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:35.097 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:35.098 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkRank(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException +2019-10-02 13:27:35.101 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@3663a63] +2019-10-02 13:27:35.101 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@3076741b, aid, sid, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@3663a63] +2019-10-02 13:27:35.102 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:35.102 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.benchmarking.IllegalSystemRankTableException: Expected risk assignment table of size: 3, got size: 0, ServletWebRequest: uri=/api/v1/assignment/aid/submission/sid/benchmark/rank;client=127.0.0.1] +2019-10-02 13:27:35.102 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/aid/submission/sid/benchmark/rank;client=127.0.0.1 generated a(n) INVALID_SYSTEM_RANK_TABLE error + +nl.tudelft.ewi.auta.core.benchmarking.IllegalSystemRankTableException: Expected risk assignment table of size: 3, got size: 0 + at nl.tudelft.ewi.auta.core.benchmarking.SystemRanking.aggregateMetrics(SystemRanking.java:134) + at nl.tudelft.ewi.auta.core.benchmarking.SystemRanking.getRank(SystemRanking.java:105) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkRank(BenchmarkingController.java:116) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingControllerTest.invalidRiskAssignmentTableTest(BenchmarkingControllerTest.java:238) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:35.103 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:35.103 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@24ecb7ef]}] +2019-10-02 13:27:35.104 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.benchmarking.IllegalSystemRankTableException: Expected risk assignment table of size: 3, got size: 0] +2019-10-02 13:27:35.108 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:35.108 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:35.115 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:35.117 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:35.119 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkAggregated(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException +2019-10-02 13:27:35.122 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@e76291e] +2019-10-02 13:27:35.122 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@d3e7231, aid, sid, entity, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@e76291e] +2019-10-02 13:27:35.123 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.BenchmarkingController : Received benchmark aggregation request for sid sid, metric CYCLOMATIC_COMPLEXITY and level METHOD +2019-10-02 13:27:35.124 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.BenchmarkingController : Finished benchmarking for sid sid +2019-10-02 13:27:35.124 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:35.124 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{data={1=[root/name1], 10=[root/name2]}, errors=[]}] +2019-10-02 13:27:35.130 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:35.130 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:35.137 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:35.140 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:35.142 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<org.springframework.core.io.InputStreamResource> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkReport(java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException,freemarker.template.TemplateException +2019-10-02 13:27:35.145 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@676d9a82] +2019-10-02 13:27:35.145 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [aid, sid, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@676d9a82] +2019-10-02 13:27:35.146 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:35.146 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: Missing metric name, ServletWebRequest: uri=/api/v1/assignment/aid/submission/sid/benchmark/report;client=127.0.0.1] +2019-10-02 13:27:35.146 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/aid/submission/sid/benchmark/report;client=127.0.0.1 generated a(n) MISSING_FIELD error + +nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: Missing metric name + at nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData.validateMetricAndEntity(BenchmarkingData.java:135) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkReport(BenchmarkingController.java:279) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingControllerTest.reportGeneratorMissingDataTest(BenchmarkingControllerTest.java:336) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:35.147 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:35.148 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@23c6f872]}] +2019-10-02 13:27:35.149 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.MissingFieldException: Missing metric name] +2019-10-02 13:27:35.154 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:35.155 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:35.162 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:35.166 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:35.168 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkRank(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData) throws java.io.IOException +2019-10-02 13:27:35.171 TRACE 14367 --- [Test worker] m.m.a.RequestResponseBodyMethodProcessor : Read "application/json" to [nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@56a82c1f] +2019-10-02 13:27:35.171 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [org.springframework.mock.web.MockHttpServletRequest@3cef3473, aid, sid, nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData@56a82c1f] +2019-10-02 13:27:35.172 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:35.173 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.InvalidMetricNameException: notametric is not a valid metric name, ServletWebRequest: uri=/api/v1/assignment/aid/submission/sid/benchmark/rank;client=127.0.0.1] +2019-10-02 13:27:35.173 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/aid/submission/sid/benchmark/rank;client=127.0.0.1 generated a(n) INVALID_METRIC_NAME error + +nl.tudelft.ewi.auta.core.response.exception.InvalidMetricNameException: notametric is not a valid metric name + at nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData.validateMetricAndEntity(BenchmarkingData.java:141) + at nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData.validateAllFields(BenchmarkingData.java:174) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getBenchmarkRank(BenchmarkingController.java:112) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.BenchmarkingControllerTest.invalidMetricNameTest(BenchmarkingControllerTest.java:174) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) +Caused by: java.lang.IllegalArgumentException: No enum constant nl.tudelft.ewi.auta.common.model.metric.MetricName.notametric + at java.base/java.lang.Enum.valueOf(Enum.java:240) + at nl.tudelft.ewi.auta.common.model.metric.MetricName.valueOf(MetricName.java:10) + at nl.tudelft.ewi.auta.core.benchmarking.BenchmarkingData.validateMetricAndEntity(BenchmarkingData.java:139) + ... 100 common frames omitted + +2019-10-02 13:27:35.175 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:35.177 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@432a74d1]}] +2019-10-02 13:27:35.181 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.InvalidMetricNameException: notametric is not a valid metric name] +2019-10-02 13:27:35.187 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.BenchmarkingController: + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/chartdata, produces [application/json]}: getBenchmarkChartData(HttpServletRequest,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/rank, produces [application/json]}: getBenchmarkRank(HttpServletRequest,String,String,BenchmarkingData) + {GET /api/v1/assignment/{aid}/submission/{sid}/benchmark/score, produces [application/json]}: getScore(String,String) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/aggregate, produces [application/json]}: getBenchmarkAggregated(HttpServletRequest,String,String,String,BenchmarkingData) + {POST /api/v1/assignment/{aid}/submission/{sid}/benchmark/report, produces [text/html]}: getBenchmarkReport(String,String,BenchmarkingData) +2019-10-02 13:27:35.187 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 5 mappings in <unknown> +2019-10-02 13:27:35.195 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:35.197 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:35.199 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.BenchmarkingController.getScore(java.lang.String,java.lang.String) throws java.io.IOException,freemarker.template.TemplateException +2019-10-02 13:27:35.200 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [aid, sid] +2019-10-02 13:27:35.200 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:35.201 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{badge=badge, errors=[]}] +2019-10-02 13:27:35.265 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment1" }, "u" : { "_id" : "assignment1", "name" : "assignment1", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 151 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.266 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 151 completed successfully in 1.04 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.268 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment2" }, "u" : { "_id" : "assignment2", "name" : "assignment2", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 152 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.269 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 152 completed successfully in 1.06 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.273 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "assignment", "ordered" : true, "updates" : [{ "q" : { "_id" : "assignment3" }, "u" : { "_id" : "assignment3", "name" : "assignment3", "priority" : 0.0, "deleted" : false, "metricSettings" : [], "allowedLanguages" : ["java"], "maxWarnings" : 0, "maxFailures" : 0, "_class" : "nl.tudelft.ewi.auta.core.model.Assignment" }, "upsert" : true }] }' with request id 153 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.275 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 153 completed successfully in 2.55 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.279 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course1" }, "u" : { "_id" : "course1", "name" : "NO_TA_NO_INSTRUCTORS", "courseCode" : "AB1234", "instructorSet" : [], "taSet" : [], "assignmentIds" : ["assignment1"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 154 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.281 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 154 completed successfully in 1.84 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.282 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course2" }, "u" : { "_id" : "course2", "name" : "TA_AND_INSTRUCTOR", "courseCode" : "AB1234", "instructorSet" : ["instructor"], "taSet" : ["ta"], "assignmentIds" : ["assignment2"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 155 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.283 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 155 completed successfully in 0.95 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.285 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "course", "ordered" : true, "updates" : [{ "q" : { "_id" : "course3" }, "u" : { "_id" : "course3", "name" : "TA_AND_INSTRUCTOR2", "courseCode" : "AB1234_2", "instructorSet" : ["instructor"], "taSet" : ["ta"], "assignmentIds" : ["assignment3"], "_class" : "nl.tudelft.ewi.auta.core.model.Course" }, "upsert" : true }] }' with request id 156 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.286 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 156 completed successfully in 0.90 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.287 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "submission", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission1" }, "u" : { "_id" : "submission1", "assignmentId" : "assignment1", "name" : "submission1", "pipelineLog" : { }, "_class" : "nl.tudelft.ewi.auta.core.model.Submission" }, "upsert" : true }] }' with request id 157 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.288 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 157 completed successfully in 0.80 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.289 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "submission", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission2" }, "u" : { "_id" : "submission2", "assignmentId" : "assignment2", "name" : "submission2", "pipelineLog" : { }, "_class" : "nl.tudelft.ewi.auta.core.model.Submission" }, "upsert" : true }] }' with request id 158 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.290 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 158 completed successfully in 0.88 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.291 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "identity", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission1" }, "u" : { "_id" : "submission1", "identifier" : "id1", "_class" : "nl.tudelft.ewi.auta.core.database.IdentityContainer" }, "upsert" : true }] }' with request id 159 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.292 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 159 completed successfully in 0.83 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.293 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "identity", "ordered" : true, "updates" : [{ "q" : { "_id" : "submission2" }, "u" : { "_id" : "submission2", "identifier" : "id2", "_class" : "nl.tudelft.ewi.auta.core.database.IdentityContainer" }, "upsert" : true }] }' with request id 160 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.294 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 160 completed successfully in 0.65 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.296 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "entity", "ordered" : true, "updates" : [{ "q" : { "_id" : "container1" }, "u" : { "_id" : "container1", "entity" : { "children" : [], "name" : { "name" : "root" }, "isTestEntity" : false, "level" : "PROJECT", "metrics" : [], "metricReports" : [] }, "hadException" : false, "submissionId" : "submission1", "assignmentId" : "assignment1", "verdict" : "PENDING", "_class" : "nl.tudelft.ewi.auta.core.database.EntityContainer" }, "upsert" : true }] }' with request id 161 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.296 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 161 completed successfully in 0.84 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.298 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "update" : "entity", "ordered" : true, "updates" : [{ "q" : { "_id" : "container2" }, "u" : { "_id" : "container2", "entity" : { "children" : [], "name" : { "name" : "root" }, "isTestEntity" : false, "level" : "PROJECT", "metrics" : [], "metricReports" : [] }, "hadException" : false, "submissionId" : "submission2", "assignmentId" : "assignment2", "verdict" : "PENDING", "_class" : "nl.tudelft.ewi.auta.core.database.EntityContainer" }, "upsert" : true }] }' with request id 162 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.299 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 162 completed successfully in 1.00 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.310 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.ReportController.verdictAction(java.lang.String,java.lang.String) +2019-10-02 13:27:35.311 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment1, submission1] +2019-10-02 13:27:35.312 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment1" }, "limit" : 1, "singleBatch" : true }' with request id 163 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.313 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 163 completed successfully in 0.84 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.315 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "submission", "filter" : { "assignmentId" : "assignment1", "_id" : "submission1" }, "limit" : 2 }' with request id 164 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.318 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 164 completed successfully in 3.17 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.319 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment1 +2019-10-02 13:27:35.322 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment1"] } } }' with request id 165 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.323 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 165 completed successfully in 0.82 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.323 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course1 +2019-10-02 13:27:35.324 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor does not have access to course course1 +2019-10-02 13:27:35.324 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler protected org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.RestExceptionHandler.handle(nl.tudelft.ewi.auta.core.response.exception.ApiException,org.springframework.web.context.request.WebRequest) +2019-10-02 13:27:35.324 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access submission: submission1, ServletWebRequest: uri=/api/v1/assignment/assignment1/submission/submission1/verdict;client=127.0.0.1] +2019-10-02 13:27:35.324 TRACE 14367 --- [Test worker] n.t.e.a.c.c.RestExceptionHandler : API call uri=/api/v1/assignment/assignment1/submission/submission1/verdict;client=127.0.0.1 generated a(n) FORBIDDEN error + +nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access submission: submission1 + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService.checkForSubmissionAccess(CourseSecuredService.java:239) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$FastClassBySpringCGLIB$$a8d45d96.invoke(<generated>) + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) + at nl.tudelft.ewi.auta.core.controller.CourseSecuredService$$EnhancerBySpringCGLIB$$70bf645d.checkForSubmissionAccess(<generated>) + at nl.tudelft.ewi.auta.core.controller.ReportController.verdictAction(ReportController.java:47) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) + at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) + at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) + at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167) + at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134) + at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:183) + at nl.tudelft.ewi.auta.core.controller.AbstractWebSecurityIntegrationTest.getForbidden(AbstractWebSecurityIntegrationTest.java:66) + at nl.tudelft.ewi.auta.core.controller.ReportControllerIntegrationTest.instructorCannotAccessUnauthorizedSubmission(ReportControllerIntegrationTest.java:13) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) + at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) + at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) + at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) + at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) + at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:102) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:82) + at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:78) + at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) + at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) + at com.sun.proxy.$Proxy5.stop(Unknown Source) + at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) + at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) + at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) + at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) + at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) + at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) + at java.base/java.lang.Thread.run(Thread.java:834) + +2019-10-02 13:27:35.325 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Found 'Content-Type:application/json' in response +2019-10-02 13:27:35.325 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[nl.tudelft.ewi.auta.core.response.Error@70980513]}] +2019-10-02 13:27:35.325 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [nl.tudelft.ewi.auta.core.response.exception.UserNotAuthorizedException: User is not authorized to access submission: submission1] +2019-10-02 13:27:35.331 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.ReportController.verdictAction(java.lang.String,java.lang.String) +2019-10-02 13:27:35.332 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [assignment2, submission2] +2019-10-02 13:27:35.334 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "assignment", "filter" : { "_id" : "assignment2" }, "limit" : 1, "singleBatch" : true }' with request id 166 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.334 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 166 completed successfully in 0.73 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.336 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "submission", "filter" : { "assignmentId" : "assignment2", "_id" : "submission2" }, "limit" : 2 }' with request id 167 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.337 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 167 completed successfully in 0.83 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.338 TRACE 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking assignment access for user instructor, cid assignment2 +2019-10-02 13:27:35.340 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "course", "filter" : { "assignmentIds" : { "$in" : ["assignment2"] } } }' with request id 168 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.340 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 168 completed successfully in 0.79 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.341 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : Checking course access for user instructor, cid course2 +2019-10-02 13:27:35.341 DEBUG 14367 --- [Test worker] n.t.e.a.c.c.CourseSecuredService : User instructor is registered as an instructor in course course2 +2019-10-02 13:27:35.343 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Sending command '{ "find" : "entity", "filter" : { "submissionId" : "submission2", "assignmentId" : "assignment2" }, "limit" : 2 }' with request id 169 to database auta-test on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.344 DEBUG 14367 --- [Test worker] org.mongodb.driver.protocol.command : Execution of command with request id 169 completed successfully in 0.84 ms on connection [connectionId{localValue:3, serverValue:3}] to server localhost:42071 +2019-10-02 13:27:35.345 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:35.345 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{verdict=pending, errors=[]}] +2019-10-02 13:27:35.397 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.LogController: + {GET /api/v1/logs/core, produces [application/json]}: getCoreLogAction() +2019-10-02 13:27:35.397 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:35.405 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:35.408 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:35.409 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.LogController.getCoreLogAction() +2019-10-02 13:27:35.409 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:35.410 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:35.410 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{log=[], errors=[]}] +2019-10-02 13:27:35.413 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.LogController: + {GET /api/v1/logs/core, produces [application/json]}: getCoreLogAction() +2019-10-02 13:27:35.413 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:35.420 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:35.424 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:35.424 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.LogController.getCoreLogAction() +2019-10-02 13:27:35.425 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:35.425 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:35.426 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{log=[error!, info...], errors=[]}] +2019-10-02 13:27:35.429 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : + n.t.e.a.c.c.TokenController: + {GET /api/v1/worker/token, produces [application/json]}: getToken() +2019-10-02 13:27:35.429 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : 1 mappings in <unknown> +2019-10-02 13:27:35.435 DEBUG 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2019-10-02 13:27:35.437 DEBUG 14367 --- [Test worker] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice +2019-10-02 13:27:35.438 TRACE 14367 --- [Test worker] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to public org.springframework.http.ResponseEntity<nl.tudelft.ewi.auta.core.response.Response> nl.tudelft.ewi.auta.core.controller.TokenController.getToken() throws java.sql.SQLException +2019-10-02 13:27:35.438 TRACE 14367 --- [Test worker] .w.s.m.m.a.ServletInvocableHandlerMethod : Arguments: [] +2019-10-02 13:27:35.438 DEBUG 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [*/*] and supported [application/json] +2019-10-02 13:27:35.439 TRACE 14367 --- [Test worker] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{errors=[], token=token}] +2019-10-02 13:27:35.444 DEBUG 14367 --- [Thread-20] o.s.w.c.s.GenericWebApplicationContext : Closing org.springframework.web.context.support.GenericWebApplicationContext@cf2c369, started on Wed Oct 02 13:27:18 CEST 2019 +2019-10-02 13:27:35.589 INFO 14367 --- [Thread-20] org.mongodb.driver.connection : Closed connection [connectionId{localValue:2, serverValue:2}] to localhost:42071 because the pool has been closed. +2019-10-02 13:27:35.589 DEBUG 14367 --- [Thread-20] org.mongodb.driver.connection : Closing connection connectionId{localValue:2, serverValue:2} +2019-10-02 13:27:35.589 INFO 14367 --- [Thread-20] org.mongodb.driver.connection : Closed connection [connectionId{localValue:3, serverValue:3}] to localhost:42071 because the pool has been closed. +2019-10-02 13:27:35.589 DEBUG 14367 --- [Thread-20] org.mongodb.driver.connection : Closing connection connectionId{localValue:3, serverValue:3} +2019-10-02 13:27:35.589 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.589+0200 I - [conn2] end connection 127.0.0.1:44686 (3 connections now open) +2019-10-02 13:27:35.590 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.589+0200 I - [conn3] end connection 127.0.0.1:44688 (2 connections now open) +2019-10-02 13:27:35.590 DEBUG 14367 --- [cluster-ClusterId{value='5d94899ff4446f381f0849fa', description='null'}-localhost:42071] org.mongodb.driver.connection : Closing connection connectionId{localValue:1, serverValue:1} +2019-10-02 13:27:35.590 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.590+0200 I - [conn1] end connection 127.0.0.1:44684 (1 connection now open) +2019-10-02 13:27:35.591 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.591+0200 I NETWORK [thread1] connection accepted from 127.0.0.1:44692 #4 (1 connection now open) +2019-10-02 13:27:35.592 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.592+0200 I COMMAND [conn4] terminating, shutdown command received +2019-10-02 13:27:35.592 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.592+0200 I NETWORK [conn4] shutdown: going to close listening sockets... +2019-10-02 13:27:35.592 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.592+0200 I NETWORK [conn4] closing listening socket: 7 +2019-10-02 13:27:35.592 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.592+0200 I NETWORK [conn4] closing listening socket: 8 +2019-10-02 13:27:35.592 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.592+0200 I NETWORK [conn4] removing socket file: /tmp/mongodb-42071.sock +2019-10-02 13:27:35.592 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.592+0200 I NETWORK [conn4] shutdown: going to flush diaglog... +2019-10-02 13:27:35.592 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.592+0200 I FTDC [conn4] Shutting down full-time diagnostic data capture +2019-10-02 13:27:35.593 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.593+0200 I STORAGE [conn4] WiredTigerKVEngine shutting down +2019-10-02 13:27:35.792 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.792+0200 I STORAGE [conn4] shutdown: removing fs lock... +2019-10-02 13:27:35.793 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.792+0200 I CONTROL [conn4] now exiting +2019-10-02 13:27:35.793 INFO 14367 --- [Thread-17] o.s.b.a.mongo.embedded.EmbeddedMongo : 2019-10-02T13:27:35.792+0200 I CONTROL [conn4] shutting down with code:0 diff --git a/doc/api/proposal/index.html b/doc/api/proposal/index.html index 63c19fb06275bb41cf218f5e722f97e237b42f03..61a611dc702226471e142c8216811d882412ea30 100644 --- a/doc/api/proposal/index.html +++ b/doc/api/proposal/index.html @@ -206,35 +206,6 @@ Content-Type: application/json <p>Returns a list of normal users.</p> </section> - <section id="f-api-metrisjs"> - <h1><span class="method">GET</span> /api/v1/worker/metrics.js</h1> - <div> - <table> - <tr> - <th>Property</th> - <th>Type</th> - <th>Required</th> - <th>Description</th> - </tr> - <tr> - <td>token</td> - <td>string</td> - <td>yes</td> - <td>the token to invalidate</td> - </tr> - </table> - </div> - <h2>Example response</h2> - <response> -{ - "java": ["LINES_OF_CODE", "CYCLOMATIC_COMPLEXITY"], - "python": ["LINES_OF_CODE"], - "assembly": ["RECURSION"] -} - </response> - <p>Gets a map of all languages and their metrics.</p> - </section> - <section id="f-api-user-logout"> <h1><span class="method">DELETE</span> /api/v1/user/logout</h1> @@ -2150,6 +2121,196 @@ UEsDBBQAAAAAAGdjOEoAAAAAAAAAAAAAAAAFAAAAam... </div> </section> + <section id="f-api-worker-metrisjs"> + <h1><span class="method">GET</span> <del>/api/v1/worker/metrics.js</del></h1> + <div> + <table> + <tr> + <th>Property</th> + <th>Type</th> + <th>Required</th> + <th>Description</th> + </tr> + <tr> + <td>token</td> + <td>string</td> + <td>yes</td> + <td>the user's authentication token</td> + </tr> + </table> + </div> + <h2>Example response</h2> + <response class="javascript"> +MetricEditor.metrics = { + "metrics": { + "python": [ + "cyclomatic complexity", + "method length" + ], + "cpp": [ + "cyclomatic complexity", + "method length", + "lines of code" + ], + "*": [ + "comment count", + "line length" + ] + }, + "errors": [] +} + </response> + <p>Gets a map of all languages and their metrics.</p> + <p> + <strong>Deprecated</strong> - originally a hack for the old UI to allow this resource + to load in a blocking fashion, no longer necessary + </p> + </section> + + <section id="f-api-worker-metrics-test-fixtures"> + <h1><span class="method">GET</span> /api/v1/worker/metrics/test-fixtures</h1> + <div> + <table> + <tr> + <th>Property</th> + <th>Type</th> + <th>Required</th> + <th>Description</th> + </tr> + <tr> + <td>token</td> + <td>string</td> + <td>yes</td> + <td>the user's authentication token</td> + </tr> + </table> + </div> + <h2>Example response</h2> + <response> +{ + "fixtures": { + "CYCLOMATIC_COMPLEXITY": [ + 1, + 7, + 14, + 615 + ], + "DOCKER_LOGS": [ + "BUILD SUCCESSFUL", + "BUILD FAILED" + ] + } +} + </response> + <p>Returns a map containing test fixtures for criteria scripts.</p> + <p> + It is important to note that the fixtures can be of any type, as long as the type is valid + for the metric it belongs to. + </p> + </section> + + <section id="f-api-script-test-passing-script"> + <h1><span class="method">POST</span> /api/v1/script/test/passing-script</h1> + <div> + <h2>Request</h2> + <table> + <tr> + <th>Property</th> + <th>Type</th> + <th>Required</th> + <th>Description</th> + </tr> + <tr> + <td>token</td> + <td>string</td> + <td>yes</td> + <td>the user's authentication token</td> + </tr> + <tr> + <td>script</td> + <td>string</td> + <td>yes</td> + <td>the script to test</td> + </tr> + <tr> + <td>tests</td> + <td>list<spec></td> + <td>yes</td> + <td>the tests to run</td> + </tr> + </table> + <p> + A unit test specification ("spec") is an object containing an identifier <tt>id</tt> + for the test and a value <tt>value</tt> to pass to the script under test. + </p> + </div> + + <div> + <h2>Example request</h2> + <request> +{ + "script": "(() => count => {\n const minWarnThreshold = 4;\n const minFailThreshold = 2;\n const maxWarnThreshold = 20;\n const maxFailThreshold = 30;\n if (count > 0) {\n if (count < minFailThreshold) {\n fail(`Has too few test methods:' ${count} < ${minFailThreshold}`);\n } else if (count < minWarnThreshold) {\n warn(`Has few test methods:' ${count} < ${minWarnThreshold}`);\n } else if (count > maxFailThreshold) {\n fail(`Has too many test methods:' ${count} > ${maxFailThreshold}`);\n } else if (count > maxWarnThreshold) {\n warn(`Has many methods:' ${count} > ${maxWarnThreshold}`);\n }\n }\n})();\n", + "tests": [ + { + "id": "test:t16oyi-k3m42o-ie108e-318ntg", + "value": "3" + }, + { + "id": "test:va47q4-7ti1jg-5ubb30-1xllc6", + "value": "24" + } + ] +} + </request> + </div> + + <div> + <h2>Example response</h2> + <response> +{ + "compiles": true, + "results": [ + { + "id": "test:t16oyi-k3m42o-ie108e-318ntg", + "error": null, + "notes": { + "notes": [ + { + "severity": "WARNING", + "message": "Has few test methods:' 3 < 4" + } + ] + }, + "grade": null + }, + { + "id": "test:va47q4-7ti1jg-5ubb30-1xllc6", + "error": null, + "notes": { + "notes": [ + { + "severity": "WARNING", + "message": "Has many methods:' 24 > 20" + } + ] + }, + "grade": null + } + ] +} + </response> + </div> + + <div> + <p>Validates a passing script.</p> + <p> + The script is checked whether it compiles (mostly for syntax errors) and is then run + against the provided values. The results are returned, along with any errors generated + when running the test, as if the script were run on an entity. + </p> + </div> + </section> + <section id="f-api-get-workers"> <h1><span class="method">GET</span> /api/v1/workers</h1> diff --git a/src/main/java/nl/tudelft/ewi/auta/common/model/PassingScriptTestCase.java b/src/main/java/nl/tudelft/ewi/auta/common/model/PassingScriptTestCase.java new file mode 100644 index 0000000000000000000000000000000000000000..7485244cf40d8f3e2326c1e0c489fff15f686753 --- /dev/null +++ b/src/main/java/nl/tudelft/ewi/auta/common/model/PassingScriptTestCase.java @@ -0,0 +1,94 @@ +package nl.tudelft.ewi.auta.common.model; + +import javax.annotation.Nullable; +import java.util.Objects; + +/** + * A test for passing (criteria) scripts. + */ +public class PassingScriptTestCase { + /** + * The identifier of the test. + */ + @Nullable + private String id; + + /** + * The value to pass to the script. + */ + @Nullable + private Object value; + + /** + * Creates a new passing script test. + */ + public PassingScriptTestCase() { + this.id = null; + this.value = null; + } + + /** + * Creates a new passing script test. + * + * @param id the identifier of the test + * @param value the value to pass to the script + */ + public PassingScriptTestCase(final String id, final Object value) { + this.id = id; + this.value = value; + } + + /** + * Returns the test's identifier. + * + * @return the identifier + */ + @Nullable + public String getId() { + return this.id; + } + + /** + * Sets the test's identifier. + * + * @param id the identifier + */ + public void setId(final @Nullable String id) { + this.id = id; + } + + /** + * Returns the value to pass to the script. + * + * @return the value + */ + @Nullable + public Object getValue() { + return this.value; + } + + /** + * Sets the value to pass to the script. + * + * @param value the value + */ + public void setValue(final @Nullable Object value) { + this.value = value; + } + + @Override + public final boolean equals(final Object obj) { + if (!(obj instanceof PassingScriptTestCase)) { + return false; + } + + final var other = (PassingScriptTestCase) obj; + + return Objects.equals(this.id, other.id) && Objects.equals(this.value, other.value); + } + + @Override + public final int hashCode() { + return Objects.hash(this.id, this.value); + } +} diff --git a/src/main/java/nl/tudelft/ewi/auta/common/model/metric/DoubleMetric.java b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/DoubleMetric.java index fcaa5fdcdb7f7efdc414739f4f331cbadde2f4f2..1606781f83cac607f29938bf95f8a3fe70a50f44 100644 --- a/src/main/java/nl/tudelft/ewi/auta/common/model/metric/DoubleMetric.java +++ b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/DoubleMetric.java @@ -1,6 +1,6 @@ package nl.tudelft.ewi.auta.common.model.metric; -public class DoubleMetric extends Metric<Double> { +public class DoubleMetric extends NumberMetric<Double> { /** * Create a metric with a value and a name. * diff --git a/src/main/java/nl/tudelft/ewi/auta/common/model/metric/IntegerMetric.java b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/IntegerMetric.java index 1dd573753ccc1a2c16c656e2a6eec7b812156395..3a1707fa7866863aa418ba366cd433056f871e7a 100644 --- a/src/main/java/nl/tudelft/ewi/auta/common/model/metric/IntegerMetric.java +++ b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/IntegerMetric.java @@ -1,6 +1,6 @@ package nl.tudelft.ewi.auta.common.model.metric; -public class IntegerMetric extends Metric<Integer> { +public class IntegerMetric extends NumberMetric<Integer> { /** * Create a metric with a value and a name. * diff --git a/src/main/java/nl/tudelft/ewi/auta/common/model/metric/Metric.java b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/Metric.java index e01c04c8c706fdd56a2f406b9797d5ee67b64025..c5f088eeadd670cbe4d6db654cbf9483a2336a93 100644 --- a/src/main/java/nl/tudelft/ewi/auta/common/model/metric/Metric.java +++ b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/Metric.java @@ -1,11 +1,14 @@ package nl.tudelft.ewi.auta.common.model.metric; import org.jetbrains.annotations.Contract; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import javax.annotation.Nullable; import java.util.Objects; public abstract class Metric<T> { + private static final Logger logger = LoggerFactory.getLogger(Metric.class); /** * The value of the metric. @@ -32,6 +35,18 @@ public abstract class Metric<T> { * @param name the name of the metric */ public Metric(final T value, final MetricName name) { + if (!name.isMetricCompatible(this)) { + logger.warn( + "A metric instance with name {} was given an instance of {}, " + + "while it expects instances of {}. This is allowed in the worker, " + + "but reporting scripts may fail due to the mismatch.", + name, this.getClass().getCanonicalName(), name.getType().getCanonicalName() + ); + if (logger.isDebugEnabled()) { + logger.debug("This warning was issued due to:", new Throwable()); + } + } + this.value = value; this.name = name; } diff --git a/src/main/java/nl/tudelft/ewi/auta/common/model/metric/MetricFixturesProvider.java b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/MetricFixturesProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..fcc2933a44e1532cbd6052a223615345bc80580f --- /dev/null +++ b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/MetricFixturesProvider.java @@ -0,0 +1,62 @@ +package nl.tudelft.ewi.auta.common.model.metric; + +import com.google.gson.Gson; +import nl.tudelft.ewi.auta.common.threads.CheckedExceptionTunnel; + +import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +/** + * A provider class for testing metrics. + * + * These values are meant to be used when generating criteria script unit tests. The values were + * picked to be both edge-cases and normal values to fully cover the range of decisions a script + * could take. + */ +public class MetricFixturesProvider { + /** + * The fixtures container the values are stored in. + */ + private final MetricFixturesContainer container; + + /** + * Creates a new metric fixtures provider. + * + * @param gson the GSON instance to deserialize the fixtures with + */ + public MetricFixturesProvider(final Gson gson) { + try (var in = new InputStreamReader( + MetricFixturesProvider.class.getResourceAsStream("test-fixtures.json"), + StandardCharsets.UTF_8 + )) { + this.container = gson.fromJson(in, MetricFixturesContainer.class); + } catch (final IOException ex) { + throw new CheckedExceptionTunnel(ex); + } + } + + /** + * Returns the test fixtures. + * + * @return the fixtures + */ + public Map<MetricName, List<Object>> getFixtures() { + return this.container.fixtures; + } + + /** + * The container class the fixtures are stored in. + * + * This class describes the file format for the serialized fixtures. + */ + private static final class MetricFixturesContainer { + /** + * The map of fixtures. + */ + private final Map<MetricName, List<Object>> fixtures = Collections.emptyMap(); + } +} diff --git a/src/main/java/nl/tudelft/ewi/auta/common/model/metric/MetricName.java b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/MetricName.java index 25af88eb0fb337c82469bcb823fc80f5f80798fb..08df3757d2f7f9038de7a456303b3b6a90bbf248 100644 --- a/src/main/java/nl/tudelft/ewi/auta/common/model/metric/MetricName.java +++ b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/MetricName.java @@ -1,5 +1,9 @@ package nl.tudelft.ewi.auta.common.model.metric; +import org.jetbrains.annotations.Contract; + +import javax.annotation.Nullable; + /** * The names of the metrics. */ @@ -8,388 +12,425 @@ public enum MetricName { /** * The number of instructions in an assembly file. */ - ASSEMBLY_INSTRUCTION_COUNT, + ASSEMBLY_INSTRUCTION_COUNT(IntegerMetric.class), /** * The recursion targets for an assembly file. */ - ASSEMBLY_RECURSION_TARGET, + ASSEMBLY_RECURSION_TARGET(StringSetMetric.class), /** * The number of assertions per test method. */ - ASSERTIONS_PER_TEST, + ASSERTIONS_PER_TEST(IntegerMetric.class), /** * The number of commented lines in a file. */ - COMMENTED_LINE_COUNT, + COMMENTED_LINE_COUNT(IntegerMetric.class), /** * The number of constructors in a file or class. */ - CONSTRUCTOR_COUNT, + CONSTRUCTOR_COUNT(IntegerMetric.class), /** * The cyclomatic complexity of a method. */ - CYCLOMATIC_COMPLEXITY, + CYCLOMATIC_COMPLEXITY(NumberMetric.class), /** * The logs of the docker container. */ - DOCKER_LOGS, + DOCKER_LOGS(StringMetric.class), /** * The number of fields in a file or class. */ - FIELD_COUNT, + FIELD_COUNT(IntegerMetric.class), /** * The number of files in a project. */ - FILE_COUNT, + FILE_COUNT(IntegerMetric.class), /** * Whether the method has javadocs. */ - JAVADOC_EXISTS, + JAVADOC_EXISTS(BooleanMetric.class), /** * The set of javadoc violations (tags). */ - JAVADOC_VIOLATIONS, + JAVADOC_VIOLATIONS(StringSetMetric.class), /** * The length of each line in a file. */ - LINE_LENGTH, + LINE_LENGTH(IntegerListMetric.class), /** * The number of lines of code in a code block. */ - LINES_OF_CODE, + LINES_OF_CODE(IntegerMetric.class), /** * The number of methods in a file or class. */ - METHOD_COUNT, + METHOD_COUNT(IntegerMetric.class), /** * The number of effective lines of code in each method. This is excluding commented lines and * blank lines. */ - METHOD_EFFECTIVE_LOC, + METHOD_EFFECTIVE_LOC(IntegerMetric.class), /** * The number of parameters in a method. */ - PARAMETER_COUNT, + PARAMETER_COUNT(IntegerMetric.class), /** * The percentage of commented liens in a file. */ - PERCENTAGE_COMMENTED_LINES, + PERCENTAGE_COMMENTED_LINES(DoubleMetric.class), /** * The number of methods with a Test annotation. */ - TEST_METHOD_COUNT, + TEST_METHOD_COUNT(IntegerMetric.class), /** * The UML SVG file as a string. */ - UML, + UML(StringMetric.class), /** * The maintainability index. */ - MAINTAINABILITY_INDEX, + MAINTAINABILITY_INDEX(DoubleMetric.class), /** * The number of unique words in a class or method. */ - UNIQUE_WORDS_COUNT, + UNIQUE_WORDS_COUNT(IntegerMetric.class), /** * The number of lambdas in a class or method. */ - LAMBDAS_COUNT, + LAMBDAS_COUNT(IntegerMetric.class), /** * The number of subclasses in a class or method. */ - SUBCLASSES_COUNT, + SUBCLASSES_COUNT(IntegerMetric.class), /** * The number of anonymous classes in a class or method. */ - ANONYMOUS_CLASSES_COUNT, + ANONYMOUS_CLASSES_COUNT(IntegerMetric.class), /** * The maximum number of nested blocks in a class or method. */ - MAX_NESTED_BLOCKS, + MAX_NESTED_BLOCKS(IntegerMetric.class), /** * The number of math operations in a class or method. */ - MATH_OPERATIONS_COUNT, + MATH_OPERATIONS_COUNT(IntegerMetric.class), /** * The number of assignments in a class or method. */ - ASSIGNMENTS_COUNT, + ASSIGNMENTS_COUNT(IntegerMetric.class), /** * The amount of numbers in a class or method. */ - NUMBER_COUNT, + NUMBER_COUNT(IntegerMetric.class), /** * The amount of string literals in a class or method. */ - STRING_LITERAL_COUNT, + STRING_LITERAL_COUNT(IntegerMetric.class), /** * The number of parenthesized expressions in a class or method. */ - PARENTHESIZED_EXPRESSION_COUNT, + PARENTHESIZED_EXPRESSION_COUNT(IntegerMetric.class), /** * The number of try catch blocks in a class or method. */ - TRY_CATCH_COUNT, + TRY_CATCH_COUNT(IntegerMetric.class), /** * The number of comparisons in a class or method. */ - COMPARISON_COUNT, + COMPARISON_COUNT(IntegerMetric.class), /** * The number of loops in a class or method. */ - LOOP_COUNT, + LOOP_COUNT(IntegerMetric.class), /** * The number of variables used in a class or method. */ - VARIABLES_COUNT, + VARIABLES_COUNT(IntegerMetric.class), /** * The number of return calls in a class or method. */ - RETURN_COUNT, + RETURN_COUNT(IntegerMetric.class), /** *The number of branch instructions in a class or method. */ - WEIGHT_METHOD_CLASS, + WEIGHT_METHOD_CLASS(IntegerMetric.class), /** * The number of unique invocations in a class or method. */ - RESPONSE_FOR_A_CLASS, + RESPONSE_FOR_A_CLASS(IntegerMetric.class), /** * Counts the number of dependencies a class has. */ - COUPLING_BETWEEN_OBJECTS, + COUPLING_BETWEEN_OBJECTS(IntegerMetric.class), /** * Counts how many times each variable is used. */ - VARIABLES_USAGE, + VARIABLES_USAGE(StringToIntegerMetric.class), /** * Counts how many times each field is used. */ - FIELD_USAGE, + FIELD_USAGE(StringToIntegerMetric.class), /** * Counts the number of static methods. */ - STATIC_METHOD_COUNT, + STATIC_METHOD_COUNT(IntegerMetric.class), /** * Counts the number of public methods. */ - PUBLIC_METHOD_COUNT, + PUBLIC_METHOD_COUNT(IntegerMetric.class), /** * Counts the number of private methods. */ - PRIVATE_METHOD_COUNT, + PRIVATE_METHOD_COUNT(IntegerMetric.class), /** * Counts the number of protected methods. */ - PROTECTED_METHOD_COUNT, + PROTECTED_METHOD_COUNT(IntegerMetric.class), /** * Counts the number of synchronized methods. */ - SYNCHRONIZED_METHOD_COUNT, + SYNCHRONIZED_METHOD_COUNT(IntegerMetric.class), /** * Counts the number of final methods. */ - FINAL_METHOD_COUNT, + FINAL_METHOD_COUNT(IntegerMetric.class), /** * Counts the number of default methods. */ - DEFAULT_METHOD_COUNT, + DEFAULT_METHOD_COUNT(IntegerMetric.class), /** * Counts the number of abstract methods. */ - ABSTRACT_METHOD_COUNT, + ABSTRACT_METHOD_COUNT(IntegerMetric.class), /** * Counts the number of public fields. */ - PUBLIC_FIELD_COUNT, + PUBLIC_FIELD_COUNT(IntegerMetric.class), /** * Counts the number of private fields. */ - PRIVATE_FIELD_COUNT, + PRIVATE_FIELD_COUNT(IntegerMetric.class), /** * Counts the number of protected fields. */ - PROTECTED_FIELD_COUNT, + PROTECTED_FIELD_COUNT(IntegerMetric.class), /** * Counts the number of synchronized fields. */ - SYNCHRONIZED_FIELD_COUNT, + SYNCHRONIZED_FIELD_COUNT(IntegerMetric.class), /** * Counts the number of final fields. */ - FINAL_FIELD_COUNT, + FINAL_FIELD_COUNT(IntegerMetric.class), /** * Counts the number of default fields. */ - DEFAULT_FIELD_COUNT, + DEFAULT_FIELD_COUNT(IntegerMetric.class), /** * Counts the number of abstract fields. */ - ABSTRACT_FIELD_COUNT, + ABSTRACT_FIELD_COUNT(IntegerMetric.class), /** * Counts the number of static fields. */ - STATIC_FIELD_COUNT, + STATIC_FIELD_COUNT(IntegerMetric.class), /** * Counts how many time a static invocation is performed in a class. */ - NUMBER_OF_STATIC_INVOCATIONS, + NUMBER_OF_STATIC_INVOCATIONS(IntegerMetric.class), /** * Calculates the lack of cohesion between methods. */ - LACK_OF_COHESION_OF_METHODS, + LACK_OF_COHESION_OF_METHODS(IntegerMetric.class), /** * Calculates the depth of the inheritance tree. */ - DEPTH_INHERITANCE_TREE, + DEPTH_INHERITANCE_TREE(IntegerMetric.class), /** * A list of test smells. */ - TEST_SMELLS, + TEST_SMELLS(StringSetMetric.class), /** * A PyLint result. */ - PYLINT, + PYLINT(PyLintResultMetric.class), /** * A list of duplicate code blocks. */ - DUPLICATE_CODE_BLOCKS, + DUPLICATE_CODE_BLOCKS(DuplicateCodeBlockListMetric.class), /** * Suppressed files or entities. */ - SUPPRESSIONS, + SUPPRESSIONS(SuppressedEntityCollectionMetric.class), /** * The number of effective LOC in a file. That is, excluding both comment lines and blank lines. */ - FILE_EFFECTIVE_LOC, + FILE_EFFECTIVE_LOC(IntegerMetric.class), /** * The total number of assertions divided by the effective lines of source code. */ - RELATIVE_NUMBER_OF_ASSERTIONS, + RELATIVE_NUMBER_OF_ASSERTIONS(DoubleMetric.class), /** * The total number of testcases divided by the effective lines of source code. */ - RELATIVE_NUMBER_OF_TESTCASES, + RELATIVE_NUMBER_OF_TESTCASES(NumberMetric.class), /** * The average number of assertions per testcase. */ - AVERAGE_ASSERTIONS_PER_TESTCASE, + AVERAGE_ASSERTIONS_PER_TESTCASE(NumberMetric.class), /** * The total complexity of the test cases divided by the complexity of the source code. */ - RELATIVE_CYCLOMATIC_COMPLEXITY, + RELATIVE_CYCLOMATIC_COMPLEXITY(NumberMetric.class), /** * Coupling between objects of the test cases divided by the coupling in the source code. */ - RELATIVE_COUPLING_BETWEEN_OBJECTS, + RELATIVE_COUPLING_BETWEEN_OBJECTS(NumberMetric.class), /** * The depth of the test cases divided by the depth of the source code. */ - RELATIVE_DEPTH_INHERITANCE_TREE, + RELATIVE_DEPTH_INHERITANCE_TREE(NumberMetric.class), /** * Test WMC divided by source code WMC. */ - RELATIVE_WEIGHT_METHOD_CLASS, + RELATIVE_WEIGHT_METHOD_CLASS(NumberMetric.class), /** * The ratio between test code and production code. */ - TEST_PRODUCTION_RATIO, + TEST_PRODUCTION_RATIO(NumberMetric.class), /** * The profanity checker metric. */ - PROFANITY, + PROFANITY(StringListMetric.class), /** * The list of failing tests. */ - TESTS, + TESTS(StringMetric.class), /** * Test coverage percentage. */ - TEST_COVERAGE, + TEST_COVERAGE(DoubleMetric.class), /** * Checkstyle complaints. */ - CHECKSTYLE, + CHECKSTYLE(Metric.class), /** * SpotBugs/FindBugs complaints. */ - SPOTBUGS; + SPOTBUGS(Metric.class); + + /** + * The type of the metric produced by instances with this name. + */ + private final Class<? extends Metric> type; + + /** + * Creates a new metric name. + * + * @param type the type of metric produces by instances with this name + */ + MetricName(final Class<? extends Metric> type) { + this.type = type; + } + + /** + * Returns the type of metric instances with this name accept. + * + * @return the type + */ + @Contract(pure = true) + public Class<? extends Metric> getType() { + return this.type; + } + + /** + * Checks whether the given metric instance is compatible with this metric name. + * + * @param instance the metric instance to check + * + * @return if the metric instance is {@code null} or if the instance is not compatible with + * the type of instances this metric name expects + */ + @Contract(value = "null -> false", pure = true) + public boolean isMetricCompatible(final @Nullable Metric<?> instance) { + return instance != null && this.getType().isAssignableFrom(instance.getClass()); + } /** * Converts the metric name to a name without underscores and in lower case. diff --git a/src/main/java/nl/tudelft/ewi/auta/common/model/metric/MetricSettings.java b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/MetricSettings.java index 3c5de3ec94c9a2fae37e5629758fbefc4f4f2fd6..e8755447f02473dc564bf0fa08391cbdc8e4fbe0 100644 --- a/src/main/java/nl/tudelft/ewi/auta/common/model/metric/MetricSettings.java +++ b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/MetricSettings.java @@ -1,8 +1,13 @@ package nl.tudelft.ewi.auta.common.model.metric; +import nl.tudelft.ewi.auta.common.annotation.Unmodifiable; +import nl.tudelft.ewi.auta.common.model.PassingScriptTestCase; import org.intellij.lang.annotations.Language; import javax.annotation.Nullable; +import java.util.Collection; +import java.util.Collections; +import java.util.List; import java.util.Objects; /** @@ -27,6 +32,11 @@ public class MetricSettings { @Nullable private String passingScript; + /** + * Unit tests for {@link #passingScript}. + */ + private Collection<PassingScriptTestCase> passingScriptTestCases = Collections.emptyList(); + /** * The JavaScript function to use to format the results. */ @@ -67,15 +77,7 @@ public class MetricSettings { final @Nullable Integer maxWarnings, final @Nullable Integer maxFailures ) { - this.metric = metric; - this.passingScript = passingScript; - this.formattingScript = formattingScript; - if (maxWarnings != null) { - this.maxWarnings = maxWarnings; - } - if (maxFailures != null) { - this.maxFailures = maxFailures; - } + this(metric, passingScript, formattingScript, maxWarnings, maxFailures, null); } /** @@ -126,9 +128,11 @@ public class MetricSettings { public MetricSettings(final MetricSettings other) { this.metric = other.metric; this.passingScript = other.passingScript; + this.passingScriptTestCases = List.copyOf(other.passingScriptTestCases); this.formattingScript = other.formattingScript; this.maxWarnings = other.maxWarnings; this.maxFailures = other.maxFailures; + this.dockerfile = other.dockerfile; } /** @@ -170,6 +174,25 @@ public class MetricSettings { this.passingScript = passingScript; } + /** + * Returns the unit tests for the metric's passing script. + * + * @return the unit tests + */ + @Unmodifiable + public Collection<PassingScriptTestCase> getPassingScriptTestCases() { + return this.passingScriptTestCases; + } + + /** + * Sets the unit tests for the metric's passing script. + * + * @param tests the unit tests + */ + public void setPassingScriptTestCases(final Collection<PassingScriptTestCase> tests) { + this.passingScriptTestCases = List.copyOf(tests); + } + /** * Returns the script used to format the results. * @@ -230,13 +253,15 @@ public class MetricSettings { && Objects.equals(this.formattingScript, other.formattingScript) && Objects.equals(this.maxFailures, other.maxFailures) && Objects.equals(this.maxWarnings, other.maxWarnings) - && Objects.equals(this.dockerfile, other.dockerfile); + && Objects.equals(this.dockerfile, other.dockerfile) + && Objects.equals(this.passingScriptTestCases, other.passingScriptTestCases); } @Override public final int hashCode() { return Objects.hash(this.metric, this.passingScript, this.formattingScript, - this.maxWarnings, this.maxFailures, this.dockerfile + this.maxWarnings, this.maxFailures, this.dockerfile, + this.passingScriptTestCases ); } } diff --git a/src/main/java/nl/tudelft/ewi/auta/common/model/metric/NumberMetric.java b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/NumberMetric.java new file mode 100644 index 0000000000000000000000000000000000000000..f2e6d14a3fca176c8e4d2e56c406dfeccc650643 --- /dev/null +++ b/src/main/java/nl/tudelft/ewi/auta/common/model/metric/NumberMetric.java @@ -0,0 +1,18 @@ +package nl.tudelft.ewi.auta.common.model.metric; + +/** + * A type for metrics that contain single numbers. + * + * @param <T> the exact type of number stored + */ +public class NumberMetric<T extends Number> extends Metric<T> { + /** + * Creates a new number metric. + * + * @param value the value of the metric + * @param name the name of the metric + */ + public NumberMetric(final T value, final MetricName name) { + super(value, name); + } +} diff --git a/src/main/resources/nl/tudelft/ewi/auta/common/model/metric/test-fixtures.json b/src/main/resources/nl/tudelft/ewi/auta/common/model/metric/test-fixtures.json new file mode 100644 index 0000000000000000000000000000000000000000..a7165a9e3c9e8ec8c44548df06a1dbc0733721e6 --- /dev/null +++ b/src/main/resources/nl/tudelft/ewi/auta/common/model/metric/test-fixtures.json @@ -0,0 +1,428 @@ +{ + "fixtures": { + "ASSEMBLY_INSTRUCTION_COUNT": [ + 3, + 1461 + ], + "ASSEMBLY_RECURSION_TARGET": [ + [], + [ + "factorial" + ], + [ + "mult", + "main", + "factorial" + ] + ], + "ASSERTIONS_PER_TEST": [ + 0, + 1, + 3 + ], + "COMMENTED_LINE_COUNT": [ + 0, + 150 + ], + "CONSTRUCTOR_COUNT": [ + 0, + 1, + 3, + 14 + ], + "CYCLOMATIC_COMPLEXITY": [ + 1, + 4, + 9, + 12, + 16, + 759 + ], + "DOCKER_LOGS": [ + "BUILD FAILED", + "BUILD SUCCESS" + ], + "FIELD_COUNT": [ + 0, + 3, + 28 + ], + "FILE_COUNT": [ + 0, + 1, + 8, + 114 + ], + "JAVADOC_EXISTS": [ + false, + true + ], + "JAVADOC_VIOLATIONS": [ + [], + [ + "Missing @return statement" + ], + [ + "Missing @param tag for parameter arg", + "Missing @return statement" + ] + ], + "LINE_LENGTH": [ + [], + [ + 2, + 2 + ], + [ + 16, + 0, + 3, + 72, + 0, + 1 + ], + [ + 16, + 0, + 3, + 214, + 91, + 18, + 22, + 0 + ] + ], + "LINES_OF_CODE": [ + 0, + 13, + 182, + 638, + 21047 + ], + "METHOD_COUNT": [ + 0, + 2, + 38 + ], + "METHOD_EFFECTIVE_LOC": [ + 0, + 8, + 9131 + ], + "PARAMETER_COUNT": [ + 0, + 3, + 7, + 225 + ], + "PERCENTAGE_COMMENTED_LINES": [ + 0.0, + 0.23, + 0.79, + 1.0 + ], + "TEST_METHOD_COUNT": [ + 0, + 5, + 413 + ], + "MAINTAINABILITY_INDEX": [ + 0.0, + 0.08, + 0.13, + 0.61, + 1.0 + ], + "UNIQUE_WORDS_COUNT": [ + 5, + 1047 + ], + "LAMBDAS_COUNT": [ + 0, + 1, + 17 + ], + "SUBCLASSES_COUNT": [ + 0, + 1, + 12 + ], + "ANONYMOUS_CLASSES_COUNT": [ + 0, + 1, + 3, + 162 + ], + "MAX_NESTED_BLOCKS": [ + 0, + 2, + 59 + ], + "MATH_OPERATIONS_COUNT": [ + 0, + 1, + 10, + 12065 + ], + "ASSIGNMENTS_COUNT": [ + 0, + 4, + 721 + ], + "NUMBER_COUNT": [ + 0, + 2, + 132 + ], + "STRING_LITERAL_COUNT": [ + 0, + 6, + 613 + ], + "PARENTHESIZED_EXPRESSION_COUNT": [ + 0, + 1, + 75 + ], + "TRY_CATCH_COUNT": [ + 0, + 1, + 5, + 48 + ], + "COMPARISON_COUNT": [ + 0, + 1, + 90 + ], + "LOOP_COUNT": [ + 0, + 1, + 14 + ], + "VARIABLES_COUNT": [ + 0, + 3, + 53 + ], + "RETURN_COUNT": [ + 0, + 1, + 3, + 326 + ], + "WEIGHT_METHOD_CLASS": [ + 0, + 6, + 527 + ], + "RESPONSE_FOR_A_CLASS": [ + 0, + 12, + 1895 + ], + "COUPLING_BETWEEN_OBJECTS": [ + 0, + 4, + 37, + 172 + ], + "VARIABLES_USAGE": [ + {}, + { + "i": 14 + } + ], + "FIELD_USAGE": [ + {}, + { + "value": 3 + } + ], + "STATIC_METHOD_COUNT": [ + 0, + 1, + 9 + ], + "PUBLIC_METHOD_COUNT": [ + 0, + 1, + 8, + 37 + ], + "PRIVATE_METHOD_COUNT": [ + 0, + 1, + 5, + 47 + ], + "PROTECTED_METHOD_COUNT": [ + 0, + 1, + 3, + 39 + ], + "SYNCHRONIZED_METHOD_COUNT": [ + 0, + 1, + 20 + ], + "FINAL_METHOD_COUNT": [ + 0, + 1, + 7 + ], + "DEFAULT_METHOD_COUNT": [ + 0, + 1, + 3 + ], + "ABSTRACT_METHOD_COUNT": [ + 0, + 1, + 6 + ], + "PUBLIC_FIELD_COUNT": [ + 0, + 1, + 8, + 37 + ], + "PRIVATE_FIELD_COUNT": [ + 0, + 1, + 5, + 47 + ], + "PROTECTED_FIELD_COUNT": [ + 0, + 1, + 3, + 39 + ], + "SYNCHRONIZED_FIELD_COUNT": [ + 0, + 1, + 20 + ], + "FINAL_FIELD_COUNT": [ + 0, + 1, + 7 + ], + "DEFAULT_FIELD_COUNT": [ + 0, + 1, + 3 + ], + "ABSTRACT_FIELD_COUNT": [ + 0, + 1, + 6 + ], + "STATIC_FIELD_COUNT": [ + 0, + 1, + 9 + ], + "NUMBER_OF_STATIC_INVOCATIONS": [ + 0, + 3, + 27 + ], + "LACK_OF_COHESION_OF_METHODS": [ + 13, + 2, + 0 + ], + "DEPTH_INHERITANCE_TREE": [ + 0, + 1, + 29 + ], + "TEST_SMELLS": [ + [], + [ + "sleepy" + ] + ], + "PYLINT": [ + [] + ], + "DUPLICATE_CODE_BLOCKS": [ + [], + [ + { + "filenames": [], + "lineNumbers": [], + "lineCount": 3, + "tokenCount": 14, + "occurences": 2 + } + ] + ], + "SUPPRESSIONS": [ + [], + [ + { + "name": "TestClass", + "justification": "for testing" + } + ] + ], + "FILE_EFFECTIVE_LOC": [ + 2, + 38, + 2162 + ], + "RELATIVE_NUMBER_OF_ASSERTIONS": [ + 1, + 0.0, + 0.0021, + 0.0153 + ], + "RELATIVE_NUMBER_OF_TESTCASES": [ + 0.0, + 0.0019, + 0.0139 + ], + "AVERAGE_ASSERTIONS_PER_TESTCASE": [ + 0.893, + 1.027, + 2.103 + ], + "RELATIVE_CYCLOMATIC_COMPLEXITY": [ + 0.00174, + 0.0248, + 0.1659 + ], + "RELATIVE_COUPLING_BETWEEN_OBJECTS": [ + 0.0437, + 0.115, + 0.721 + ], + "RELATIVE_DEPTH_INHERITANCE_TREE": [ + 0.000274, + 0.00164, + 0.0512 + ], + "RELATIVE_WEIGHT_METHOD_CLASS": [ + 0.5 + ], + "TEST_PRODUCTION_RATIO": [ + 0.0, + 0.8, + 1.0, + 1.2 + ], + "PROFANITY": [ + [], + [ + "Line 6 contains profanity" + ] + ], + "TESTS": [ + "Assertion failure" + ] + } +} diff --git a/src/test/java/nl/tudelft/ewi/auta/common/model/PassingScriptTestCaseTest.java b/src/test/java/nl/tudelft/ewi/auta/common/model/PassingScriptTestCaseTest.java new file mode 100644 index 0000000000000000000000000000000000000000..b3615f100fc3e24ead5cf957ddbf880e5557f20f --- /dev/null +++ b/src/test/java/nl/tudelft/ewi/auta/common/model/PassingScriptTestCaseTest.java @@ -0,0 +1,14 @@ +package nl.tudelft.ewi.auta.common.model; + +import nl.jqno.equalsverifier.EqualsVerifier; +import nl.jqno.equalsverifier.Warning; +import org.junit.jupiter.api.Test; + +public class PassingScriptTestCaseTest { + @Test + public void testEquals() { + EqualsVerifier.forClass(PassingScriptTestCase.class) + .suppress(Warning.NONFINAL_FIELDS) + .verify(); + } +} diff --git a/src/test/java/nl/tudelft/ewi/auta/common/model/metric/MetricFixturesProviderTest.java b/src/test/java/nl/tudelft/ewi/auta/common/model/metric/MetricFixturesProviderTest.java new file mode 100644 index 0000000000000000000000000000000000000000..f0d815e501c683636f74dc5c84647eba32893ded --- /dev/null +++ b/src/test/java/nl/tudelft/ewi/auta/common/model/metric/MetricFixturesProviderTest.java @@ -0,0 +1,18 @@ +package nl.tudelft.ewi.auta.common.model.metric; + +import com.google.gson.Gson; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class MetricFixturesProviderTest { + @Test + public void testGetFixtures() { + final var provider = new MetricFixturesProvider(new Gson()); + final var fixtures = provider.getFixtures(); + + // Basic metrics that should have fixtures as a baseline + assertThat(fixtures) + .containsKeys(MetricName.CYCLOMATIC_COMPLEXITY, MetricName.LINES_OF_CODE); + } +} diff --git a/worker/src/main/java/nl/tudelft/ewi/auta/worker/control/ControlProcessor.java b/worker/src/main/java/nl/tudelft/ewi/auta/worker/control/ControlProcessor.java index ec35bdb299192eff0af2877d4c76a45d1259dd37..04066d3e45d287bcdbe00c1e2a4a17db0e104bd6 100644 --- a/worker/src/main/java/nl/tudelft/ewi/auta/worker/control/ControlProcessor.java +++ b/worker/src/main/java/nl/tudelft/ewi/auta/worker/control/ControlProcessor.java @@ -200,6 +200,7 @@ public class ControlProcessor { metric.put("name", metricName); metric.put("internal_name", metricName); + metric.put("value_type", metricName.getType().getSimpleName()); metric.put("languages", analyzer.getLanguages()); metric.put("class", analyzer.getType() == Job.class ? "dynamic" : "static"); metric.put("script_presets", scriptPresets.get(metricName));