add test for inmemory response writer
Kubernetes-commit: bf1b9c45ea976a9e871b35b644f34ec508f3d57d
This commit is contained in:
		
							parent
							
								
									b62222be7c
								
							
						
					
					
						commit
						ada3ee1529
					
				|  | @ -0,0 +1,63 @@ | |||
| /* | ||||
| Copyright 2024 The Kubernetes Authors. | ||||
| 
 | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
| 
 | ||||
|     http://www.apache.org/licenses/LICENSE-2.0
 | ||||
| 
 | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package responsewriter | ||||
| 
 | ||||
| import ( | ||||
| 	"net/http" | ||||
| 	"testing" | ||||
| ) | ||||
| 
 | ||||
| func TestInMemoryResponseWriter(t *testing.T) { | ||||
| 	w := NewInMemoryResponseWriter() | ||||
| 
 | ||||
| 	h := w.Header() | ||||
| 	h.Set("Content-Type", "application/json") | ||||
| 
 | ||||
| 	w.WriteHeader(http.StatusCreated) | ||||
| 
 | ||||
| 	_, err := w.Write([]byte(`{"message": "hello"}`)) | ||||
| 	if err != nil { | ||||
| 		t.Errorf("Write() returned an error: %v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	if w.RespCode() != http.StatusCreated { | ||||
| 		t.Errorf("RespCode() returned unexpected code: %d, want %d", w.RespCode(), http.StatusCreated) | ||||
| 	} | ||||
| 
 | ||||
| 	if string(w.Data()) != `{"message": "hello"}` { | ||||
| 		t.Errorf("Data() returned unexpected body: %s, want %s", string(w.Data()), `{"message": "hello"}`) | ||||
| 	} | ||||
| 
 | ||||
| 	expectedString := "ResponseCode: 201, Body: {\"message\": \"hello\"}, Header: map[Content-Type:[application/json]]" | ||||
| 	if w.String() != expectedString { | ||||
| 		t.Errorf("String() returned unexpected output: %s, want %s", w.String(), expectedString) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestInMemoryResponseWriter_DefaultHeader(t *testing.T) { | ||||
| 	w := NewInMemoryResponseWriter() | ||||
| 
 | ||||
| 	_, err := w.Write([]byte(`{"message": "hello"}`)) | ||||
| 	if err != nil { | ||||
| 		t.Errorf("Write() returned an error: %v", err) | ||||
| 	} | ||||
| 
 | ||||
| 	// should be StatusOK (200) by default
 | ||||
| 	if w.RespCode() != http.StatusOK { | ||||
| 		t.Errorf("RespCode() returned unexpected code: %d, want %d", w.RespCode(), http.StatusOK) | ||||
| 	} | ||||
| } | ||||
		Loading…
	
		Reference in New Issue