tests/net.min
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
'test load 'test import "net" describe {} socket :srv1 {} socket :srv2 {} socket :cli1 {} socket :cli2 {} socket "httpbin.org" 80 connect @cli1 "min v$1" (version) => % :user-agent "GET /user-agent HTTP/1.1\r\nHost: httpbin.org\r\nUser-Agent: $1\r\n\r\n" (user-agent) => % :req "" :response cli1 req send cli1 recv-line :line (response line) => "\n" join @response (line "\}" match not) ( cli1 recv-line @line (response line) => "\n" join @response ) while ;HTTP/1.1 200 OK ;Connection: keep-alive ;Server: meinheld/0.6.1 ;Date: Sun, 19 Nov 2017 13:37:15 GMT ;Content-Type: application/json ;Access-Control-Allow-Origin: * ;Access-Control-Allow-Credentials: true ;X-Powered-By: Flask ;X-Processed-Time: 0.00111794471741 ;Content-Length: 34 ;Via: 1.1 vegur ; ;{"user-agent": "min v0.16.0"} (response "\n\n" split 1 get from-json /user-agent user-agent ==) assert (srv1 srv2 ==) assert (cli1 cli2 !=) assert report clear-stack srv1 close srv2 close cli1 close cli2 close |