c8e1a0bbcb
Fix tests for Runner#attach_to_execution
...
These tests were blocking because of the newly introduced
EventLoop. The messages sent to the EventLoop are now mocked
and the EventLoop isn't blocking anymore in the tests.
2021-11-01 17:12:53 +01:00
5cc180d0e9
Fix rubocop, I18n, cleanup rebase
2021-11-01 17:12:52 +01:00
2dff81a510
Attach duration information to the exception object
2021-11-01 17:12:52 +01:00
cc412b73bc
Introduce more error types
2021-11-01 17:12:51 +01:00
db2d1e3164
Add tests for DockerContainerPool strategy
2021-11-01 17:12:51 +01:00
704407b9fc
Add strategy for DockerContainerPool
...
In order to provide an alternative to Poseidon, a strategy for the
DockerContainerPool is added that is used by the runner model.
Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de >
2021-11-01 17:12:51 +01:00
1d3f0d7ad8
Handle Faraday errors
2021-11-01 17:12:50 +01:00
b48b45de9f
Refactor error classes
...
All runner errors are now in a single file. The not found error
has been splitted into an error for runner not found and for
environment not found.
2021-11-01 17:12:50 +01:00
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