host file reading
[scpubgit/System-Introspector.git] / t / config.t
diff --git a/t/config.t b/t/config.t
new file mode 100644 (file)
index 0000000..d88a1b5
--- /dev/null
@@ -0,0 +1,31 @@
+use strictures 1;
+use Test::More;
+use FindBin;
+
+use System::Introspector::Config;
+
+my $config = System::Introspector::Config->new(
+    config_file => "$FindBin::Bin/data/test.conf",
+);
+
+is $config->sudo_user, 'root', 'sudo user';
+is_deeply [$config->groups], [qw( stable unstable )], 'groups';
+ok $config->has_group('stable'), 'has group';
+ok !$config->has_group('none'), 'does not have group';
+is_deeply [$config->hosts], [qw( foo bar baz qux quux quuux )], 'hosts';
+is $config->user, 'introspect', 'user';
+
+is_deeply $config->config_for_group('stable'), {
+    introspect => {
+        Foo => {},
+        Bar => { sudo => 1 },
+    },
+}, 'multiple elements with one sudo';
+
+is_deeply $config->config_for_group('unstable'), {
+    introspect => {
+        Qux => { sudo => 1 },
+    },
+}, 'single element with group-wide sudo';
+
+done_testing;