119 lines
3.5 KiB
Go
119 lines
3.5 KiB
Go
package http
|
|
|
|
import (
|
|
"context"
|
|
"net/url"
|
|
"strconv"
|
|
"testing"
|
|
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
)
|
|
|
|
const (
|
|
_getGroupListURL = "http://localhost:8801/openplatform/admin/abtest/group/list"
|
|
_AddGroupURL = "http://localhost:8801/openplatform/admin/abtest/group/add"
|
|
_DelGroupURL = "http://localhost:8801/openplatform/admin/abtest/group/delete"
|
|
_UpdateGroupURL = "http://localhost:8801/openplatform/admin/abtest/group/update"
|
|
)
|
|
|
|
var agcs = []TestCase{
|
|
TestCase{tag: "TestAddGroup: valid parameters", testData: TestData{"name": "test", "desc": "test add"}, should: Shoulds{0}},
|
|
TestCase{tag: "TestAddGroup: empty parameters", testData: TestData{"name": "", "desc": ""}, should: Shoulds{-400}},
|
|
TestCase{tag: "TestAddGroup: no parameters", testData: TestData{}, should: Shoulds{-400}},
|
|
}
|
|
|
|
func TestAddGroup(t *testing.T) {
|
|
for _, td := range agcs {
|
|
Convey(td.tag, t, func() {
|
|
params := url.Values{}
|
|
for k, v := range td.testData {
|
|
params.Set(k, v)
|
|
}
|
|
req, _ := client.NewRequest("GET", _AddGroupURL, "127.0.0.1", params)
|
|
var res struct {
|
|
Code int `json:"code"`
|
|
Data int `json:"data"`
|
|
}
|
|
|
|
if err := client.Do(context.TODO(), req, &res); err != nil {
|
|
t.Errorf("client.Do() error(%v)", err)
|
|
t.FailNow()
|
|
}
|
|
So(res.Code, ShouldEqual, td.should[0])
|
|
if res.Code == 0 {
|
|
testID = res.Data
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestUpdateGroup(t *testing.T) {
|
|
var ugcs = []TestCase{
|
|
TestCase{tag: "TestUpdateGroup: valid parameters", testData: TestData{"id": strconv.Itoa(testID), "name": "test", "desc": "test update"}, should: Shoulds{0}},
|
|
TestCase{tag: "TestUpdateGroup: empty parameters", testData: TestData{"id": "0", "name": "", "desc": ""}, should: Shoulds{-400}},
|
|
TestCase{tag: "TestUpdateGroup: no parameters", testData: TestData{}, should: Shoulds{-400}},
|
|
}
|
|
|
|
for _, td := range ugcs {
|
|
Convey(td.tag, t, func() {
|
|
params := url.Values{}
|
|
for k, v := range td.testData {
|
|
params.Set(k, v)
|
|
}
|
|
req, _ := client.NewRequest("GET", _UpdateGroupURL, "127.0.0.1", params)
|
|
var res struct {
|
|
Code int `json:"code"`
|
|
}
|
|
|
|
if err := client.Do(context.TODO(), req, &res); err != nil {
|
|
t.Errorf("client.Do() error(%v)", err)
|
|
t.FailNow()
|
|
}
|
|
So(res.Code, ShouldEqual, td.should[0])
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestDeleteGroup(t *testing.T) {
|
|
var dgcs = []TestCase{
|
|
TestCase{tag: "TestDeleteGroup: valid parameters", testData: TestData{"id": strconv.Itoa(testID), "name": "test", "desc": "test delete"}, should: Shoulds{0}},
|
|
TestCase{tag: "TestDeleteGroup: empty parameters", testData: TestData{"id": "0", "name": "", "desc": ""}, should: Shoulds{-400}},
|
|
TestCase{tag: "TestDeleteGroup: no parameters", testData: TestData{}, should: Shoulds{-400}},
|
|
}
|
|
|
|
for _, td := range dgcs {
|
|
Convey(td.tag, t, func() {
|
|
params := url.Values{}
|
|
for k, v := range td.testData {
|
|
params.Set(k, v)
|
|
}
|
|
req, _ := client.NewRequest("GET", _DelGroupURL, "127.0.0.1", params)
|
|
var res struct {
|
|
Code int `json:"code"`
|
|
}
|
|
|
|
if err := client.Do(context.TODO(), req, &res); err != nil {
|
|
t.Errorf("client.Do() error(%v)", err)
|
|
t.FailNow()
|
|
}
|
|
So(res.Code, ShouldEqual, td.should[0])
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestListGroup(t *testing.T) {
|
|
Convey("TestListGroup: ", t, func() {
|
|
params := url.Values{}
|
|
req, _ := client.NewRequest("GET", _getGroupListURL, "127.0.0.1", params)
|
|
var res struct {
|
|
Code int `json:"code"`
|
|
}
|
|
|
|
if err := client.Do(context.TODO(), req, &res); err != nil {
|
|
t.Errorf("client.Do() error(%v)", err)
|
|
t.FailNow()
|
|
}
|
|
So(res.Code, ShouldEqual, 0)
|
|
})
|
|
}
|