]> source.dussan.org Git - rspamd.git/commitdiff
Add streamline HTTP test (failing for now).
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 2 Jul 2015 17:54:16 +0000 (18:54 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 2 Jul 2015 17:54:16 +0000 (18:54 +0100)
test/functional/cases/http_streamline.pl [new file with mode: 0644]
test/functional/test_helper.bash
test/functional/tests.bats

diff --git a/test/functional/cases/http_streamline.pl b/test/functional/cases/http_streamline.pl
new file mode 100644 (file)
index 0000000..e5afc5a
--- /dev/null
@@ -0,0 +1,35 @@
+#!/usr/bin/env perl
+
+use warnings;
+use strict;
+
+use Socket;
+
+my $host = "127.0.0.1";
+my $port = 56789;
+my $input = shift;
+
+open(INPUT, "< $input") or die "Can't open input file $input\n";
+
+socket(SOCKET,PF_INET,SOCK_STREAM,(getprotobyname('tcp'))[2])
+   or die "Can't create a socket $!\n";
+connect(SOCKET, pack_sockaddr_in($port, inet_aton($host)))
+   or die "Can't connect to port $port! \n";
+
+print SOCKET "POST /symbols HTTP/1.0\r\n\r\n";
+
+while (my $line = <INPUT>) {
+       print SOCKET $line;
+}
+
+SOCKET->autoflush(1);
+
+shutdown(SOCKET, 1);
+
+close(INPUT);
+
+while (my $line = <SOCKET>) {
+       print $line;
+}
+
+close(SOCKET);
index 6753c0de3514c0279f172c73a59f41a58f64ccf7..bccacf057bb8ec250134cd302775ea389776b12b 100644 (file)
@@ -1,7 +1,7 @@
 function run_rspamd() {
        RSPAMD_USER=${RSPAMD_USER:-"nobody"}
        RSPAMD_GROUP=${RSPAMD_GROUP:-"nogroup"}
-       RSPAMD=${RSPAMD:-"../src/rspamd"}
+       RSPAMD=${RSPAMD:-"$BATS_TEST_DIRNAME/../../src/rspamd"}
        
        ${RSPAMD} -c ${RSPAMD_CONFIG} -u ${RSPAMD_USER} -g ${RSPAMD_GROUP}
 }
index d366a367b6b2087d83a1427bb5ef4f48314f58aa..73811f2d5e89446adc50224aba3b68f281011b81 100644 (file)
@@ -9,5 +9,14 @@ RSPAMC="$BATS_TEST_DIRNAME/../../src/client/rspamc"
                "$BATS_TEST_DIRNAME/messages/gtube.eml"
        [ "$status" -eq 0 ]
        
+       echo $output | grep 'Action: reject'
+}
+
+@test "Test rspamd streamlined gtube" {
+       export RSPAMD_CONFIG="$BATS_TEST_DIRNAME/configs/trivial.conf"
+       run_rspamd
+       run perl $BATS_TEST_DIRNAME/cases/http_streamline.pl "$BATS_TEST_DIRNAME/messages/gtube.eml"
+       [ "$status" -eq 0 ]
+       
        echo $output | grep 'Action: reject'
 }
\ No newline at end of file