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 2338 : static struct torture_suite * torture_drs_rpc_suite(TALLOC_CTX *mem_ctx, 32 : const char *suite_name) 33 : { 34 2338 : struct torture_suite *suite = torture_suite_create(mem_ctx, suite_name); 35 : 36 2338 : torture_drs_rpc_dssync_tcase(suite); 37 2338 : torture_drs_rpc_dsintid_tcase(suite); 38 : 39 2338 : suite->description = talloc_strdup(suite, 40 : "DRSUAPI RPC Tests Suite"); 41 : 42 2338 : return suite; 43 : } 44 : 45 : /** 46 : * DRSUAPI tests to be executed remotely 47 : */ 48 2338 : static struct torture_suite * torture_drs_unit_suite(TALLOC_CTX *mem_ctx, 49 : const char *suite_name) 50 : { 51 2338 : struct torture_suite *suite = torture_suite_create(mem_ctx, suite_name); 52 : 53 2338 : torture_drs_unit_prefixmap(suite); 54 2338 : torture_drs_unit_schemainfo(suite); 55 : 56 2338 : suite->description = talloc_strdup(suite, 57 : "DRSUAPI Unit Tests Suite"); 58 : 59 2338 : return suite; 60 : } 61 : 62 : /** 63 : * DRSUAPI torture module initialization 64 : */ 65 2338 : NTSTATUS torture_drs_init(TALLOC_CTX *ctx) 66 : { 67 125 : struct torture_suite *suite; 68 : 69 : /* register RPC related test cases */ 70 2338 : suite = torture_drs_rpc_suite(ctx, "drs.rpc"); 71 2338 : if (!suite) return NT_STATUS_NO_MEMORY; 72 2338 : torture_register_suite(ctx, suite); 73 : 74 : /* register DRS Unit test cases */ 75 2338 : suite = torture_drs_unit_suite(ctx, "drs.unit"); 76 2338 : if (!suite) return NT_STATUS_NO_MEMORY; 77 2338 : torture_register_suite(ctx, suite); 78 : 79 2338 : return NT_STATUS_OK; 80 : }