Add integration test for signup (#1135)
* Add integration test for signup * Remove unused functions * Refactoring * Add repo_create_test.go * Rollback the incomplete repo create test * Comply with linter requirements and simplify the code a little bit
This commit is contained in:
		
							parent
							
								
									8a98a25d8e
								
							
						
					
					
						commit
						bdcc1a23e0
					
				|  | @ -6,9 +6,11 @@ package utils | |||
| 
 | ||||
| import ( | ||||
| 	"errors" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"io/ioutil" | ||||
| 	"log" | ||||
| 	"net/http" | ||||
| 	"os" | ||||
| 	"os/exec" | ||||
| 	"path/filepath" | ||||
|  | @ -123,3 +125,32 @@ func (t *T) RunTest(tests ...func(*T) error) (err error) { | |||
| 	// Note that the return value 'err' may be updated by the 'defer' statement before despite it's returning nil here.
 | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // GetAndPost provides a convenient helper function for testing an HTTP endpoint with GET and POST method.
 | ||||
| // The function sends GET first and then POST with the given form.
 | ||||
| func GetAndPost(url string, form map[string][]string) error { | ||||
| 	var err error | ||||
| 	var r *http.Response | ||||
| 
 | ||||
| 	r, err = http.Get(url) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	defer r.Body.Close() | ||||
| 
 | ||||
| 	if r.StatusCode != http.StatusOK { | ||||
| 		return fmt.Errorf("GET '%s': %s", url, r.Status) | ||||
| 	} | ||||
| 
 | ||||
| 	r, err = http.PostForm(url, form) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	defer r.Body.Close() | ||||
| 
 | ||||
| 	if r.StatusCode != http.StatusOK { | ||||
| 		return fmt.Errorf("POST '%s': %s", url, r.Status) | ||||
| 	} | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
|  |  | |||
|  | @ -0,0 +1,35 @@ | |||
| // Copyright 2017 The Gitea Authors. All rights reserved.
 | ||||
| // Use of this source code is governed by a MIT-style
 | ||||
| // license that can be found in the LICENSE file.
 | ||||
| 
 | ||||
| package integration | ||||
| 
 | ||||
| import ( | ||||
| 	"os" | ||||
| 	"testing" | ||||
| 
 | ||||
| 	"code.gitea.io/gitea/integrations/internal/utils" | ||||
| ) | ||||
| 
 | ||||
| var signupFormSample map[string][]string = map[string][]string{ | ||||
| 	"Name":   []string{"tester"}, | ||||
| 	"Email":  []string{"user1@example.com"}, | ||||
| 	"Passwd": []string{"12345678"}, | ||||
| } | ||||
| 
 | ||||
| func signup(t *utils.T) error { | ||||
| 	return utils.GetAndPost("http://:"+ServerHTTPPort+"/user/sign_up", signupFormSample) | ||||
| } | ||||
| 
 | ||||
| func TestSignup(t *testing.T) { | ||||
| 	conf := utils.Config{ | ||||
| 		Program: "../gitea", | ||||
| 		WorkDir: "", | ||||
| 		Args:    []string{"web", "--port", ServerHTTPPort}, | ||||
| 		LogFile: os.Stderr, | ||||
| 	} | ||||
| 
 | ||||
| 	if err := utils.New(t, &conf).RunTest(install, signup); err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| } | ||||
		Loading…
	
		Reference in New Issue