diff stream_access.t @ 816:77359b849cd5

Tests: stream package.
author Andrey Zelenkov <zelenkov@nginx.com>
date Mon, 20 Jul 2015 15:06:09 +0300
parents 22b06c04b37f
children f4189a38c3a4
line wrap: on
line diff
--- a/stream_access.t
+++ b/stream_access.t
@@ -12,12 +12,11 @@ use strict;
 
 use Test::More;
 
-use IO::Select;
-
 BEGIN { use FindBin; chdir($FindBin::Bin); }
 
 use lib 'lib';
 use Test::Nginx;
+use Test::Nginx::Stream qw/ stream /;
 
 ###############################################################################
 
@@ -159,97 +158,39 @@ my $str = 'SEE-THIS';
 
 # allow all
 
-is(stream_get($str, '127.0.0.1:8081'), $str, 'inet allow all');
-is(stream_get($str, '127.0.0.1:8082'), $str, 'inet6 allow all');
-is(stream_get($str, '127.0.0.1:8083'), $str, 'unix allow all');
+is(stream('127.0.0.1:8081')->io($str), $str, 'inet allow all');
+is(stream('127.0.0.1:8082')->io($str), $str, 'inet6 allow all');
+is(stream('127.0.0.1:8083')->io($str), $str, 'unix allow all');
 
 # deny all
 
-is(stream_get($str, '127.0.0.1:8084'), '', 'inet deny all');
-is(stream_get($str, '127.0.0.1:8085'), '', 'inet6 deny all');
-is(stream_get($str, '127.0.0.1:8086'), '', 'unix deny all');
+is(stream('127.0.0.1:8084')->io($str), '', 'inet deny all');
+is(stream('127.0.0.1:8085')->io($str), '', 'inet6 deny all');
+is(stream('127.0.0.1:8086')->io($str), '', 'unix deny all');
 
 # allow unix
 
-is(stream_get($str, '127.0.0.1:8087'), $str, 'inet allow unix');
-is(stream_get($str, '127.0.0.1:8088'), $str, 'inet6 allow unix');
-is(stream_get($str, '127.0.0.1:8089'), $str, 'unix allow unix');
+is(stream('127.0.0.1:8087')->io($str), $str, 'inet allow unix');
+is(stream('127.0.0.1:8088')->io($str), $str, 'inet6 allow unix');
+is(stream('127.0.0.1:8089')->io($str), $str, 'unix allow unix');
 
 # deny inet
 
-is(stream_get($str, '127.0.0.1:8090'), '', 'inet deny inet');
-is(stream_get($str, '127.0.0.1:8091'), $str, 'inet6 deny inet');
-is(stream_get($str, '127.0.0.1:8092'), $str, 'unix deny inet');
+is(stream('127.0.0.1:8090')->io($str), '', 'inet deny inet');
+is(stream('127.0.0.1:8091')->io($str), $str, 'inet6 deny inet');
+is(stream('127.0.0.1:8092')->io($str), $str, 'unix deny inet');
 
 # deny inet6
 
-is(stream_get($str, '127.0.0.1:8093'), $str, 'inet deny inet6');
-is(stream_get($str, '127.0.0.1:8094'), '', 'inet6 deny inet6');
-is(stream_get($str, '127.0.0.1:8095'), $str, 'unix deny inet6');
+is(stream('127.0.0.1:8093')->io($str), $str, 'inet deny inet6');
+is(stream('127.0.0.1:8094')->io($str), '', 'inet6 deny inet6');
+is(stream('127.0.0.1:8095')->io($str), $str, 'unix deny inet6');
 
 # deny unix
 
-is(stream_get($str, '127.0.0.1:8096'), $str, 'inet deny unix');
-is(stream_get($str, '127.0.0.1:8097'), $str, 'inet6 deny unix');
-is(stream_get($str, '127.0.0.1:8098'), '', 'unix deny unix');
-
-###############################################################################
-
-sub stream_get {
-	my ($data, $peer) = @_;
-
-	my $s = stream_connect($peer);
-	stream_write($s, $data);
-
-	$data = '';
-	while (my $buf = stream_read($s)) {
-		$data .= $buf;
-	}
-
-	return $data;
-}
-
-sub stream_connect {
-	my $peer = shift;
-	my $s = IO::Socket::INET->new(
-		Proto => 'tcp',
-		PeerAddr => $peer || '127.0.0.1:8080'
-	)
-		or die "Can't connect to nginx: $!\n";
-
-	return $s;
-}
-
-sub stream_write {
-	my ($s, $message) = @_;
-
-	local $SIG{PIPE} = 'IGNORE';
-
-	$s->blocking(0);
-	while (IO::Select->new($s)->can_write(1.5)) {
-		my $n = $s->syswrite($message);
-		last unless $n;
-		$message = substr($message, $n);
-		last unless length $message;
-	}
-
-	if (length $message) {
-		$s->close();
-	}
-}
-
-sub stream_read {
-	my ($s) = @_;
-	my ($buf);
-
-	$s->blocking(0);
-	if (IO::Select->new($s)->can_read(5)) {
-		$s->sysread($buf, 1024);
-	};
-
-	log_in($buf);
-	return $buf;
-}
+is(stream('127.0.0.1:8096')->io($str), $str, 'inet deny unix');
+is(stream('127.0.0.1:8097')->io($str), $str, 'inet6 deny unix');
+is(stream('127.0.0.1:8098')->io($str), '', 'unix deny unix');
 
 ###############################################################################