blob: 19420863291084489320d24a11b5601979a348fe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
{ stdenv
, rustPlatform
, rust
, lib
, openssl
, pkg-config
, postgresql
, postgresqlTestHook
, python3
}:
rustPlatform.buildRustPackage rec {
pname = "minor-skulk";
version = "0.1.0";
src = lib.cleanSource ./.;
nativeBuildInputs = [
pkg-config
];
checkInputs = [
openssl
postgresql
postgresqlTestHook
(python3.withPackages (p: [ p.pytest p.pyfxa p.requests p.http-ece p.aiosmtpd ]))
];
buildInputs = [
openssl
];
postPatch = ''
patchShebangs ./tests/run.sh
'';
# tests can't run multithreaded yet
dontUseCargoParallelTests = true;
# test config for postgres hook and integration tests
PGDATABASE = "testdb";
PGUSER = "testuser";
ROCKET_DATABASE_URL = "postgres:///${PGDATABASE}?user=${PGUSER}";
ROCKET_LOCATION = "http://localhost:8000";
ROCKET_TOKEN_SERVER_LOCATION = "http://localhost:5000";
ROCKET_VAPID_KEY = "private_key.pem";
ROCKET_VAPID_SUBJECT = "undefined"; # not needed for tests
ROCKET_MAIL_FROM = "minor skulk <noreply@localhost>";
ROCKET_MAIL_PORT = 2525;
preCheck = ''
openssl ecparam -genkey -name prime256v1 -out private_key.pem
'';
cargoLock.lockFile = ./Cargo.lock;
}
|