Added new tests to the test suite to validate the --save-rc-stanza command line argument.
authorFranck Joncourt <franck@debian.org>
Mon, 6 May 2013 09:49:16 +0000 (11:49 +0200)
committerFranck Joncourt <franck@debian.org>
Mon, 6 May 2013 09:49:16 +0000 (11:49 +0200)
test/test-fwknop.pl
test/tests/basic_operations.pl

index 16fba90..29e28db 100755 (executable)
@@ -396,7 +396,7 @@ our $client_rewrite_rc_args = "$default_client_args_no_get_key " .
     "--rc-file $rewrite_rc_file --test";
 
 our $client_save_rc_args = "$default_client_args_no_get_key " .
-    "--rc-file $save_rc_file --save-rc-stanza --test";
+    "--rc-file $save_rc_file --save-rc-stanza --force-stanza --test";
 
 our $default_client_hmac_args = "$default_client_args_no_get_key " .
     "--rc-file $cf{'rc_hmac_b64_key'}";
index 5e2d4d6..2b287a3 100644 (file)
         'positive_output_matches' => [qr/Digest\sType\:\s.*SHA512/],
         'fatal'    => $NO
     },
+    ### rc tests: spa server proto
     {
         'category' => 'basic operations',
         'subcategory' => 'client rc file',
         'positive_output_matches' => [qr/protocol:\sicmp/],
         'fatal'    => $NO
     },
+    ### rc tests: spa server port
     {
         'category' => 'basic operations',
         'subcategory' => 'client rc file',
         'positive_output_matches' => [qr/destination\sport:\s22/],
         'fatal'    => $NO
     },
+    ### rc tests: spa source port
     {
         'category' => 'basic operations',
         'subcategory' => 'client rc file',
         'positive_output_matches' => [qr/source\sport:\s22/],
         'fatal'    => $NO
     },
+    ### rc tests: firewall timeout
     {
         'category' => 'basic operations',
         'subcategory' => 'client rc file',
         'positive_output_matches' => [qr/Client\sTimeout:\s1234/],
         'fatal'    => $NO
     },
-
-    ### rc file saving --save-rc-stanza
-    {
-        'category' => 'basic operations',
-        'subcategory' => 'client save rc file',
-        'detail'   => 'HMAC digest MD5',
-        'function' => \&client_rc_file,
-        'cmdline'  => "$client_save_rc_args -n default --hmac-digest-type MD5",
-        'save_rc_stanza' => [{'name' => 'default',
-                'vars' => {'KEY' => 'testtest', 'HMAC_KEY' => 'hmactest',
-                    'HMAC_DIGEST_TYPE' => 'MD5'}}],
-        'positive_output_matches' => [qr/HMAC\sType\:\s.*MD5/],
-        'fatal'    => $NO
-    },
-
     ### rc tests: hmac digest
     {
         'category' => 'basic operations',
         'positive_output_matches' => [qr/HMAC\sType\:\s.*SHA512/],
         'fatal'    => $NO
     },
+    ### rc file saving --save-rc-stanza
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'digest MD5',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --digest-type MD5",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'DIGEST_TYPE' => 'SHA1'}}],
+        'positive_output_matches' => [qr/Digest\sType\:\s.*MD5/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'digest SHA1',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --digest-type SHA1",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'DIGEST_TYPE' => 'MD5'}}],
+        'positive_output_matches' => [qr/Digest\sType\:\s.*SHA1/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'digest SHA256',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --digest-type SHA256",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'DIGEST_TYPE' => 'MD5'}}],
+        'positive_output_matches' => [qr/Digest\sType\:\s.*SHA256/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'digest SHA384',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --digest-type SHA384",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'DIGEST_TYPE' => 'MD5'}}],
+        'positive_output_matches' => [qr/Digest\sType\:\s.*SHA384/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'digest SHA512',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --digest-type SHA512",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'DIGEST_TYPE' => 'MD5'}}],
+        'positive_output_matches' => [qr/Digest\sType\:\s.*SHA512/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'HMAC digest MD5',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --hmac-digest-type MD5",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'HMAC_KEY' => 'hmactest',
+                    'HMAC_DIGEST_TYPE' => 'SHA1'}}],
+        'positive_output_matches' => [qr/HMAC\sType\:\s.*MD5/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'HMAC digest SHA1',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --hmac-digest-type SHA1",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'HMAC_KEY' => 'hmactest',
+                    'HMAC_DIGEST_TYPE' => 'MD5'}}],
+        'positive_output_matches' => [qr/HMAC\sType\:\s.*SHA1/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'HMAC digest SHA256',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --hmac-digest-type SHA256",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'HMAC_KEY' => 'hmactest',
+                    'HMAC_DIGEST_TYPE' => 'MD5'}}],
+        'positive_output_matches' => [qr/HMAC\sType\:\s.*SHA256/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'HMAC digest SHA384',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --hmac-digest-type SHA384",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'HMAC_KEY' => 'hmactest',
+                    'HMAC_DIGEST_TYPE' => 'MD5'}}],
+        'positive_output_matches' => [qr/HMAC\sType\:\s.*SHA384/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'HMAC digest SHA512',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --hmac-digest-type SHA512",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'HMAC_KEY' => 'hmactest',
+                    'HMAC_DIGEST_TYPE' => 'MD5'}}],
+        'positive_output_matches' => [qr/HMAC\sType\:\s.*SHA512/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'spa server proto UDP',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --server-proto UDP",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'SPA_SERVER_PROTO' => 'TCP'}}],
+        'positive_output_matches' => [qr/protocol:\sudp/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'spa server proto TCP',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --server-proto TCP",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'SPA_SERVER_PROTO' => 'UDP'}}],
+        'positive_output_matches' => [qr/protocol:\stcp/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'spa server proto HTTP',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --server-proto HTTP",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'SPA_SERVER_PROTO' => 'UDP'}}],
+        'positive_output_matches' => [qr/protocol:\shttp/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'spa server proto TCPRAW',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --server-proto TCPRAW",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'SPA_SERVER_PROTO' => 'UDP'}}],
+        'positive_output_matches' => [qr/protocol:\stcpraw/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'spa server proto ICMP',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --server-proto ICMP",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'SPA_SERVER_PROTO' => 'UDP'}}],
+        'positive_output_matches' => [qr/protocol:\sicmp/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'spa source port 65421',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --source-port 65421",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'SPA_SOURCE_PORT' => '65531'}}],
+        'positive_output_matches' => [qr/source\sport:\s65421/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'spa destination port 65421',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --server-port 65421",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'SPA_SERVER_PORT' => '65531'}}],
+        'positive_output_matches' => [qr/destination\sport:\s65421/],
+        'fatal'    => $NO
+    },
+    {
+        'category' => 'basic operations',
+        'subcategory' => 'client save rc file',
+        'detail'   => 'firewall timeout 1234s',
+        'function' => \&client_rc_file,
+        'cmdline'  => "$client_save_rc_args -n default --fw-timeout 1234",
+        'save_rc_stanza' => [{'name' => 'default',
+                'vars' => {'KEY' => 'testtest', 'FW_TIMEOUT' => '30'}}],
+        'positive_output_matches' => [qr/Client\sTimeout:\s1234/],
+        'fatal'    => $NO
+    },
 
     {
         'category' => 'basic operations',