Cole Helbling
d23f431889
JobsetInputs: update schema to align with the API
...
`PUT /jobsets/{project-id}/{jobset-id}` expects a JSON object `inputs` which
maps a name to a name, a type, a value, and a boolean that enables emailing
responsible parties. However, `GET /jobsets/{project-id}/{jobset-id}` responds
with an object that doesn't contain a value, but does contain a jobsetinputalts
(which is old and should be unused).
This commit aligns the two by removing the old and unused `jobsetinputalts` from
the response and replaces it with `value`.
2021-04-29 07:50:23 -04:00
Cole Helbling
fff0db10e3
ToJSON: allow custom as_json function
...
This allows us to modify what the API responds with, which in turn lets us unify
the OpenAPI specification and the actual API's responses.
2021-04-29 07:50:23 -04:00
Graham Christensen
29028258e3
Merge pull request #940 from regnat/test-with-remote-dest-store
...
Run the tests with a remote dest store
2021-04-29 07:27:42 -04:00
Graham Christensen
e1a761194f
Merge pull request #943 from regnat/include-localhost-features
...
Cleanup the localhost-features test
2021-04-29 07:26:50 -04:00
regnat
bf3e1cf77b
Disable the remote dest store for the channel test
...
Looks like feature is only works when the destination store is the local
store
2021-04-29 07:24:20 +02:00
regnat
9c787e5e94
Document the use_external_destination_store test_init param
2021-04-29 07:24:20 +02:00
Théophane Hufschmitt
7af63658f1
tests: Make the external destination store optional
...
Co-authored-by: Graham Christensen <graham@grahamc.com>
2021-04-29 07:24:20 +02:00
regnat
305c27d3fb
Move the default-machine-file test under queue-runner
...
Just a bit of housekeeping to keep the testsuite clean
2021-04-29 06:55:23 +02:00
regnat
f61a13d2db
Only add the Nix system feature to the test that requires it
2021-04-29 06:54:25 +02:00
Graham Christensen
7017d41117
Merge pull request #942 from DeterminateSystems/port-api-test-master
...
Port api-test to yath
2021-04-28 19:48:33 -04:00
Graham Christensen
a44e5b73a8
api-test: clean up, use subtests
2021-04-28 19:41:49 -04:00
Graham Christensen
015d8298cb
flake.nix: drop the API test
2021-04-28 18:32:23 -04:00
Graham Christensen
5c5b53961e
fixup: api-test.t expected to pass inputs as inputs
2021-04-28 18:30:53 -04:00
Graham Christensen
fdb6e7dd97
fixup: return the user entity on login
2021-04-28 18:30:35 -04:00
Graham Christensen
a34f23f7e6
api-test: use is for nicer errors
2021-04-28 18:28:35 -04:00
Graham Christensen
20df86c275
api-test.t: make it work under yath
...
1. Configure the in-memory Hydra instance with a null path input cache
time to avoid caching slowing the test down.
2. Use the Catalyst::Test helpers so we talk to the application and skip
needing to actually run a webserver.
3. Change path references to use a tempdir, since this is running while
other tests are also running.
4. Change the login flow to save a cookie and pass it manually. A bit
weird, but it avoids a dependency on heavier browser-mimicking
libraries.
2021-04-28 18:28:35 -04:00
Graham Christensen
38c7f88b7c
rename api-test.pl to .t so it runs under yath
2021-04-28 18:28:35 -04:00
Graham Christensen
dd6cd33e98
move the api-test.nix in to the jobsdir
2021-04-28 18:28:35 -04:00
Graham Christensen
823da22e4f
Merge pull request #937 from DeterminateSystems/flesh-out-api
...
hydra-api: flesh out Jobset, JobsetInput schemas; implement DELETE /jobset/{project-id}/{jobset-id}
2021-04-28 13:43:04 -04:00
Cole Helbling
948b3cf073
Jobset: add HTTP API test
2021-04-28 10:37:06 -07:00
Graham Christensen
725c9c2f81
login: redirect to the current-user page
2021-04-28 08:32:10 -07:00
Graham Christensen
d589db2ed9
login: missing parameters are 400s
2021-04-28 08:31:59 -07:00
Eelco Dolstra
8d6a5aac84
Merge pull request #939 from regnat/include-localhost-features
...
Include localhost's features in the default machine file
2021-04-28 12:25:21 +02:00
regnat
0d3977866e
Run the tests with a remote dest store
...
Set `dest_store` in the test hydra config, so that the testsuite ensures
that the distinction between the local store and the destination store
is properly taken into account.
Fix #938
2021-04-28 12:22:54 +02:00
regnat
abff212d06
Use system-features from the Nix conf in the default machine file
...
Fix #936
2021-04-28 11:43:04 +02:00
regnat
d58b3274f9
test: Don't generate a Nix conf in the makefile
...
The config is overriden by the `test_init` perl function, so it’s at
best misleading to create a first one there
2021-04-28 11:41:37 +02:00
Cole Helbling
42ef3b7b72
hydra-api: update Project and Jobset examples with the new schema
...
For future reference, this was generated by sending the request and piping it to
`yq -y` so that it would spit out YAML.
2021-04-27 23:09:33 -07:00
Cole Helbling
bcd3bbb680
hydra-api: implement DELETE /jobset/{project-id}/{jobset-id}
2021-04-27 16:16:42 -07:00
Cole Helbling
72fec31dbb
hydra-api: flesh out JobsetInput schema
2021-04-27 16:16:42 -07:00
Cole Helbling
2600810551
hydra-api: flesh out Jobset schema
...
* made all columns available via the API (except for forceeval)
* renamed flakeref to flake to unify the API with the database schema
* renamed inputs to jobsetinputs to unify the API with the database schema
2021-04-27 16:16:42 -07:00
Graham Christensen
0c8d016a38
Merge pull request #935 from DeterminateSystems/delete-project
...
hydra-api: implement DELETE /project/{id}
2021-04-27 11:15:15 -04:00
Cole Helbling
ddccf6a60e
hydra-api: implement DELETE /project/{id}
2021-04-27 08:10:09 -07:00
Graham Christensen
ada497db4f
Merge pull request #934 from DeterminateSystems/missing-name
...
hydra-api: add missing `name` property
2021-04-26 22:02:14 -04:00
Cole Helbling
9128802727
hydra-api: add missing name
property
...
The Hydra website allows you to change the name of a Project, so it only makes
sense for the API to expose this functionality as well.
2021-04-26 18:55:10 -07:00
Graham Christensen
fa5811eabf
Merge pull request #933 from cole-h/boolean-json
...
Serialize `enabled` and `hidden` columns as boolean
2021-04-26 19:44:59 -04:00
Cole Helbling
50fab154a4
ToJSON: serialize string_columns to JSON
...
If the column is undefined, then it should be an empty string according to your
API spec.
2021-04-26 16:39:13 -07:00
Graham Christensen
f0ede5f8b8
t: Test Projects JSON serialization and deserialization
2021-04-26 16:39:13 -07:00
Graham Christensen
f2b9649bf2
Projects: serialize enabled
and hidden
as boolean
2021-04-26 16:03:32 -07:00
Graham Christensen
4aea02e1e1
ToJSON: serialize boolean_columns to JSON boolean
2021-04-26 16:03:32 -07:00
Graham Christensen
683b8c41c1
Merge pull request #932 from cole-h/project
...
Add homepage to Projects schema
2021-04-26 18:57:02 -04:00
Graham Christensen
8e3b3c95f8
Merge pull request #931 from cole-h/put-project
...
hydra-api: hidden -> visible
2021-04-26 18:48:29 -04:00
Cole Helbling
c757867b9e
Add homepage to Projects schema
2021-04-26 15:46:30 -07:00
Cole Helbling
221cc0663d
hydra-api: hidden -> visible
...
The PUT API doesn't accept `hidden` (even though the GET API responds with it).
2021-04-26 15:28:20 -07:00
Graham Christensen
2dfcd411da
Merge pull request #928 from cole-h/put-project
...
hydra-api: add missing properties to PUT /project/{id}
2021-04-26 15:06:05 -04:00
Cole Helbling
36da978489
hydra-api: add missing properties to PUT /project/{id}
2021-04-26 12:01:11 -07:00
Graham Christensen
453b8479be
Merge pull request #927 from cole-h/nonexistent-user-400
...
Return HTTP 400 when creating Project with nonexistent user
2021-04-26 14:40:15 -04:00
Cole Helbling
47e19ba22c
Return HTTP 400 when creating Project with nonexistent user
2021-04-26 11:32:39 -07:00
Graham Christensen
bc292db45b
Merge pull request #923 from Ma27/mail-auth
...
Add AuthenSASL to perl deps; improve email docs
2021-04-26 13:11:21 -04:00
Maximilian Bosch
963085a04a
Add AuthenSASL to perl deps; improve email docs
...
The addition of AuthenSASL seems to be necessary to properly
authenticate against an SMTP server. Without this I got errors
such as
error with Hydra::Plugin::EmailNotification=HASH(0x6ad0128)->buildFinished: SMTP auth requires MIME::Base64 and Authen::SASL
2021-04-26 18:33:57 +02:00
Graham Christensen
18c02afe77
Merge pull request #921 from Ma27/email-notification-create-jobset
...
Make it possible to enable email notifications when creating a jobset
2021-04-26 11:22:17 -04:00