#3442 add test suites
This commit is contained in:
parent
4296427214
commit
5be881756b
|
@ -97,6 +97,21 @@ func LoadConfigs() {
|
||||||
DbCfg.Path = sec.Key("PATH").MustString("data/gogs.db")
|
DbCfg.Path = sec.Key("PATH").MustString("data/gogs.db")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// parsePostgreSQLHostPort parses given input in various forms defined in
|
||||||
|
// https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNSTRING
|
||||||
|
// and returns proper host and port number.
|
||||||
|
func parsePostgreSQLHostPort(info string) (string, string) {
|
||||||
|
host, port := "127.0.0.1", "5432"
|
||||||
|
if strings.Contains(info, ":") && !strings.HasSuffix(info, "]") {
|
||||||
|
idx := strings.LastIndex(info, ":")
|
||||||
|
host = info[:idx]
|
||||||
|
port = info[idx+1:]
|
||||||
|
} else if len(info) > 0 {
|
||||||
|
host = info
|
||||||
|
}
|
||||||
|
return host, port
|
||||||
|
}
|
||||||
|
|
||||||
func getEngine() (*xorm.Engine, error) {
|
func getEngine() (*xorm.Engine, error) {
|
||||||
connStr := ""
|
connStr := ""
|
||||||
var Param string = "?"
|
var Param string = "?"
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
// Copyright 2016 The Gogs 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 models
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
. "github.com/smartystreets/goconvey/convey"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Test_parsePostgreSQLHostPort(t *testing.T) {
|
||||||
|
testSuites := []struct {
|
||||||
|
input string
|
||||||
|
host, port string
|
||||||
|
}{
|
||||||
|
{"127.0.0.1:1234", "127.0.0.1", "1234"},
|
||||||
|
{"127.0.0.1", "127.0.0.1", "5432"},
|
||||||
|
{"[::1]:1234", "[::1]", "1234"},
|
||||||
|
{"[::1]", "[::1]", "5432"},
|
||||||
|
{"/tmp/pg.sock:1234", "/tmp/pg.sock", "1234"},
|
||||||
|
{"/tmp/pg.sock", "/tmp/pg.sock", "5432"},
|
||||||
|
}
|
||||||
|
|
||||||
|
Convey("Parse PostgreSQL host and port", t, func() {
|
||||||
|
for _, suite := range testSuites {
|
||||||
|
host, port := parsePostgreSQLHostPort(suite.input)
|
||||||
|
So(host, ShouldEqual, suite.host)
|
||||||
|
So(port, ShouldEqual, suite.port)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
|
@ -1,7 +1,12 @@
|
||||||
|
// Copyright 2016 The Gogs 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 models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
. "github.com/smartystreets/goconvey/convey"
|
. "github.com/smartystreets/goconvey/convey"
|
||||||
|
@ -37,7 +42,13 @@ func Test_SSHParsePublicKey(t *testing.T) {
|
||||||
So(lengthN, ShouldEqual, key.length)
|
So(lengthN, ShouldEqual, key.length)
|
||||||
|
|
||||||
keyTypeK, lengthK, errK := SSHKeyGenParsePublicKey(key.content)
|
keyTypeK, lengthK, errK := SSHKeyGenParsePublicKey(key.content)
|
||||||
So(errK, ShouldBeNil)
|
if errK != nil {
|
||||||
|
// Some server just does not support ecdsa format.
|
||||||
|
if strings.Contains(errK.Error(), "line 1 too long:") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
So(errK, ShouldBeNil)
|
||||||
|
}
|
||||||
So(keyTypeK, ShouldEqual, key.typeName)
|
So(keyTypeK, ShouldEqual, key.typeName)
|
||||||
So(lengthK, ShouldEqual, key.length)
|
So(lengthK, ShouldEqual, key.length)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue