mirror of
				https://github.com/labstack/echo.git
				synced 2025-10-30 23:57:38 +02:00 
			
		
		
		
	Test cased for Echo#Start/Shutdown
Signed-off-by: Vishal Rana <vr@labstack.com>
This commit is contained in:
		
							
								
								
									
										18
									
								
								_fixture/certs/cert.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								_fixture/certs/cert.pem
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| -----BEGIN CERTIFICATE----- | ||||
| MIIC+TCCAeGgAwIBAgIQe/dw9alKTWAPhsHoLdkn+TANBgkqhkiG9w0BAQsFADAS | ||||
| MRAwDgYDVQQKEwdBY21lIENvMB4XDTE2MDkyNTAwNDcxN1oXDTE3MDkyNTAwNDcx | ||||
| N1owEjEQMA4GA1UEChMHQWNtZSBDbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC | ||||
| AQoCggEBAL8WwhLGbK8HkiEDKV0JbjtWp3/EWKhKFW3YtKtPfPOgoZejdNn9VE0B | ||||
| IlQ4rwa1wmsM9NDKC0m60oiNOYeyugx9PoFI3RXzuKVX2x7E5LTW0sv0LC9PCggZ | ||||
| MZTih1AiYtwJIZl+aK6s4dTb/PUOLDdcRTZTF2egkdAicbUlQT4Kn+A3jHiE+ATC | ||||
| h3MlV2BHarhAhWb0FrOg2bEtFrMyFDaLbHI7xbj+vB9CkGB9L5tObP2M9lQCxH8d | ||||
| ElWkJjxg7vdkhJ5+sWNaY80utNipUdVO845tIERwRXRRviFYpOcuNfnJYC9kwRjv | ||||
| CRanh3epWhG0cFQVV5d45sHf6t5F+jsCAwEAAaNLMEkwDgYDVR0PAQH/BAQDAgWg | ||||
| MBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwFAYDVR0RBA0wC4IJ | ||||
| bG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQAdd3ZW6R4cImmxIzfoz7Ttq862 | ||||
| oOiyzFnisCxgNdA78epit49zg0CgF7q9guTEArXJLI+/qnjPPObPOlTlsEyomb2F | ||||
| UOS+2hn/ZyU5/tUxhkeOBYqdEaryk6zF6vPLUJ5IphJgOg00uIQGL0UvupBLEyIG | ||||
| Rsa/lKEtW5Z9PbIi9GeVn51U+9VMCYft/T7SDziKl7OcE/qoVh1G0/tTRkAqOqpZ | ||||
| bzc8ssEhJVNZ/DO+uYHNYf/waB6NjfXQuTegU/SyxnawvQ4oBHIzyuWplGCcTlfT | ||||
| IXsOQdJo2xuu8807d+rO1FpN8yWi5OF/0sif0RrocSskLAIL/PI1qfWuuPck | ||||
| -----END CERTIFICATE----- | ||||
							
								
								
									
										27
									
								
								_fixture/certs/key.pem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								_fixture/certs/key.pem
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| -----BEGIN RSA PRIVATE KEY----- | ||||
| MIIEpAIBAAKCAQEAvxbCEsZsrweSIQMpXQluO1anf8RYqEoVbdi0q09886Chl6N0 | ||||
| 2f1UTQEiVDivBrXCawz00MoLSbrSiI05h7K6DH0+gUjdFfO4pVfbHsTktNbSy/Qs | ||||
| L08KCBkxlOKHUCJi3AkhmX5orqzh1Nv89Q4sN1xFNlMXZ6CR0CJxtSVBPgqf4DeM | ||||
| eIT4BMKHcyVXYEdquECFZvQWs6DZsS0WszIUNotscjvFuP68H0KQYH0vm05s/Yz2 | ||||
| VALEfx0SVaQmPGDu92SEnn6xY1pjzS602KlR1U7zjm0gRHBFdFG+IVik5y41+clg | ||||
| L2TBGO8JFqeHd6laEbRwVBVXl3jmwd/q3kX6OwIDAQABAoIBAQCR69EcAUZxinh+ | ||||
| mSl3EIKK8atLGCcTrC8dCQU+ZJ7odFuxrnLHHHrJqvoKEpclqprioKw63G8uSGoJ | ||||
| OL8b7tHAQ8v9ciTSZKE2Mhb0MirsJbgnYzhykAr7EDIanbny6a9Qk/CChFNwQDjc | ||||
| EXnjsIT3aZC44U7YJXfz1rm6OM7Pjn6z8H4vYGRDOsYkhXvPfnPW8C2LFJVr9nvE | ||||
| 0gIAOVoGejEJrsJVK3Uj/nPcqSQYXmwEmtjtzOw7u6yp1b2VZEK7tR47HwJt6ltG | ||||
| Z9zhpwhpvdOuXNMqMOYRf9bLBWnSqIlTHOO0UlAnyRCY1HxluZB7ZSg9VnoJDrD7 | ||||
| w+JqAGnBAoGBAO5qyIzjldwR004YjepmZfuX3PnGLZhzhmTTC7Pl9gqv1TvxfxvD | ||||
| 6yBFL2GrN1IcnrX9Qk2xncUAbpM989MF+EC7I4++1t1I6akUKFEDkfvQwQjCXfPS | ||||
| Jv2rkwIVSkt8F0X/tOb13OeIiHuFVI/Bb9VoJSP/k4DfPV+/HnwBxvzLAoGBAM0u | ||||
| b/rYfm5rb20/PKClUs154s0eKSokVogqiJkf+5qLsV+TD50JVZBVw8s4XM79iwQI | ||||
| PyGY9nI1AvqG7yIzxSy5/Qk1+ZVdVYpmWIO5PnJ8TVraDVhCQ3fVz1uWtcyaqPVr | ||||
| 3QzdyvsEgFUGFItmRdhSvA8RGrpVCHTBzrDj3jpRAoGBAKNaSLS3jkstb3D3w+yR | ||||
| YliisYX1cfIdXTyhmUgWTKD/3oLmsSdt8iC3JoKt1AaPk3Kv5ojjJG0BIcIC1ZeF | ||||
| ZJW9Yt0vbXpKZcYyCHmRj6lQW6JLwiG3oH133A62VaQojq2oSONiG4wL8S9oqAqj | ||||
| B6PZanEiwIaw7hU3FoTylstHAoGAFYvE0pCdZjb98njrgusZcN5VxLhgFj7On2no | ||||
| AjxrjWUR8TleMF1kkM2Qy+xVQp85U+kRyBNp/cA3WduFjQ/mqrW1LpxuYxL0Ap6Q | ||||
| uPRg7GDFNr8jG5uJvjHDnpiK6rtq9qqnAczgnc9xMnx699B7kSXO/b4MEnkPdENN | ||||
| 0yF6mqECgYA88UELxbhqMSdG24DX0zHXvkXLIml2JNVb54glFByIIem+acff9oG9 | ||||
| X5GajlBroPoKk7FgA9ouqcQMH66UnFi6qh07l0J2xb0aXP8yzLAGauVGTTNIQCR4 | ||||
| VpqyDpjlc1ZqfZWOrvwSrUH1mEkxbeVvQsOUja2Jvu+lc3Zo099ILw== | ||||
| -----END RSA PRIVATE KEY----- | ||||
							
								
								
									
										5
									
								
								echo.go
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								echo.go
									
									
									
									
									
								
							| @@ -63,6 +63,7 @@ type ( | ||||
| 	Echo struct { | ||||
| 		Server          *http.Server | ||||
| 		TLSServer       *http.Server | ||||
| 		TLSConfig       *tls.Config | ||||
| 		ShutdownTimeout time.Duration | ||||
| 		DisableHTTP2    bool | ||||
| 		Debug           bool | ||||
| @@ -526,9 +527,9 @@ func (e *Echo) StartTLS(address string, certFile, keyFile string) (err error) { | ||||
| 		return errors.New("invalid tls configuration") | ||||
| 	} | ||||
| 	config := &tls.Config{} | ||||
| 	if e.Server.TLSConfig != nil { | ||||
| 	if e.TLSConfig != nil { | ||||
| 		// TODO: https://github.com/golang/go/commit/d24f446a90ea94b87591bf16228d7d871fec3d92 | ||||
| 		*config = *e.Server.TLSConfig | ||||
| 		*config = *e.TLSConfig | ||||
| 	} | ||||
| 	if !e.DisableHTTP2 { | ||||
| 		config.NextProtos = append(config.NextProtos, "h2") | ||||
|   | ||||
							
								
								
									
										18
									
								
								echo_test.go
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								echo_test.go
									
									
									
									
									
								
							| @@ -6,6 +6,7 @@ import ( | ||||
| 	"net/http" | ||||
| 	"net/http/httptest" | ||||
| 	"testing" | ||||
| 	"time" | ||||
|  | ||||
| 	"golang.org/x/net/websocket" | ||||
|  | ||||
| @@ -407,9 +408,22 @@ func TestEchoContext(t *testing.T) { | ||||
| 	e.ReleaseContext(c) | ||||
| } | ||||
|  | ||||
| func TestEchoStartShutdown(t *testing.T) { | ||||
| func TestEchoStart(t *testing.T) { | ||||
| 	e := New() | ||||
| 	assert.NoError(t, e.Start(":1323")) | ||||
| 	go func() { | ||||
| 		assert.NoError(t, e.Start(":1323")) | ||||
| 	}() | ||||
| 	time.Sleep(200 * time.Millisecond) | ||||
| 	e.Shutdown(1 * time.Second) | ||||
| } | ||||
|  | ||||
| func TestEchoStartTLS(t *testing.T) { | ||||
| 	e := New() | ||||
| 	go func() { | ||||
| 		assert.NoError(t, e.StartTLS(":1323", "_fixture/certs/cert.pem", "_fixture/certs/key.pem")) | ||||
| 	}() | ||||
| 	time.Sleep(200 * time.Millisecond) | ||||
| 	e.ShutdownTLS(1 * time.Second) | ||||
| } | ||||
|  | ||||
| func testMethod(t *testing.T, method, path string, e *Echo) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user