You've already forked focalboard
							
							
				mirror of
				https://github.com/mattermost/focalboard.git
				synced 2025-10-31 00:17:42 +02:00 
			
		
		
		
	Added Tests for NewServer() , snapshot matching (#3037)
* Added Tests for NewServer() in webserver.go , snapshot matching * fixed linting issue * added test for bad base url and made changes as asked by @jespino * fixed lint error Co-authored-by: prakharporwal <prakharporwal@github> Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
This commit is contained in:
		
							
								
								
									
										98
									
								
								server/web/webserver_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								server/web/webserver_test.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,98 @@ | ||||
| package web | ||||
|  | ||||
| import ( | ||||
| 	"testing" | ||||
|  | ||||
| 	"github.com/mattermost/mattermost-server/v6/shared/mlog" | ||||
| 	"github.com/stretchr/testify/require" | ||||
| ) | ||||
|  | ||||
| func Test_NewServer(t *testing.T) { | ||||
| 	tests := []struct { | ||||
| 		name               string | ||||
| 		rootPath           string | ||||
| 		serverRoot         string | ||||
| 		ssl                bool | ||||
| 		port               int | ||||
| 		localOnly          bool | ||||
| 		logger             *mlog.Logger | ||||
| 		expectedBaseURL    string | ||||
| 		expectedServerAddr string | ||||
| 	}{ | ||||
| 		{ | ||||
| 			name:               "should return server with given properties", | ||||
| 			rootPath:           "./test/path/to/root", | ||||
| 			serverRoot:         "https://some-fake-server.com/fake-url", | ||||
| 			ssl:                false, | ||||
| 			port:               9999, // fake port number | ||||
| 			localOnly:          false, | ||||
| 			logger:             &mlog.Logger{}, | ||||
| 			expectedBaseURL:    "/fake-url", | ||||
| 			expectedServerAddr: ":9999", | ||||
| 		}, | ||||
| 		{ | ||||
| 			name:               "should return local server with given properties", | ||||
| 			rootPath:           "./test/path/to/root", | ||||
| 			serverRoot:         "https://some-fake-server.com/fake-url", | ||||
| 			ssl:                false, | ||||
| 			port:               3000, // fake port number | ||||
| 			localOnly:          true, | ||||
| 			logger:             &mlog.Logger{}, | ||||
| 			expectedBaseURL:    "/fake-url", | ||||
| 			expectedServerAddr: "localhost:3000", | ||||
| 		}, | ||||
| 		{ | ||||
| 			name:               "should match Server properties when ssl true", | ||||
| 			rootPath:           "./test/path/to/root", | ||||
| 			serverRoot:         "https://some-fake-server.com/fake-url", | ||||
| 			ssl:                true, | ||||
| 			port:               8000, // fake port number | ||||
| 			localOnly:          false, | ||||
| 			logger:             &mlog.Logger{}, | ||||
| 			expectedBaseURL:    "/fake-url", | ||||
| 			expectedServerAddr: ":8000", | ||||
| 		}, | ||||
| 		{ | ||||
| 			name:               "should return local server when ssl true", | ||||
| 			rootPath:           "./test/path/to/root", | ||||
| 			serverRoot:         "https://localhost:8080/fake-url", | ||||
| 			ssl:                true, | ||||
| 			port:               9999, // fake port number | ||||
| 			localOnly:          true, | ||||
| 			logger:             &mlog.Logger{}, | ||||
| 			expectedBaseURL:    "/fake-url", | ||||
| 			expectedServerAddr: "localhost:9999", | ||||
| 		}, | ||||
| 		{ | ||||
| 			name:               "should return '/' as base url is not good!", | ||||
| 			rootPath:           "", | ||||
| 			serverRoot:         "https://localhost:8080/#!@$@#@", | ||||
| 			ssl:                true, | ||||
| 			port:               9999, // fake port number | ||||
| 			localOnly:          true, | ||||
| 			logger:             &mlog.Logger{}, | ||||
| 			expectedBaseURL:    "/", | ||||
| 			expectedServerAddr: "localhost:9999", | ||||
| 		}, | ||||
| 	} | ||||
|  | ||||
| 	for _, test := range tests { | ||||
| 		t.Run(test.name, func(t *testing.T) { | ||||
| 			ws := NewServer(test.rootPath, test.serverRoot, test.port, test.ssl, test.localOnly, test.logger) | ||||
|  | ||||
| 			require.NotNil(t, ws, "The webserver object is nil!") | ||||
|  | ||||
| 			require.Equal(t, test.expectedBaseURL, ws.baseURL, "baseURL does not match") | ||||
| 			require.Equal(t, test.rootPath, ws.rootPath, "rootPath does not match") | ||||
| 			require.Equal(t, test.port, ws.port, "rootPath does not match") | ||||
| 			require.Equal(t, test.ssl, ws.ssl, "logger pointer does not match") | ||||
| 			require.Equal(t, test.logger, ws.logger, "logger pointer does not match") | ||||
|  | ||||
| 			if test.localOnly == true { | ||||
| 				require.Equal(t, test.expectedServerAddr, ws.Server.Addr, "localhost address not as matching!") | ||||
| 			} else { | ||||
| 				require.Equal(t, test.expectedServerAddr, ws.Server.Addr, "server address not matching!") | ||||
| 			} | ||||
| 		}) | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user