Line data Source code
1 : /*
2 : Unix SMB/CIFS implementation.
3 :
4 : DRSUAPI utility functions to be used in torture tests
5 :
6 : Copyright (C) Kamen Mazdrashki <kamen.mazdrashki@postpath.com> 2009
7 :
8 : This program is free software; you can redistribute it and/or modify
9 : it under the terms of the GNU General Public License as published by
10 : the Free Software Foundation; either version 3 of the License, or
11 : (at your option) any later version.
12 :
13 : This program is distributed in the hope that it will be useful,
14 : but WITHOUT ANY WARRANTY; without even the implied warranty of
15 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 : GNU General Public License for more details.
17 :
18 : You should have received a copy of the GNU General Public License
19 : along with this program. If not, see <http://www.gnu.org/licenses/>.
20 : */
21 :
22 : #include "includes.h"
23 : #include "torture/smbtorture.h"
24 : #include "torture/rpc/drsuapi.h"
25 : #include "dsdb/samdb/samdb.h"
26 : #include "torture/drs/proto.h"
27 :
28 : /**
29 : * DRSUAPI tests to be executed remotely
30 : */
31 964 : static struct torture_suite * torture_drs_rpc_suite(TALLOC_CTX *mem_ctx,
32 : const char *suite_name)
33 : {
34 964 : struct torture_suite *suite = torture_suite_create(mem_ctx, suite_name);
35 :
36 964 : torture_drs_rpc_dssync_tcase(suite);
37 964 : torture_drs_rpc_dsintid_tcase(suite);
38 :
39 964 : suite->description = talloc_strdup(suite,
40 : "DRSUAPI RPC Tests Suite");
41 :
42 964 : return suite;
43 : }
44 :
45 : /**
46 : * DRSUAPI tests to be executed remotely
47 : */
48 964 : static struct torture_suite * torture_drs_unit_suite(TALLOC_CTX *mem_ctx,
49 : const char *suite_name)
50 : {
51 964 : struct torture_suite *suite = torture_suite_create(mem_ctx, suite_name);
52 :
53 964 : torture_drs_unit_prefixmap(suite);
54 964 : torture_drs_unit_schemainfo(suite);
55 :
56 964 : suite->description = talloc_strdup(suite,
57 : "DRSUAPI Unit Tests Suite");
58 :
59 964 : return suite;
60 : }
61 :
62 : /**
63 : * DRSUAPI torture module initialization
64 : */
65 964 : NTSTATUS torture_drs_init(TALLOC_CTX *ctx)
66 : {
67 : struct torture_suite *suite;
68 :
69 : /* register RPC related test cases */
70 964 : suite = torture_drs_rpc_suite(ctx, "drs.rpc");
71 964 : if (!suite) return NT_STATUS_NO_MEMORY;
72 964 : torture_register_suite(ctx, suite);
73 :
74 : /* register DRS Unit test cases */
75 964 : suite = torture_drs_unit_suite(ctx, "drs.unit");
76 964 : if (!suite) return NT_STATUS_NO_MEMORY;
77 964 : torture_register_suite(ctx, suite);
78 :
79 964 : return NT_STATUS_OK;
80 : }
|