tangled
alpha
login
or
join now
encode42.dev
/
nixos
0
fork
atom
Personal-use NixOS configuration
0
fork
atom
overview
issues
pulls
pipelines
Add tests (somehow forgotten)
encode42.dev
1 week ago
a1a60501
12dca476
+168
5 changed files
expand all
collapse all
unified
split
tests
byparr.nix
cells.nix
default.nix
network-optimizer.nix
omnipoly.nix
+43
tests/byparr.nix
···
1
1
+
{
2
2
+
flake,
3
3
+
pkgs,
4
4
+
lib,
5
5
+
...
6
6
+
}:
7
7
+
8
8
+
let
9
9
+
byparrPort = 8191;
10
10
+
in
11
11
+
pkgs.testers.nixosTest {
12
12
+
name = "byparr-test";
13
13
+
14
14
+
nodes.machine =
15
15
+
{ config, ... }:
16
16
+
{
17
17
+
imports = [
18
18
+
flake.nixosModules.byparr
19
19
+
];
20
20
+
21
21
+
virtualisation.diskSize = 4096;
22
22
+
23
23
+
networking.firewall.enable = false;
24
24
+
networking.useDHCP = true;
25
25
+
26
26
+
services.byparr = {
27
27
+
enable = true;
28
28
+
29
29
+
port = byparrPort;
30
30
+
};
31
31
+
};
32
32
+
33
33
+
testScript = ''
34
34
+
machine.start()
35
35
+
36
36
+
machine.wait_for_unit("byparr.service")
37
37
+
machine.wait_for_open_port(${toString byparrPort})
38
38
+
39
39
+
machine.succeed("curl -L -X POST 'http://localhost:8191/v1' -H 'Content-Type: application/json' --data-raw '{ \"cmd\": \"request.get\", \"url\": \"http://www.google.com/\", \"maxTimeout\": 60000 }'")
40
40
+
'';
41
41
+
42
42
+
meta.maintainers = [ lib.maintainers.encode42 ];
43
43
+
}
+30
tests/cells.nix
···
1
1
+
{
2
2
+
flake,
3
3
+
pkgs,
4
4
+
lib,
5
5
+
...
6
6
+
}:
7
7
+
8
8
+
pkgs.testers.nixosTest {
9
9
+
name = "cells-test";
10
10
+
11
11
+
nodes.machine =
12
12
+
{ ... }:
13
13
+
{
14
14
+
imports = [
15
15
+
flake.nixosModules.cells
16
16
+
];
17
17
+
18
18
+
services.cells.enable = true;
19
19
+
};
20
20
+
21
21
+
# TODO: This is a very basic test
22
22
+
23
23
+
testScript = ''
24
24
+
machine.start()
25
25
+
machine.wait_for_unit("cells.service")
26
26
+
machine.succeed("systemctl is-active cells.service")
27
27
+
'';
28
28
+
29
29
+
meta.maintainers = [ lib.maintainers.encode42 ];
30
30
+
}
+17
tests/default.nix
···
1
1
+
{ flake, pkgs }:
2
2
+
3
3
+
let
4
4
+
mkTest =
5
5
+
path:
6
6
+
import path {
7
7
+
inherit flake pkgs;
8
8
+
9
9
+
lib = pkgs.lib;
10
10
+
};
11
11
+
in
12
12
+
{
13
13
+
byparr = mkTest ./byparr.nix;
14
14
+
cells = mkTest ./cells.nix;
15
15
+
network-optimizer = mkTest ./network-optimizer.nix;
16
16
+
omnipoly = mkTest ./omnipoly.nix;
17
17
+
}
+32
tests/network-optimizer.nix
···
1
1
+
{
2
2
+
flake,
3
3
+
pkgs,
4
4
+
lib,
5
5
+
...
6
6
+
}:
7
7
+
8
8
+
pkgs.testers.nixosTest {
9
9
+
name = "network-optimizer-test";
10
10
+
11
11
+
nodes.machine =
12
12
+
{ config, ... }:
13
13
+
{
14
14
+
imports = [
15
15
+
flake.nixosModules.network-optimizer
16
16
+
];
17
17
+
18
18
+
services.network-optimizer = {
19
19
+
enable = true;
20
20
+
};
21
21
+
};
22
22
+
23
23
+
# TODO: This is a very basic test
24
24
+
25
25
+
testScript = ''
26
26
+
machine.start()
27
27
+
machine.wait_for_unit("network-optimizer.service")
28
28
+
machine.succeed("systemctl is-active network-optimizer.service")
29
29
+
'';
30
30
+
31
31
+
meta.maintainers = [ lib.maintainers.encode42 ];
32
32
+
}
+46
tests/omnipoly.nix
···
1
1
+
{
2
2
+
flake,
3
3
+
pkgs,
4
4
+
lib,
5
5
+
...
6
6
+
}:
7
7
+
8
8
+
pkgs.testers.nixosTest {
9
9
+
name = "omnipoly-test";
10
10
+
11
11
+
nodes.machine =
12
12
+
{ config, ... }:
13
13
+
{
14
14
+
imports = [
15
15
+
flake.nixosModules.omnipoly
16
16
+
];
17
17
+
18
18
+
services.languagetool = {
19
19
+
enable = true;
20
20
+
21
21
+
port = 6000;
22
22
+
};
23
23
+
24
24
+
services.libretranslate = {
25
25
+
enable = true;
26
26
+
27
27
+
disableWebUI = true;
28
28
+
29
29
+
port = 7000;
30
30
+
};
31
31
+
32
32
+
services.omnipoly = {
33
33
+
enable = true;
34
34
+
};
35
35
+
};
36
36
+
37
37
+
# TODO: This is a very basic test
38
38
+
39
39
+
testScript = ''
40
40
+
machine.start()
41
41
+
machine.wait_for_unit("omnipoly.service")
42
42
+
machine.succeed("systemctl is-active omnipoly.service")
43
43
+
'';
44
44
+
45
45
+
meta.maintainers = [ lib.maintainers.encode42 ];
46
46
+
}