Commit Graph

285 Commits

Author SHA1 Message Date
413f9b2705 Improve error resilience and handling
Timeouts are now handled correctly and the Runner automatically
creates the execution environment if it could not be found in
Poseidon. The runner is deleted locally if Poseidon returns
a bad request error.
2021-11-01 17:12:50 +01:00
b6bc578aea Move submission scoring from controller concern to submission model
Localization and markdown formatting is now done in a controller
spec in order to bring this logic away from the data and towards
the view.
2021-11-01 17:12:50 +01:00
b847daf823 Remove waiting_time from runner model
After removing the logic that stores the duration that has been
waited for a runner in the runner, this now also removes the column
from the database as it is not used anymore.
2021-11-01 17:12:49 +01:00
d0d1b1bffd Introduce strategy for runner behavior
The runner model is only a class responsible for storing information
now. Based on the configuration it picks a strategy for the runner
management. The Poseidon strategy is already implemented and tested.
The Docker strategy will follow.
2021-11-01 17:12:49 +01:00
cf58be97ee Fix 17 previously failing specs 2021-11-01 17:12:49 +01:00
0280c0282e Add tests for synchronizing all execution environments
This adds policy tests to ensure only an admin can synchronize all
execution environments. It also adds controller tests that check that
all execution environments get synchronized.
2021-11-01 17:12:49 +01:00
0978a3be83 Add tests for the different runner errors 2021-11-01 17:12:48 +01:00
5e913c8a1a Skip failing tests
17 tests are always failing, due to changes introduced when adding the
Runner abstraction. To know only these fail, they now get skipped in
order to make it apparent if tests that should not fail do fail in the
pipeline.
2021-11-01 17:12:48 +01:00
d22d24df4d Add tests for execution environment copy to Poseidon 2021-11-01 17:12:48 +01:00
4f9078c6c6 Update usage of Selenium driver 2021-10-17 02:36:27 +02:00
bb4b4ece92 Add ping/pong health check 2021-10-09 23:37:31 +02:00
74e285e9fd Fix rubocop offenses 2021-10-05 12:09:56 +02:00
ae824565db Use older images in FactoryBot models 2021-09-11 21:29:10 +02:00
f349e8a48c Use real temp folder for Docker specs 2021-08-17 12:45:40 +02:00
a0ca15c6ac Fix submission scoring during specs 2021-08-17 12:45:26 +02:00
bf8d8284e2 Prevent creation of temporary users while seeding 2021-07-12 20:43:16 +02:00
d08707f62e Fix switch_locale to return the block result 2021-06-28 16:08:24 +02:00
1b71163a77 Refactor locale with around method 2021-06-25 17:36:56 +02:00
e7cf4ef5db Apply automatic rubocop fixes 2021-06-25 14:41:49 +02:00
cb9870447f Update Bundle
* Also fix new offenses discovered by the new Rubocop version
2021-06-01 17:41:54 +02:00
08d7b89108 Merge pull request #930 from openHPI/own-project
Rebrush action sidebar for implement view
2021-06-01 17:38:55 +02:00
f32661ad78 Rework left sidebar
* Move Buttons from left sidebar to JSTree
* Use light style for collapse sidebar buttons
2021-05-28 17:49:59 +02:00
5243808d54 Apply automatic rubocop fixes 2021-05-17 19:40:38 +02:00
da0a682ffb Apply manual rubocop fixes 2021-05-14 22:03:06 +02:00
6cbecb5b39 Apply automatic rubocop fixes 2021-05-14 22:03:06 +02:00
48904a19fd Fix test for new custom file 2021-05-14 17:35:37 +02:00
ebdfd4ab63 Re-enable oscillating tests 2021-05-12 16:47:05 +02:00
26151920c0 Prevent docker cleaning if no docker test was performed 2021-05-12 16:47:05 +02:00
2b32829e60 Upgrade DatabaseCleaner strategy 2021-05-12 16:47:05 +02:00
8378070bc2 Upgrade to Rails 6.0 and apply new framework defaults 2021-05-12 16:47:05 +02:00
1c2d5bc2a8 Prometheus: Mock config in specs 2021-05-10 18:57:01 +02:00
36cacc2330 Pass exercise object instead of id to reject_illegal_file_attributes 2021-04-30 12:06:11 +02:00
88aa25e9a0 Add tests for rejecting illegal file attributes 2021-04-30 12:06:10 +02:00
1e5a9b0825 Remove unused SubmissionsController#stop action 2021-04-07 17:45:38 +02:00
076812b2e7 Seeds: Fix some rubocop offenses 2021-04-07 14:06:33 +02:00
0a475f37b8 Add factory for internal user with learner role 2021-04-07 14:06:33 +02:00
58ffe061b3 Refactor exercise factories to pass user attribute to associations 2021-04-07 14:06:32 +02:00
40d83dbb1d Fix access to exercise-specific RfC listing 2021-04-07 14:06:32 +02:00
44b32b6f6a #46 Add Prometheus exporter 2021-04-07 14:06:32 +02:00
b10e23dd16 Upgrade to newest Sentry 2021-03-04 14:02:16 +01:00
293bcccc80 Introduce new enabled option for CodeHarbor
* Fix tests to ensure they work independent of config option
2021-02-16 14:29:54 +01:00
635b9aa16f Fix RSpec/FactoryBot/FactoryClassName offenses automatically
* Fixed with `rubocop -a --only RSpec/FactoryBot/FactoryClassName`
2021-02-12 00:17:49 +01:00
0739e13b78 Fix LTI spec for clear_lti_session_data 2021-02-02 11:53:01 +01:00
bc05a363f2 Fix spec for InternalUser#forgot_password 2021-01-27 18:40:53 +01:00
028fc2989a #18 Add sql index for unpublished exercises
And remove spec for remove feature
2020-12-15 12:17:11 +01:00
f5492ca35d Improve CodeOcean::FilePolicy with specs 2020-12-07 14:41:30 +01:00
c32e7586cd Remove consumer_id from session
* Each external (and also internal) user has a consumer attached. We don't need that information twice.
2020-11-25 21:19:18 +01:00
5fdfb12e62 Add German translations for PyLint adapter with basic spec 2020-11-08 01:04:39 +01:00
da064efef7 Merge pull request #771 from openHPI/add_handling_missing_file_type_on_import
Add handling for missing file type on import
2020-11-02 19:44:51 +01:00
f872cf73ee Review points, specs 2020-11-02 17:09:31 +01:00