@@ -29,34 +29,49 @@ An example response.`
2929 // true
3030}
3131
32- func ExampleRecorder () {
32+ func copyToTempDir ( m map [ string ] string ) string {
3333 dir , err := os .MkdirTemp ("" , "" )
3434 if err != nil {
3535 panic (err )
3636 }
37- err = os .CopyFS (dir , fstest.MapFS {
38- "fsys.example - MKIYDwjs.res.txt" : & fstest.MapFile {
39- Data : []byte (`HTTP/1.1 200 OK
37+ fsys := make (fstest.MapFS , len (m ))
38+ for path , content := range m {
39+ fsys [path ] = & fstest.MapFile {
40+ Data : []byte (content ),
41+ }
42+ }
43+ if err = os .CopyFS (dir , fsys ); err != nil {
44+ panic (err )
45+ }
46+ return dir
47+ }
48+
49+ func ExampleRecorder () {
50+ // Given a directory with the following file
51+ dir := copyToTempDir (map [string ]string {
52+ "fsys.example - MKIYDwjs.res.txt" : `HTTP/1.1 200 OK
4053Content-Type: text/plain; charset=UTF-8
4154Date: Mon, 24 May 2021 18:48:50 GMT
4255
43- An example response.` ),
44- },
56+ An example response.` ,
4557 })
46- if err != nil {
47- panic (err )
48- }
58+ defer os .RemoveAll (dir )
59+
60+ // Make a test transport that reads the directory
61+ tr := reqtest .Recorder (reqtest .ModeReplay , nil , dir )
4962
63+ // And test that it produces the correct response
5064 var s string
5165 const expected = `An example response.`
5266 if err := requests .
5367 URL ("http://fsys.example" ).
54- Transport (reqtest . Recorder ( reqtest . ModeReplay , nil , dir ) ).
68+ Transport (tr ).
5569 ToString (& s ).
5670 Fetch (context .Background ()); err != nil {
5771 panic (err )
5872 }
5973 fmt .Println (s == expected )
74+
6075 // Output:
6176 // true
6277}
0 commit comments