forked from lix-project/hydra
flake: fix gitea integration test
This is an integration test that confirms that jobset definitions from git repositories are correctly built and status updates pushed to the gitea instance. The following things needed to be fixed: * We're still on 23.05 where gitea is marked as insecure. Not going to update nixpkgs right now, but going for the quick fix. * Since gitea 1.19 tokens have scopes that describe what's possible. Not specifying the scope in the DB appears to imply that no permissions are granted. * Apparently we have three status updates now (for three status hooks, queued/started/finished). No idea why that was broken before, but the behavior still looks correct. (cherry picked from commit ceff5c5cfeaf211691f4d1156f358a940b5ef7b4)
This commit is contained in:
parent
a053ef8fdf
commit
925dc7544a
17
flake.nix
17
flake.nix
|
@ -175,13 +175,9 @@
|
||||||
root=d7f16a3412e01a43a414535b16007c6931d3a9c7
|
root=d7f16a3412e01a43a414535b16007c6931d3a9c7
|
||||||
</gitea_authorization>
|
</gitea_authorization>
|
||||||
'';
|
'';
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [ "gitea-1.19.4" ];
|
||||||
nix = {
|
nix = {
|
||||||
distributedBuilds = true;
|
settings.substituters = [ ];
|
||||||
buildMachines = [{
|
|
||||||
hostName = "localhost";
|
|
||||||
systems = [ system ];
|
|
||||||
}];
|
|
||||||
binaryCaches = [ ];
|
|
||||||
};
|
};
|
||||||
services.gitea = {
|
services.gitea = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -197,7 +193,7 @@
|
||||||
testScript =
|
testScript =
|
||||||
let
|
let
|
||||||
scripts.mktoken = pkgs.writeText "token.sql" ''
|
scripts.mktoken = pkgs.writeText "token.sql" ''
|
||||||
INSERT INTO access_token (id, uid, name, created_unix, updated_unix, token_hash, token_salt, token_last_eight) VALUES (1, 1, 'hydra', 1617107360, 1617107360, 'a930f319ca362d7b49a4040ac0af74521c3a3c3303a86f327b01994430672d33b6ec53e4ea774253208686c712495e12a486', 'XRjWE9YW0g', '31d3a9c7');
|
INSERT INTO access_token (id, uid, name, created_unix, updated_unix, token_hash, token_salt, token_last_eight, scope) VALUES (1, 1, 'hydra', 1617107360, 1617107360, 'a930f319ca362d7b49a4040ac0af74521c3a3c3303a86f327b01994430672d33b6ec53e4ea774253208686c712495e12a486', 'XRjWE9YW0g', '31d3a9c7', 'all');
|
||||||
'';
|
'';
|
||||||
|
|
||||||
scripts.git-setup = pkgs.writeShellScript "setup.sh" ''
|
scripts.git-setup = pkgs.writeShellScript "setup.sh" ''
|
||||||
|
@ -352,9 +348,10 @@
|
||||||
|
|
||||||
response = json.loads(data)
|
response = json.loads(data)
|
||||||
|
|
||||||
assert len(response) == 2, "Expected exactly two status updates for latest commit!"
|
assert len(response) == 3, "Expected exactly three status updates for latest commit (queued, started, finished)!"
|
||||||
assert response[0]['status'] == "success", "Expected latest status to be success!"
|
assert response[0]['status'] == "success", "Expected finished status to be success!"
|
||||||
assert response[1]['status'] == "pending", "Expected first status to be pending!"
|
assert response[1]['status'] == "pending", "Expected started status to be pending!"
|
||||||
|
assert response[2]['status'] == "pending", "Expected queued status to be pending!"
|
||||||
|
|
||||||
machine.shutdown()
|
machine.shutdown()
|
||||||
'';
|
'';
|
||||||
|
|
Loading…
Reference in a new issue