comparison http_resolver.t @ 1237:e4974af3fb12

Tests: adjusted udp ports to match allocated ports range.
author Andrey Zelenkov <zelenkov@nginx.com>
date Wed, 13 Sep 2017 19:04:25 +0300
parents 196d33c2bb45
children
comparison
equal deleted inserted replaced
1236:93f749c1d5c5 1237:e4974af3fb12
41 server { 41 server {
42 listen 127.0.0.1:8080; 42 listen 127.0.0.1:8080;
43 server_name localhost; 43 server_name localhost;
44 44
45 location / { 45 location / {
46 resolver 127.0.0.1:%%PORT_8081_UDP%%; 46 resolver 127.0.0.1:%%PORT_8981_UDP%%;
47 resolver_timeout 1s; 47 resolver_timeout 1s;
48 proxy_pass http://$host:%%PORT_8080%%/backend; 48 proxy_pass http://$host:%%PORT_8080%%/backend;
49 49
50 proxy_next_upstream http_504 timeout error; 50 proxy_next_upstream http_504 timeout error;
51 proxy_intercept_errors on; 51 proxy_intercept_errors on;
52 proxy_connect_timeout 1s; 52 proxy_connect_timeout 1s;
53 error_page 504 502 /50x; 53 error_page 504 502 /50x;
54 } 54 }
55 location /two { 55 location /two {
56 resolver 127.0.0.1:%%PORT_8081_UDP%% 127.0.0.1:%%PORT_8082_UDP%%; 56 resolver 127.0.0.1:%%PORT_8981_UDP%% 127.0.0.1:%%PORT_8982_UDP%%;
57 proxy_pass http://$host:%%PORT_8080%%/backend; 57 proxy_pass http://$host:%%PORT_8080%%/backend;
58 } 58 }
59 location /valid { 59 location /valid {
60 resolver 127.0.0.1:%%PORT_8081_UDP%% valid=5s; 60 resolver 127.0.0.1:%%PORT_8981_UDP%% valid=5s;
61 proxy_pass http://$host:%%PORT_8080%%/backend; 61 proxy_pass http://$host:%%PORT_8080%%/backend;
62 } 62 }
63 location /case { 63 location /case {
64 resolver 127.0.0.1:%%PORT_8081_UDP%%; 64 resolver 127.0.0.1:%%PORT_8981_UDP%%;
65 proxy_pass http://$http_x_name:%%PORT_8080%%/backend; 65 proxy_pass http://$http_x_name:%%PORT_8080%%/backend;
66 } 66 }
67 location /invalid { 67 location /invalid {
68 proxy_pass http://$host:%%PORT_8080%%/backend; 68 proxy_pass http://$host:%%PORT_8080%%/backend;
69 } 69 }
70 location /long { 70 location /long {
71 resolver 127.0.0.1:%%PORT_8081_UDP%%; 71 resolver 127.0.0.1:%%PORT_8981_UDP%%;
72 resolver_timeout 4s; 72 resolver_timeout 4s;
73 proxy_pass http://$host:%%PORT_8080%%/backend; 73 proxy_pass http://$host:%%PORT_8080%%/backend;
74 } 74 }
75 location /resend { 75 location /resend {
76 resolver 127.0.0.1:%%PORT_8081_UDP%%; 76 resolver 127.0.0.1:%%PORT_8981_UDP%%;
77 resolver_timeout 8s; 77 resolver_timeout 8s;
78 proxy_pass http://$host:%%PORT_8080%%/backend; 78 proxy_pass http://$host:%%PORT_8080%%/backend;
79 } 79 }
80 location /bad { 80 location /bad {
81 resolver 127.0.0.1:%%PORT_8084_UDP%%; 81 resolver 127.0.0.1:%%PORT_8984_UDP%%;
82 resolver_timeout 1s; 82 resolver_timeout 1s;
83 proxy_pass http://$host:%%PORT_8080%%/backend; 83 proxy_pass http://$host:%%PORT_8080%%/backend;
84 } 84 }
85 location /tcp { 85 location /tcp {
86 resolver 127.0.0.1:%%PORT_8083_UDP%% 127.0.0.1:%%PORT_8082_UDP%%; 86 resolver 127.0.0.1:%%PORT_8983_UDP%% 127.0.0.1:%%PORT_8982_UDP%%;
87 resolver_timeout 1s; 87 resolver_timeout 1s;
88 proxy_pass http://$host:%%PORT_8080%%/backend; 88 proxy_pass http://$host:%%PORT_8080%%/backend;
89 proxy_connect_timeout 1s; 89 proxy_connect_timeout 1s;
90 add_header X-IP $upstream_addr; 90 add_header X-IP $upstream_addr;
91 error_page 504 502 /50x; 91 error_page 504 502 /50x;
105 } 105 }
106 } 106 }
107 107
108 EOF 108 EOF
109 109
110 $t->run_daemon(\&dns_daemon, port(8081), $t); 110 $t->run_daemon(\&dns_daemon, port(8981), $t);
111 $t->run_daemon(\&dns_daemon, port(8082), $t); 111 $t->run_daemon(\&dns_daemon, port(8982), $t);
112 112
113 $t->run_daemon(\&dns_daemon, port(8083), $t, tcp => 1); 113 $t->run_daemon(\&dns_daemon, port(8983), $t, tcp => 1);
114 $t->waitforfile($t->testdir . '/' . port(8083)); 114 $t->waitforfile($t->testdir . '/' . port(8983));
115 port(8083, socket => 1)->close(); 115 port(8983, socket => 1)->close();
116 116
117 $t->run_daemon(\&dns_daemon, port(8084), $t); 117 $t->run_daemon(\&dns_daemon, port(8984), $t);
118 118
119 $t->run()->plan(38); 119 $t->run()->plan(38);
120 120
121 $t->waitforfile($t->testdir . '/' . port(8081)); 121 $t->waitforfile($t->testdir . '/' . port(8981));
122 $t->waitforfile($t->testdir . '/' . port(8082)); 122 $t->waitforfile($t->testdir . '/' . port(8982));
123 $t->waitforfile($t->testdir . '/' . port(8084)); 123 $t->waitforfile($t->testdir . '/' . port(8984));
124 124
125 ############################################################################### 125 ###############################################################################
126 126
127 my $p0 = port(8080); 127 my $p0 = port(8080);
128 128
481 } 481 }
482 482
483 push @rdata, rd_addr(0, '127.0.0.1'); 483 push @rdata, rd_addr(0, '127.0.0.1');
484 484
485 } elsif ($name eq '2.example.net') { 485 } elsif ($name eq '2.example.net') {
486 if ($port == port(8081)) { 486 if ($port == port(8981)) {
487 $state->{twocnt}++; 487 $state->{twocnt}++;
488 } 488 }
489 if ($state->{twocnt} & 1) { 489 if ($state->{twocnt} & 1) {
490 $rcode = SERVFAIL; 490 $rcode = SERVFAIL;
491 } 491 }
493 if ($type == A) { 493 if ($type == A) {
494 push @rdata, rd_addr($ttl, '127.0.0.1'); 494 push @rdata, rd_addr($ttl, '127.0.0.1');
495 } 495 }
496 496
497 } elsif ($name =~ /tcp2?.example.net/) { 497 } elsif ($name =~ /tcp2?.example.net/) {
498 $rcode = FORMERR if $port == port(8082); 498 $rcode = FORMERR if $port == port(8982);
499 $hdr |= 0x0300 unless $extra{tcp}; 499 $hdr |= 0x0300 unless $extra{tcp};
500 push @rdata, rd_addr($ttl, $extra{tcp} 500 push @rdata, rd_addr($ttl, $extra{tcp}
501 ? '127.0.0.1' : '127.0.0.201') if $type == A; 501 ? '127.0.0.1' : '127.0.0.201') if $type == A;
502 } 502 }
503 503
529 529
530 my $sel = IO::Select->new($socket); 530 my $sel = IO::Select->new($socket);
531 my $tcp = 0; 531 my $tcp = 0;
532 532
533 if ($extra{tcp}) { 533 if ($extra{tcp}) {
534 $tcp = port(8083, socket => 1); 534 $tcp = port(8983, socket => 1);
535 $sel->add($tcp); 535 $sel->add($tcp);
536 } 536 }
537 537
538 local $SIG{PIPE} = 'IGNORE'; 538 local $SIG{PIPE} = 'IGNORE';
539 539