comparison proxy_protocol_port.t @ 959:508ee7ea9706

Tests: avoid unexpected substring match in proxy_protocol_port.t. The client's ephemeral port number could be a string superset of the $proxy_protocol_port variable testing value.
author Sergey Kandaurov <pluknet@nginx.com>
date Fri, 24 Jun 2016 13:22:22 +0300
parents e9064d691790
children 4993ece8620e
comparison
equal deleted inserted replaced
958:0a87d9bcfb26 959:508ee7ea9706
66 $t->write_file('t', 'SEE-THIS'); 66 $t->write_file('t', 'SEE-THIS');
67 $t->try_run('no proxy_protocol_port')->plan(8); 67 $t->try_run('no proxy_protocol_port')->plan(8);
68 68
69 ############################################################################### 69 ###############################################################################
70 70
71 my $tcp4 = 'PROXY TCP4 192.0.2.1 192.0.2.2 1234 5678' . CRLF; 71 my $tcp4 = 'PROXY TCP4 192.0.2.1 192.0.2.2 12345 5678' . CRLF;
72 my $tcp6 = 'PROXY TCP6 2001:Db8::1 2001:Db8::2 1234 5678' . CRLF; 72 my $tcp6 = 'PROXY TCP6 2001:Db8::1 2001:Db8::2 12345 5678' . CRLF;
73 my $unk = 'PROXY UNKNOWN 1 2 3 4 5 6' . CRLF; 73 my $unk = 'PROXY UNKNOWN 1 2 3 4 5 6' . CRLF;
74 74
75 # realip 75 # realip
76 76
77 like(pp_get('/pp', $tcp4), qr/X-PP-Port: 1234/, 'pp port tcp4'); 77 like(pp_get('/pp', $tcp4), qr/X-PP-Port: 12345/, 'pp port tcp4');
78 like(pp_get('/pp', $tcp6), qr/X-PP-Port: 1234/, 'pp port tcp6'); 78 like(pp_get('/pp', $tcp6), qr/X-PP-Port: 12345/, 'pp port tcp6');
79 unlike(pp_get('/pp', $unk), qr/X-PP-Port/, 'pp port unknown'); 79 unlike(pp_get('/pp', $unk), qr/X-PP-Port/, 'pp port unknown');
80 80
81 # remote_port 81 # remote_port
82 82
83 like(pp_get('/pp/real', $tcp4), qr/X-Remote-Port: 1234/, 'remote port tcp4'); 83 like(pp_get('/pp/real', $tcp4), qr/X-Remote-Port: 12345/, 'remote port tcp4');
84 unlike(pp_get('/pp', $tcp4), qr/X-Remote-Port: 1234/, 'no remote port tcp4'); 84 unlike(pp_get('/pp', $tcp4), qr/X-Remote-Port: 12345/, 'no remote port tcp4');
85 like(pp_get('/pp/real', $tcp6), qr/X-Remote-Port: 1234/, 'remote port tcp6'); 85 like(pp_get('/pp/real', $tcp6), qr/X-Remote-Port: 12345/, 'remote port tcp6');
86 unlike(pp_get('/pp', $tcp6), qr/X-Remote-Port: 1234/, 'no remote port tcp6'); 86 unlike(pp_get('/pp', $tcp6), qr/X-Remote-Port: 12345/, 'no remote port tcp6');
87 87
88 # log 88 # log
89 89
90 pp_get('/log', $tcp4); 90 pp_get('/log', $tcp4);
91 91
92 $t->stop(); 92 $t->stop();
93 93
94 my $log = $t->read_file('/port.log'); 94 my $log = $t->read_file('/port.log');
95 chomp $log; 95 chomp $log;
96 96
97 is($log, 1234, 'pp port log'); 97 is($log, 12345, 'pp port log');
98 98
99 ############################################################################### 99 ###############################################################################
100 100
101 sub pp_get { 101 sub pp_get {
102 my ($url, $proxy) = @_; 102 my ($url, $proxy) = @_;