summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rw-r--r--t/Test/HAProxy.pm23
-rw-r--r--t/format.t106
-rw-r--r--t/select.t43
3 files changed, 172 insertions, 0 deletions
diff --git a/t/Test/HAProxy.pm b/t/Test/HAProxy.pm
new file mode 100644
index 0000000..b5b8a19
--- /dev/null
+++ b/t/Test/HAProxy.pm
@@ -0,0 +1,23 @@
+package Test::HAProxy;
+use strict;
+use warnings;
+use parent 'Config::HAProxy';
+use File::Basename;
+use File::Temp;
+use autodie;
+
+sub new {
+ my $class = shift;
+
+ my $file = new File::Temp;
+ while (<main::DATA>) {
+ print $file $_;
+ }
+ close $file;
+ $class->SUPER::new($file->filename)->parse;
+}
+
+1;
+
+
+
diff --git a/t/format.t b/t/format.t
new file mode 100644
index 0000000..06b9884
--- /dev/null
+++ b/t/format.t
@@ -0,0 +1,106 @@
+# -*- perl -*-
+use lib qw(t lib);
+use strict;
+use warnings;
+use Test::More;
+use autodie;
+
+BEGIN {
+ plan tests => 6;
+ use_ok('Test::HAProxy');
+}
+
+my $hp = new Test::HAProxy;
+isa_ok($hp,'Test::HAProxy');
+
+my $s;
+open(my $fh, '>', \$s);
+$hp->write($fh);
+close $fh;
+
+is($s, q{global
+# comment
+ log /dev/log daemon
+ user haproxy
+ group haproxy
+defaults
+ log global
+ mode http
+frontend in
+ mode http
+ bind :::80 v4v6
+backend out
+ server localhost http://127.0.0.1
+}, 'default write');
+
+open($fh, '>', \$s);
+$hp->write($fh, indent => 2);
+close $fh;
+
+is($s, q{global
+# comment
+ log /dev/log daemon
+ user haproxy
+ group haproxy
+defaults
+ log global
+ mode http
+frontend in
+ mode http
+ bind :::80 v4v6
+backend out
+ server localhost http://127.0.0.1
+}, 'reindent');
+
+open($fh, '>', \$s);
+$hp->write($fh, indent => 2, reindent_comments => 1);
+close $fh;
+
+is($s, q{global
+ # comment
+ log /dev/log daemon
+ user haproxy
+ group haproxy
+defaults
+ log global
+ mode http
+frontend in
+ mode http
+ bind :::80 v4v6
+backend out
+ server localhost http://127.0.0.1
+}, 'reindent comments');
+
+open($fh, '>', \$s);
+$hp->write($fh, indent => 4, tabstop => [ 10, 24 ]);
+close $fh;
+
+is($s, q{global
+# comment
+ log /dev/log daemon
+ user haproxy
+ group haproxy
+defaults
+ log global
+ mode http
+frontend in
+ mode http
+ bind :::80 v4v6
+backend out
+ server localhost http://127.0.0.1
+}, 'tabstops');
+
+__DATA__
+global
+# comment
+ log /dev/log daemon
+ user haproxy
+ group haproxy
+defaults
+ log global
+ mode http
+frontend in
+ mode http
+ bind :::80 v4v6
+backend out
+ server localhost http://127.0.0.1
diff --git a/t/select.t b/t/select.t
new file mode 100644
index 0000000..0be1c9c
--- /dev/null
+++ b/t/select.t
@@ -0,0 +1,43 @@
+# -*- perl -*-
+use lib qw(t lib);
+use strict;
+use warnings;
+use Test::More;
+use autodie;
+
+BEGIN {
+ plan tests => 4;
+ use_ok('Test::HAProxy');
+}
+
+my $hp = new Test::HAProxy;
+isa_ok($hp,'Test::HAProxy');
+
+is(join(',', map { $_->arg(0) } $hp->select ( name => 'frontend' )),
+ 'in,ins',
+ 'simple select');
+
+is(join(',', map { $_->arg(0) } $hp->select ( name => 'frontend',
+ arg => { n => 0, v => 'in' } )),
+ 'in',
+ 'complex select');
+
+
+__DATA__
+global
+ log /dev/log daemon
+ user haproxy
+ group haproxy
+defaults
+ log global
+ mode http
+frontend in
+ mode http
+ bind :::80 v4v6
+backend out
+ server localhost http://127.0.0.1
+frontend ins
+ mode https
+ bind :::443 v4v6
+
+

Return to:

Send suggestions and report system problems to the System administrator.