Use SMB_CONF_PATH environment variable inside tests rather than hardcoded paths.
[jelmer/openchange-samba.git] / testdata / samba3 / verify
1 #!/usr/bin/env smbscript
2 /* Verifies that the data present in this directory
3  Can be read correctly by Samba4. Do not update 
4  without changing the corresponding TDB file!
5  Written by Jelmer Vernooij, 2005.
6  */
7
8 var sys;
9 var options = GetOptions(ARGV, "POPT_AUTOHELP", "POPT_COMMON_SAMBA");
10 if (options == undefined) {
11         println("Failed to parse options");
12         return -1;
13 }
14
15 libinclude("base.js");
16
17 var path = substr(ARGV[0], 0, -strlen("verify"));
18 printf("Reading from %s\n", path);
19
20 var s = samba3_read(path, path+"smb.conf");
21 assert(s != undefined);
22
23 // smb.conf checks
24 assert(s.configuration.get("passdb backend") != undefined);
25
26 var data = s.configuration.data();
27 assert(data != undefined);
28 var global = data["global"];
29 assert(global != undefined);
30 assert(global["passdb backend"] == s.configuration.get("passdb backend"));
31 assert(global["passdb backend"] != undefined);
32
33 println("smb.conf ok");
34
35 assert(s.winsentries.length == 22);
36 assert(s.samaccounts.length == 3);
37 assert(s.shares.length == 0);
38 assert(s.registry.keys.length == 28);
39 assert(s.groupmappings.length == 13);
40 assert(s.aliases.length == 0);
41 assert(s.idmapdb.mappings.length == 4);
42
43 println("database entry count correct");
44
45 // account policies
46 assert(s.policy.min_password_length == 5);
47 assert(s.policy.minimum_password_age == 0);
48 assert(s.policy.maximum_password_age == 999999999);
49 assert(s.policy.refuse_machine_password_change == 0);
50 assert(s.policy.reset_count_minutes == 0);
51 assert(s.policy.disconnect_time == -1);
52 assert(s.policy.user_must_logon_to_change_password == 0);
53 assert(s.policy.password_history == 0);
54 assert(s.policy.lockout_duration == 0);
55 assert(s.policy.bad_lockout_minutes == 0);
56
57 println("account policies ok");
58
59 exit(0);