python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / nixos / tests / mongodb.nix
blobedd074f5163c2717413d40cb09a2e4a9a4cfd330
1 # This test start mongodb, runs a query using mongo shell
3 import ./make-test-python.nix ({ pkgs, ... }:
4   let
5     testQuery = pkgs.writeScript "nixtest.js" ''
6       db.greetings.insert({ "greeting": "hello" });
7       print(db.greetings.findOne().greeting);
8     '';
10     runMongoDBTest = pkg: ''
11       node.execute("(rm -rf data || true) && mkdir data")
12       node.execute(
13           "${pkg}/bin/mongod --fork --logpath logs --dbpath data"
14       )
15       node.wait_for_open_port(27017)
17       assert "hello" in node.succeed(
18           "${pkg}/bin/mongo ${testQuery}"
19       )
21       node.execute(
22           "${pkg}/bin/mongod --shutdown --dbpath data"
23       )
24       node.wait_for_closed_port(27017)
25     '';
27   in {
28     name = "mongodb";
29     meta = with pkgs.lib.maintainers; {
30       maintainers = [ bluescreen303 offline cstrahan rvl phile314 ];
31     };
33     nodes = {
34       node = {...}: {
35         environment.systemPackages = with pkgs; [
36           mongodb-3_4
37           mongodb-3_6
38           mongodb-4_0
39           mongodb-4_2
40           mongodb-4_4
41           mongodb-5_0
42         ];
43       };
44     };
46     testScript = ''
47       node.start()
48     ''
49       + runMongoDBTest pkgs.mongodb-3_4
50       + runMongoDBTest pkgs.mongodb-3_6
51       + runMongoDBTest pkgs.mongodb-4_0
52       + runMongoDBTest pkgs.mongodb-4_2
53       + runMongoDBTest pkgs.mongodb-4_4
54       + runMongoDBTest pkgs.mongodb-5_0
55       + ''
56         node.shutdown()
57       '';
58   })