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