| 
				
			 | 
			
			
				@@ -0,0 +1,37 @@ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1
			 | 
			
			
				+package request 
			 | 
		
	
		
			
			| 
				
			 | 
			
				2
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3
			 | 
			
			
				+import ( 
			 | 
		
	
		
			
			| 
				
			 | 
			
				4
			 | 
			
			
				+	"context" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				5
			 | 
			
			
				+	"io" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				6
			 | 
			
			
				+	"net/http" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				7
			 | 
			
			
				+	"net/http/httptest" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				8
			 | 
			
			
				+) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				9
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				10
			 | 
			
			
				+// HttpRequestConfig http request config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				11
			 | 
			
			
				+type HttpRequestConfig struct { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				12
			 | 
			
			
				+	Method  string 
			 | 
		
	
		
			
			| 
				
			 | 
			
				13
			 | 
			
			
				+	URL     string 
			 | 
		
	
		
			
			| 
				
			 | 
			
				14
			 | 
			
			
				+	Param   io.Reader 
			 | 
		
	
		
			
			| 
				
			 | 
			
				15
			 | 
			
			
				+	Header  map[string]string 
			 | 
		
	
		
			
			| 
				
			 | 
			
				16
			 | 
			
			
				+	Context context.Context 
			 | 
		
	
		
			
			| 
				
			 | 
			
				17
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				18
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				19
			 | 
			
			
				+// AssertHttpRequest check http request 
			 | 
		
	
		
			
			| 
				
			 | 
			
				20
			 | 
			
			
				+func AssertHttpRequest(handler http.Handler, config HttpRequestConfig) *httptest.ResponseRecorder { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				21
			 | 
			
			
				+	r := httptest.NewRequest(config.Method, config.URL, config.Param) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				22
			 | 
			
			
				+	w := httptest.NewRecorder() 
			 | 
		
	
		
			
			| 
				
			 | 
			
				23
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				24
			 | 
			
			
				+	if config.Header != nil { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				25
			 | 
			
			
				+		for k, v := range config.Header { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				26
			 | 
			
			
				+			r.Header.Set(k, v) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				27
			 | 
			
			
				+		} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				28
			 | 
			
			
				+	} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				29
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				30
			 | 
			
			
				+	if config.Context != nil { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				31
			 | 
			
			
				+		r.WithContext(config.Context) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				32
			 | 
			
			
				+	} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				33
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				34
			 | 
			
			
				+	handler.ServeHTTP(w, r) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				35
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				36
			 | 
			
			
				+	return w 
			 | 
		
	
		
			
			| 
				
			 | 
			
				37
			 | 
			
			
				+} 
			 |