]> git.proxmox.com Git - pmg-api.git/blob - tests/print_testdb.pl
bump version to 5.1-4
[pmg-api.git] / tests / print_testdb.pl
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5 use DBI;
6 use lib '..';
7
8 use PVE::SafeSyslog;
9
10 use PMG::DBTools;
11 use PMG::RuleDB;
12
13 initlog($0, 'mail');
14
15 my $dbh = PMG::DBTools::open_ruledb("Proxmox_testdb");
16 my $ruledb = PMG::RuleDB->new($dbh);
17
18 # print settings
19
20 sub print_objects {
21 my ($og) = @_;
22
23 my $objects = $ruledb->load_group_objects($og->{id});
24
25 foreach my $obj (@$objects) {
26 my $desc = $obj->short_desc();
27 print " OBJECT $obj->{id}: $desc\n";
28 }
29 }
30
31 sub print_rule {
32 my $rule = shift;
33
34 print "Found RULE $rule->{id}: $rule->{name}\n";
35
36 my ($from, $to, $when, $what, $action) =
37 $ruledb->load_groups($rule);
38
39 foreach my $og (@$from) {
40 print " FOUND FROM GROUP $og->{id}: $og->{name}\n";
41 print_objects($og);
42 }
43 foreach my $og (@$to) {
44 print " FOUND TO GROUP $og->{id}: $og->{name}\n";
45 print_objects($og);
46 }
47 foreach my $og (@$when) {
48 print " FOUND WHEN GROUP $og->{id}: $og->{name}\n";
49 print_objects($og);
50 }
51 foreach my $og (@$what) {
52 print " FOUND WHAT GROUP $og->{id}: $og->{name}\n";
53 print_objects($og);
54 }
55 foreach my $og (@$action) {
56 print " FOUND ACTION GROUP $og->{id}: $og->{name}\n";
57 print_objects($og);
58 }
59 }
60
61 my $rules = $ruledb->load_rules();
62
63 foreach my $rule (@$rules) {
64 print_rule $rule;
65 }
66
67
68 $ruledb->close();
69
70 exit (0);