Your Name 
							
						 
					 
					
						
						
							
						
						55b7802b61 
					 
					
						
						
							
							t/lib/Setup.pm: nix_config: default to empty string  
						
						
						
						
					 
					
						2021-09-06 22:13:33 -04:00 
						 
				 
			
				
					
						
							
							
								Your Name 
							
						 
					 
					
						
						
							
						
						4677a7c894 
					 
					
						
						
							
							perlcritic: use strict, use warnings  
						
						
						
						
					 
					
						2021-09-06 22:13:33 -04:00 
						 
				 
			
				
					
						
							
							
								Your Name 
							
						 
					 
					
						
						
							
						
						6d7ee27d25 
					 
					
						
						
							
							hydra-notify: make the prometheus endpoint configurable, default-off  
						
						
						
						
					 
					
						2021-08-24 10:56:13 -04:00 
						 
				 
			
				
					
						
							
							
								Your Name 
							
						 
					 
					
						
						
							
						
						241985fb2d 
					 
					
						
						
							
							Start checking PRs with perlcritic  
						
						
						
						
					 
					
						2021-08-20 11:06:43 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						fa6d7abc13 
					 
					
						
						
							
							hydra-notify: move BuildFinished processing to an Event  
						
						
						
						
					 
					
						2021-08-13 16:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						4a1389e36e 
					 
					
						
						
							
							hydra-notify: move StepFinished processing to an Event  
						
						
						
						
					 
					
						2021-08-13 16:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						4fdb20d3bd 
					 
					
						
						
							
							hydra-notify: move BuildStarted processing to an Event  
						
						
						
						
					 
					
						2021-08-13 16:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						4e86e55008 
					 
					
						
						
							
							Event.pm: add a new_event helper to parse and construct an Event  
						
						... 
						
						
						
						An Event will be part of many Tasks 
						
						
					 
					
						2021-08-13 16:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						64a3e75c10 
					 
					
						
						
							
							Event: init structure and parse existing messages  
						
						
						
						
					 
					
						2021-08-13 16:51:29 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						5027003285 
					 
					
						
						
							
							Abstract over postgres' LISTEN/NOTIFY  
						
						... 
						
						
						
						This lets us test the event loop if we wanted, and lets us
test the listening behavior in isolation. 
						
						
					 
					
						2021-08-12 13:54:05 -04:00 
						 
				 
			
				
					
						
							
							
								Shay Bergmann 
							
						 
					 
					
						
						
							
						
						ba557972c7 
					 
					
						
						
							
							Add test to verify includes work  
						
						
						
						
					 
					
						2021-07-26 17:16:40 +00:00 
						 
				 
			
				
					
						
							
							
								Cole Helbling 
							
						 
					 
					
						
						
							
						
						e6a8412a12 
					 
					
						
						
							
							Jobset: test type-related constraints  
						
						... 
						
						
						
						Prior to https://github.com/NixOS/hydra/pull/856 , the `type`-related constraints
were a bit too loose, allowing some variations that should have been seen as
invalid. This commit adds a test (inspired by
https://github.com/NixOS/hydra/pull/856#issuecomment-772820929 ) to ensure these
constraints stay unviolated. 
						
						
					 
					
						2021-07-20 10:38:22 -07:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						cb8929b7ed 
					 
					
						
						
							
							Tighten up 'should exit with return code'  
						
						
						
						
					 
					
						2021-06-16 11:48:49 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						2ac47e8013 
					 
					
						
						
							
							Test that each page listing evals works  
						
						... 
						
						
						
						PR #860  caused a regression that broke some loads. 
						
						
					 
					
						2021-06-16 11:22:40 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						71453dd341 
					 
					
						
						
							
							Expose Prometheus metrics at /metrics  
						
						... 
						
						
						
						Exposes metrics:
* http_request_duration_seconds_bucket
* http_request_size_bytes_bucket
* http_response_size_bytes_bucket
* http_requests_total
with labels of action and controller to help identify popular
endpoints and their performance characteristics. 
						
						
					 
					
						2021-06-10 20:02:42 -04:00 
						 
				 
			
				
					
						
							
							
								Cole Helbling 
							
						 
					 
					
						
						
							
						
						45ced33ab6 
					 
					
						
						
							
							Projects: don't respond with unnecessary declarative field  
						
						... 
						
						
						
						If the project isn't declarative, who cares about it in the response? After
setting the `declfile` to an empty string, everything related to declarative-
ness is wiped out, anyways. 
						
						
					 
					
						2021-05-24 15:26:34 -07:00 
						 
				 
			
				
					
						
							
							
								Cole Helbling 
							
						 
					 
					
						
						
							
						
						588a3a774f 
					 
					
						
						
							
							Project: add test for declarative->normal project transition  
						
						... 
						
						
						
						Also split into subtests. 
						
						
					 
					
						2021-05-06 08:47:29 -07:00 
						 
				 
			
				
					
						
							
							
								Cole Helbling 
							
						 
					 
					
						
						
							
						
						ad13d13436 
					 
					
						
						
							
							Project: add declfile, decltype, declvalue to API  
						
						... 
						
						
						
						This makes it possible to create declarative projects via a PUT request, and
also exposes the currently-configured values to GET requests. 
						
						
					 
					
						2021-05-02 17:45:14 -07:00 
						 
				 
			
				
					
						
							
							
								Cole Helbling 
							
						 
					 
					
						
						
							
						
						d0682c804d 
					 
					
						
						
							
							api-test: test deleting a project  
						
						... 
						
						
						
						As of this commit, this test will fail, because the underlying cause hasn't been
fixed. 
						
						
					 
					
						2021-04-30 10:42:38 -07:00 
						 
				 
			
				
					
						
							
							
								Cole Helbling 
							
						 
					 
					
						
						
							
						
						03d5a858a7 
					 
					
						
						
							
							Jobset: list known inputs in invalid input type response  
						
						
						
						
					 
					
						2021-04-29 18:19:44 -07:00 
						 
				 
			
				
					
						
							
							
								Cole Helbling 
							
						 
					 
					
						
						
							
						
						f1dd5d202e 
					 
					
						
						
							
							Jobsets: update schema to align with the API  
						
						... 
						
						
						
						To further align with the API, we return custom JSON in order to display a
`visible` field rather than `hidden` -- a `PUT` request expects `visible`, while
a `GET` request returns `hidden`.
This also allows us to rename the `jobsetinputs` field to `inputs` for the same
reason: `PUT` expects `inputs`, while `GET` returns `jobsetinputs`. 
						
						
					 
					
						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 
							
						 
					 
					
						
						
							
						
						a44e5b73a8 
					 
					
						
						
							
							api-test: clean up, use subtests  
						
						
						
						
					 
					
						2021-04-28 19:41:49 -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 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						05636de7d2 
					 
					
						
						
							
							hydra-init: upgrade passwords to Argon2 on startup  
						
						
						
						
					 
					
						2021-04-16 12:32:13 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						79b0ddc27d 
					 
					
						
						
							
							hydra-create-user: re-hash sha1 as Argon2  
						
						
						
						
					 
					
						2021-04-16 12:32:13 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						d10d8964f2 
					 
					
						
						
							
							Users: add a validation step which lets the user's password be a Argon2 hashed sha1 hash.  
						
						... 
						
						
						
						OWASP suggests expiring all passwords and requiring users to update their password.
However, we don't have a way to do this. They suggest this mechanism
as a good alternative:
https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html#upgrading-legacy-hashes  
						
						
					 
					
						2021-04-16 12:32:13 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						1da70030b7 
					 
					
						
						
							
							Users: transparently upgrade passwords to Argon2  
						
						... 
						
						
						
						Passwords that are sha1 will be transparently upgraded to argon2,
and future comparisons will use Argon2
Co-authored-by: Graham Christensen <graham@grahamc.com > 
						
						
					 
					
						2021-04-15 11:35:11 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						29620df85e 
					 
					
						
						
							
							Passwords: check in constant time  
						
						... 
						
						
						
						The default password comparison logic does not use
constant time validation. Switching to constant time
offers a meager improvement by removing a timing
oracle.
A prepatory step in moving to Argon2id password storage, since we'll need this change anyway after
for validating existing passwords.
Co-authored-by: Graham Christensen <graham@grahamc.com > 
						
						
					 
					
						2021-04-15 11:34:56 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						cf4434bc9f 
					 
					
						
						
							
							queue runner: test notifications  
						
						... 
						
						
						
						Especially, test the difference in behavior of substituted and unsubstituted builds. 
						
						
					 
					
						2021-04-14 14:19:10 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						e45f852277 
					 
					
						
						
							
							tests: allow specifying some nix config  
						
						
						
						
					 
					
						2021-04-14 14:19:10 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						c7ac123dc5 
					 
					
						
						
							
							Setup.pm: specify NIX_ env vars for running yath  
						
						... 
						
						
						
						Otherwise yath will try to use global configuration. 
						
						
					 
					
						2021-04-14 14:19:10 -04:00 
						 
				 
			
				
					
						
							
							
								Graham Christensen 
							
						 
					 
					
						
						
							
						
						74d34c0f80 
					 
					
						
						
							
							t/Setup.pm: sort NIX_ env vars  
						
						
						
						
					 
					
						2021-04-14 14:19:09 -04:00