Syndicate server test

This commit is contained in:
Emery Hemingway 2022-06-29 08:48:45 -05:00
parent 432acda322
commit 2f10d1a32b
2 changed files with 52 additions and 6 deletions

View File

@ -17,11 +17,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1652739558,
"narHash": "sha256-znGkjGugajqF/sFS+H4+ENmGTaVPFE0uu1JjQZJLEaQ=",
"lastModified": 1656338871,
"narHash": "sha256-+LOvZFt3MpWtrxXLH4igQtRVzyD43VnuTJjDVbt7phY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ff691ed9ba21528c1b4e034f36a04027e4522c58",
"rev": "819e4d63fc7f337a822a049fd055cd7615a5e0d6",
"type": "github"
},
"original": {
@ -56,11 +56,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1652755477,
"narHash": "sha256-igHFY7xjIJG6R9tgz8ilxOi50nF/lo3d9jJEGTX3XIk=",
"lastModified": 1656384549,
"narHash": "sha256-hUe2t7//B9U9SSODAplfzdKkwxwO4kHsPX2k0y95SUU=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "7a9b1da03a2aa9d95fdc577772982e4c70b5e750",
"rev": "61df523b5c22665d89710d9985cf5afe751d703f",
"type": "github"
},
"original": {

View File

@ -63,5 +63,51 @@
mkShell { packages = builtins.attrValues self.packages.${system}; };
}) self.legacyPackages;
checks = self.lib.mapAttrs (system: pkgs':
with import (nixpkgs + "/nixos/lib/testing-python.nix") {
inherit system;
pkgs = pkgs';
}; {
http = simpleTest {
nodes.machine = { config, pkgs, ... }: {
imports = [ self.nixosModules.syndicate-server ];
nixpkgs.pkgs = pkgs';
services.syndicate.http = {
enable = true;
user = "nobody";
config = [
(pkgs.writeText "http.pr" ''
<require-service <daemon http_translator>>
<daemon http_translator {
argv: [ "${pkgs.nimPackages.syndicate_utils}/bin/http_translator" ]
protocol: text/syndicate
}>
let ?other = dataspace
$other [
? <http ?handle GET ?headers ?path ?body> [
<http $handle 200 {} "Hello world!">
]
]
? <service-object <daemon http_translator> ?cap> $cap [
<listen 8888>
<handler #{GET} [ "greeting" ] $other>
]
'')
];
};
};
testScript = ''
machine.wait_for_job("syndicate-http")
machine.wait_for_open_port(8888)
machine.succeed("curl --fail http://localhost:8888/greeting")
'';
};
}) { inherit (self.legacyPackages) x86_64-linux; };
};
}