Fix tests by providing a fake req
This commit is contained in:
		
							parent
							
								
									9afccbb9cd
								
							
						
					
					
						commit
						50a3bc819a
					
				
					 5 changed files with 24 additions and 7 deletions
				
			
		|  | @ -1,6 +1,7 @@ | |||
| #lang racket/base | ||||
| (require racket/file | ||||
|          racket/list | ||||
|          racket/runtime-path | ||||
|          racket/string | ||||
|          json | ||||
|          (prefix-in easy: net/http-easy) | ||||
|  | @ -29,17 +30,19 @@ | |||
| 
 | ||||
| (module+ test | ||||
|   (require rackunit | ||||
|            html-writing)) | ||||
|            html-writing | ||||
|            "test-utils.rkt")) | ||||
| 
 | ||||
| (define always-headers | ||||
|   (list (header #"Referrer-Policy" #"same-origin") ; header to not send referers to fandom | ||||
|         (header #"Link" (string->bytes/latin-1 link-header)))) | ||||
| (define timeouts (easy:make-timeout-config #:lease 5 #:connect 5)) | ||||
| 
 | ||||
| (define-runtime-path path-static "../static") | ||||
| (define theme-icons | ||||
|   (for/hasheq ([theme '(default light dark)]) | ||||
|     (values theme | ||||
|             (html->xexp (file->string (format "static/icon-theme-~a.svg" theme) #:mode 'binary))))) | ||||
|             (html->xexp (file->string (build-path path-static (format "icon-theme-~a.svg" theme)) #:mode 'binary))))) | ||||
| 
 | ||||
| (define (application-footer source-url #:license [license-in #f]) | ||||
|   (define license (or license-in license-default)) | ||||
|  | @ -190,6 +193,7 @@ | |||
|     (parameterize ([(config-parameter 'strict_proxy) "true"]) | ||||
|       (generate-wiki-page | ||||
|        '(template) | ||||
|        #:req test-req | ||||
|        #:source-url "" | ||||
|        #:title "test" | ||||
|        #:wikiname "test"))) | ||||
|  |  | |||
|  | @ -24,7 +24,8 @@ | |||
|  page-category) | ||||
| 
 | ||||
| (module+ test | ||||
|   (require rackunit) | ||||
|   (require rackunit | ||||
|            "test-utils.rkt") | ||||
|   (define category-json-data | ||||
|     '#hasheq((batchcomplete . #t) (continue . #hasheq((cmcontinue . "page|4150504c45|41473") (continue . "-||"))) (query . #hasheq((categorymembers . (#hasheq((ns . 0) (pageid . 25049) (title . "Item (entity)")) #hasheq((ns . 0) (pageid . 128911) (title . "3D")) #hasheq((ns . 0) (pageid . 124018) (title . "A Very Fine Item")) #hasheq((ns . 0) (pageid . 142208) (title . "Amethyst Shard")) #hasheq((ns . 0) (pageid . 121612) (title . "Ankle Monitor"))))))))) | ||||
| 
 | ||||
|  | @ -119,6 +120,7 @@ | |||
| (module+ test | ||||
|   (check-not-false ((query-selector (attribute-selector 'href "/test/wiki/Ankle_Monitor") | ||||
|                                     (generate-results-page | ||||
|                                      #:req test-req | ||||
|                                      #:source-url "" | ||||
|                                      #:wikiname "test" | ||||
|                                      #:title "Category:Items" | ||||
|  |  | |||
|  | @ -23,7 +23,8 @@ | |||
| (provide page-file) | ||||
| 
 | ||||
| (module+ test | ||||
|   (require rackunit) | ||||
|   (require rackunit | ||||
|            "test-utils.rkt") | ||||
|   (define test-media-detail | ||||
|     '#hasheq((fileTitle . "Example file") | ||||
|              (videoEmbedCode . "") | ||||
|  | @ -162,7 +163,8 @@ | |||
|     (check-not-false | ||||
|      ((query-selector | ||||
|        (attribute-selector 'src "/proxy?dest=https%3A%2F%2Fstatic.wikia.nocookie.net%2Fexamplefile") | ||||
|        (generate-results-page #:source-url "" | ||||
|        (generate-results-page #:req test-req | ||||
|                               #:source-url "" | ||||
|                               #:wikiname "test" | ||||
|                               #:title "File:Example file" | ||||
|                               #:media-detail test-media-detail | ||||
|  |  | |||
|  | @ -21,7 +21,8 @@ | |||
|  page-search) | ||||
| 
 | ||||
| (module+ test | ||||
|   (require rackunit) | ||||
|   (require rackunit | ||||
|            "test-utils.rkt") | ||||
|   (define search-json-data | ||||
|     '#hasheq((batchcomplete . #t) (query . #hasheq((search . (#hasheq((ns . 0) (pageid . 219) (size . 1482) (snippet . "") (timestamp . "2022-08-21T08:54:23Z") (title . "Gacha Capsule") (wordcount . 214)) #hasheq((ns . 0) (pageid . 201) (size . 1198) (snippet . "") (timestamp . "2022-07-11T17:52:47Z") (title . "Badges") (wordcount . 181))))))))) | ||||
| 
 | ||||
|  | @ -87,4 +88,4 @@ | |||
|        (write-html body out)))))) | ||||
| (module+ test | ||||
|   (check-not-false ((query-selector (attribute-selector 'href "/test/wiki/Gacha_Capsule") | ||||
|                                     (generate-results-page "" "test" "Gacha" search-json-data))))) | ||||
|                                     (generate-results-page test-req "" "test" "Gacha" search-json-data))))) | ||||
|  |  | |||
							
								
								
									
										8
									
								
								src/test-utils.rkt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								src/test-utils.rkt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| #lang racket/base | ||||
| (require web-server/http/request-structs | ||||
|          net/url-structs | ||||
|          (only-in racket/promise delay)) | ||||
| (provide | ||||
|  test-req) | ||||
| 
 | ||||
| (define test-req (request #"GET" (url "https" #f "breezewiki.com" #f #t (list (path/param "" '())) '() #f) '() (delay '()) #f "127.0.0.1" 0 "127.0.0.1")) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue