This commit is contained in:
陈景阳
2019-08-21 14:38:46 +08:00
7 changed files with 214 additions and 3 deletions

2
Jenkinsfile vendored
View File

@@ -46,7 +46,7 @@ pipeline {
steps {
echo 'Deploying....'
sh """
if [ ${ENV:GIT_BRANCH} -eq master ] || [ ${ENV:GIT_BRANCH} -eq develop ]; then
if [[ ${ENV:GIT_BRANCH} = master ]] || [[ ${ENV:GIT_BRANCH} = develop ]]; then
# 重启docker compose
cd ./jenkins/${ENV:GIT_BRANCH}
docker-compose stop | true

View File

@@ -4,7 +4,7 @@
![](https://img.shields.io/github/release/tikazyq/crawlab.svg)
![](https://img.shields.io/github/last-commit/tikazyq/crawlab.svg)
![](https://img.shields.io/github/issues/tikazyq/crawlab.svg)
![](https://img.shields.io/github/contributers/tikazyq/crawlab.svg)
![](https://img.shields.io/github/contributors/tikazyq/crawlab.svg)
![](https://img.shields.io/docker/pulls/tikazyq/crawlab)
![](https://img.shields.io/github/license/tikazyq/crawlab.svg)

View File

@@ -4,7 +4,7 @@
![](https://img.shields.io/github/release/tikazyq/crawlab.svg)
![](https://img.shields.io/github/last-commit/tikazyq/crawlab.svg)
![](https://img.shields.io/github/issues/tikazyq/crawlab.svg)
![](https://img.shields.io/github/contributers/tikazyq/crawlab.svg)
![](https://img.shields.io/github/contributors/tikazyq/crawlab.svg)
![](https://img.shields.io/docker/pulls/tikazyq/crawlab)
![](https://img.shields.io/github/license/tikazyq/crawlab.svg)

View File

@@ -0,0 +1,76 @@
package utils
import (
. "github.com/smartystreets/goconvey/convey"
"testing"
)
func TestNewChanMap(t *testing.T) {
mapTest := make(map[string]chan string)
chanTest := make(chan string)
test := "test"
Convey("Call NewChanMap to generate ChanMap", t, func() {
mapTest[test] = chanTest
chanMapTest := ChanMap{mapTest}
chanMap := NewChanMap()
chanMap.m[test] = chanTest
Convey(test, func() {
So(chanMap, ShouldResemble, &chanMapTest)
})
})
}
func TestChan(t *testing.T) {
mapTest := make(map[string]chan string)
chanTest := make(chan string)
mapTest["test"] = chanTest
chanMapTest := ChanMap{mapTest}
Convey("Test Chan use exist key", t, func() {
ch1 := chanMapTest.Chan(
"test")
Convey("ch1 should equal chanTest", func() {
So(ch1, ShouldEqual, chanTest)
})
})
Convey("Test Chan use no-exist key", t, func() {
ch2 := chanMapTest.Chan("test2")
Convey("ch2 should equal chanMapTest.m[test2]", func() {
So(chanMapTest.m["test2"], ShouldEqual, ch2)
})
Convey("Cap of chanMapTest.m[test2] should equal 10", func() {
So(10, ShouldEqual, cap(chanMapTest.m["test2"]))
})
})
}
func TestChanBlocked(t *testing.T) {
mapTest := make(map[string]chan string)
chanTest := make(chan string)
mapTest["test"] = chanTest
chanMapTest := ChanMap{mapTest}
Convey("Test Chan use exist key", t, func() {
ch1 := chanMapTest.ChanBlocked(
"test")
Convey("ch1 should equal chanTest", func() {
So(ch1, ShouldEqual, chanTest)
})
})
Convey("Test Chan use no-exist key", t, func() {
ch2 := chanMapTest.ChanBlocked("test2")
Convey("ch2 should equal chanMapTest.m[test2]", func() {
So(chanMapTest.m["test2"], ShouldEqual, ch2)
})
Convey("Cap of chanMapTest.m[test2] should equal 10", func() {
So(0, ShouldEqual, cap(chanMapTest.m["test2"]))
})
})
}

View File

@@ -0,0 +1,72 @@
package utils
import (
. "github.com/smartystreets/goconvey/convey"
"os"
"testing"
)
func TestExists(t *testing.T) {
var pathString = "../config"
var wrongPathString = "test"
Convey("Test path or file is Exists or not", t, func() {
res := Exists(pathString)
Convey("The result should be true", func() {
So(res, ShouldEqual, true)
})
wrongRes := Exists(wrongPathString)
Convey("The result should be false", func() {
So(wrongRes, ShouldEqual, false)
})
})
}
func TestIsDir(t *testing.T) {
var pathString = "../config"
var fileString = "../config/config.go"
var wrongString = "test"
Convey("Test path is folder or not", t, func() {
res := IsDir(pathString)
So(res, ShouldEqual, true)
fileRes := IsDir(fileString)
So(fileRes, ShouldEqual, false)
wrongRes := IsDir(wrongString)
So(wrongRes, ShouldEqual, false)
})
}
func TestCompress(t *testing.T) {
var pathString = "../utils"
var files []*os.File
var disPath = "../utils/test"
file, err := os.Open(pathString)
if err != nil {
t.Error("open source path failed")
}
files = append(files, file)
Convey("Verify dispath is valid path", t, func() {
er := Compress(files, disPath)
Convey("err should be nil", func() {
So(er, ShouldEqual, nil)
})
})
}
// 测试之前需存在有效的test(.zip)文件
func TestDeCompress(t *testing.T) {
var tmpFilePath = "./test"
tmpFile, err := os.OpenFile(tmpFilePath, os.O_RDONLY, 0777)
if err != nil {
t.Fatal("open zip file failed")
}
var dstPath = "./testDeCompress"
Convey("Test DeCopmress func", t, func() {
err := DeCompress(tmpFile, dstPath)
So(err, ShouldEqual, nil)
})
}

View File

@@ -0,0 +1,49 @@
package utils
import (
"github.com/globalsign/mgo/bson"
. "github.com/smartystreets/goconvey/convey"
"strconv"
"testing"
"time"
)
func TestIsObjectIdNull(t *testing.T) {
var id bson.ObjectId = "123455"
Convey("Test Object ID is null or not", t, func() {
res := IsObjectIdNull(id)
So(res, ShouldEqual, false)
})
}
func TestInterfaceToString(t *testing.T) {
var valueBson bson.ObjectId = "12345"
var valueString = "12345"
var valueInt = 12345
var valueTime = time.Now().Add(60 * time.Second)
var valueOther = []string{"a", "b"}
Convey("Test InterfaceToString", t, func() {
resBson := InterfaceToString(valueBson)
Convey("resBson should be string value", func() {
So(resBson, ShouldEqual, valueBson.Hex())
})
resString := InterfaceToString(valueString)
Convey("resString should be string value", func() {
So(resString, ShouldEqual, valueString)
})
resInt := InterfaceToString(valueInt)
Convey("resInt should be string value", func() {
So(resInt, ShouldEqual, strconv.Itoa(valueInt))
})
resTime := InterfaceToString(valueTime)
Convey("resTime should be string value", func() {
So(resTime, ShouldEqual, valueTime.String())
})
resOther := InterfaceToString(valueOther)
Convey("resOther should be empty string", func() {
So(resOther, ShouldEqual, "")
})
})
}

View File

@@ -0,0 +1,14 @@
package utils
import (
. "github.com/smartystreets/goconvey/convey"
"testing"
)
func TestEncryptPassword(t *testing.T) {
var passwd = "test"
Convey("Test EncryptPassword", t, func() {
res := EncryptPassword(passwd)
t.Log(res)
})
}