changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/lib/net/tests.lisp

changeset 698: 96958d3eb5b0
parent: 7ce855f76e1d
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 04 Oct 2024 22:04:59 -0400
permissions: -rw-r--r--
description: fixes
105
524dfb768c7a added PWN, NET, OBJ/URI
ellis <ellis@rwest.io>
parents:
diff changeset
1
 (defpackage :net/tests
586
7ce855f76e1d net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents: 532
diff changeset
2
   (:use :rt :std :cl :net :sb-concurrency :sb-thread :dat/proto :sb-bsd-sockets))
105
524dfb768c7a added PWN, NET, OBJ/URI
ellis <ellis@rwest.io>
parents:
diff changeset
3
 
524dfb768c7a added PWN, NET, OBJ/URI
ellis <ellis@rwest.io>
parents:
diff changeset
4
 (in-package :net/tests)
524dfb768c7a added PWN, NET, OBJ/URI
ellis <ellis@rwest.io>
parents:
diff changeset
5
 
524dfb768c7a added PWN, NET, OBJ/URI
ellis <ellis@rwest.io>
parents:
diff changeset
6
 (defsuite :net)
524dfb768c7a added PWN, NET, OBJ/URI
ellis <ellis@rwest.io>
parents:
diff changeset
7
 (in-suite :net)
358
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
8
 (in-readtable :std)
435
849bbe48e32d added dat/mime, removed sans-io
Richard Westhaver <ellis@rwest.io>
parents: 381
diff changeset
9
 
162
cc74c0054bc1 prelude
ellis <ellis@rwest.io>
parents: 105
diff changeset
10
 (deftest sanity ())
cc74c0054bc1 prelude
ellis <ellis@rwest.io>
parents: 105
diff changeset
11
 
532
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
12
 (deftest dns ()
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
13
   (is (stringp (resolve "compiler.company"))))
105
524dfb768c7a added PWN, NET, OBJ/URI
ellis <ellis@rwest.io>
parents:
diff changeset
14
 
381
386d51cf61ca add ffi/readline, net updates
Richard Westhaver <ellis@rwest.io>
parents: 364
diff changeset
15
 (deftest tcp ()
386d51cf61ca add ffi/readline, net updates
Richard Westhaver <ellis@rwest.io>
parents: 364
diff changeset
16
   (with-tcp-client (client)
586
7ce855f76e1d net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents: 532
diff changeset
17
     (is (typep client 'sb-bsd-sockets:inet-socket))
7ce855f76e1d net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents: 532
diff changeset
18
     (is (= (get-protocol-by-name :tcp)
7ce855f76e1d net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents: 532
diff changeset
19
            (socket-protocol client)))))
105
524dfb768c7a added PWN, NET, OBJ/URI
ellis <ellis@rwest.io>
parents:
diff changeset
20
 
381
386d51cf61ca add ffi/readline, net updates
Richard Westhaver <ellis@rwest.io>
parents: 364
diff changeset
21
 (deftest udp ()
386d51cf61ca add ffi/readline, net updates
Richard Westhaver <ellis@rwest.io>
parents: 364
diff changeset
22
   (with-udp-client (client)
586
7ce855f76e1d net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents: 532
diff changeset
23
     (is (typep client 'sb-bsd-sockets:inet-socket))
7ce855f76e1d net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents: 532
diff changeset
24
     (is (= (get-protocol-by-name :udp)
7ce855f76e1d net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents: 532
diff changeset
25
            (socket-protocol client)))))
105
524dfb768c7a added PWN, NET, OBJ/URI
ellis <ellis@rwest.io>
parents:
diff changeset
26
 
381
386d51cf61ca add ffi/readline, net updates
Richard Westhaver <ellis@rwest.io>
parents: 364
diff changeset
27
 (deftest tlv ()
386d51cf61ca add ffi/readline, net updates
Richard Westhaver <ellis@rwest.io>
parents: 364
diff changeset
28
   (is (= 4 (length (serialize (make-instance 'tlv :type 0 :length 1 :value #(1)) :bytes)))))
105
524dfb768c7a added PWN, NET, OBJ/URI
ellis <ellis@rwest.io>
parents:
diff changeset
29
 
524dfb768c7a added PWN, NET, OBJ/URI
ellis <ellis@rwest.io>
parents:
diff changeset
30
 (deftest osc ())
524dfb768c7a added PWN, NET, OBJ/URI
ellis <ellis@rwest.io>
parents:
diff changeset
31
 
358
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
32
 (deftest http ()
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
33
   (let ((req (make-http-request))
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
34
       (cb (make-callbacks)))
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
35
   (parse-request
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
36
    req cb
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
37
    (sb-ext:string-to-octets #"GET /cookies HTTP/1.1
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
38
 Host: 127.0.0.1:8080
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
39
 Connection: keep-alive
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
40
 Cache-Control: max-age=0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
41
 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
42
 Accept-Encoding: gzip,deflate,sdch
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
43
 Accept-Language: en-US,en;q=0.8
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
44
 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
45
 Cookie: name=wookie
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
46
 
ee8a3a0c57b8 add smart-buffer, finish porting of FAST-HTTP
Richard Westhaver <ellis@rwest.io>
parents: 230
diff changeset
47
 "#))
364
76c4c4c4a7c1 big rt fix
Richard Westhaver <ellis@rwest.io>
parents: 358
diff changeset
48
     (is cb)
76c4c4c4a7c1 big rt fix
Richard Westhaver <ellis@rwest.io>
parents: 358
diff changeset
49
     (is req)))
381
386d51cf61ca add ffi/readline, net updates
Richard Westhaver <ellis@rwest.io>
parents: 364
diff changeset
50
 
532
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
51
 (deftest req ()
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
52
   (is (req:get (uri:uri "https://compiler.company/index.html"))))
381
386d51cf61ca add ffi/readline, net updates
Richard Westhaver <ellis@rwest.io>
parents: 364
diff changeset
53
 
532
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
54
 (deftest fetch ()
586
7ce855f76e1d net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents: 532
diff changeset
55
   (is (fetch:download "https://compiler.company/index.html" :output "/tmp/index.html" :progress t))
532
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
56
   (is (delete-file "/tmp/index.html")))
381
386d51cf61ca add ffi/readline, net updates
Richard Westhaver <ellis@rwest.io>
parents: 364
diff changeset
57
 
532
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
58
 (deftest cookies ()
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
59
   (let ((cookies (net/cookie:make-cookie-jar))
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
60
         (cookie (net/cookie:make-cookie)))
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
61
     (net/cookie:merge-cookies cookies #(cookie))
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
62
     (is (= 1 (length (net/cookie:cookie-jar-cookies cookies))))
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
63
     (is (net/cookie:cookie= cookie (net/cookie:make-cookie)))
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
64
     (is (stringp (net/cookie:write-cookie-header (list cookie))))))
465
c0fc6b87557f messing around
Richard Westhaver <ellis@rwest.io>
parents: 437
diff changeset
65
 
532
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
66
 
f6a340b92274 tests and fixes, added sbcl tools
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
67
 (deftest srv ()
586
7ce855f76e1d net/fetch upgrades, fixes, net/err -> net/condition
Richard Westhaver <ellis@rwest.io>
parents: 532
diff changeset
68
   (is (pathnamep (default-web-directory))))