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 ceff5c5cfe
)
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