提交 4304c8df 编写于 作者: Z zhaoke

Merge branch 'main' of git.zcorp.cc:pangu/zentaoatf

......@@ -18,7 +18,7 @@ var (
ZentaoPort = 58080
ZentaoSiteUrl = fmt.Sprintf("http://127.0.0.1:%d", ZentaoPort)
ZentaoUsername = "admin"
ZentaoPassword = "Test123456."
ZentaoPassword = "P2ssw0rd"
UiPort = 58000
ZtfUrl = fmt.Sprintf("http://127.0.0.1:%d/", UiPort)
......
......@@ -47,7 +47,9 @@ func (s *CaseApiSuite) TestCaseListByModuleApi(t provider.T) {
t.ID("7635")
token := httpHelper.Login()
url := zentaoHelper.GenApiUrl(fmt.Sprintf("/products/%d/testcases?module=%d", config.ProductId, config.ModuleId),
moduleId := getModuleMinId()
url := zentaoHelper.GenApiUrl(fmt.Sprintf("/products/%d/testcases?module=%d", config.ProductId, moduleId),
nil, constTestHelper.ZentaoSiteUrl)
bodyBytes, _ := httpHelper.Get(url, token)
......
......@@ -36,3 +36,21 @@ func (s *ModuleApiSuite) TestModuleListForCaseApi(t provider.T) {
t.Require().Greater(firstModuleId, int64(0), "list modules failed")
}
func getModuleMinId() (id int64) {
token := httpHelper.Login()
url := zentaoHelper.GenApiUrl(fmt.Sprintf("modules?type=case&id=%d", config.ProductId), nil, constTestHelper.ZentaoSiteUrl)
bodyBytes, _ := httpHelper.Get(url, token)
modules := gjson.Get(string(bodyBytes), "modules").Array()
for _, item := range modules {
itemId := item.Get("id").Int()
if id == 0 || (itemId > 0 && id > itemId) {
id = itemId
}
}
return
}
......@@ -25,7 +25,9 @@ func (s *ProductApiSuite) BeforeEach(t provider.T) {
}
func (s *ProductApiSuite) TestProductListApi(t provider.T) {
t.ID("7620")
t.ID("7639")
//t.ID("1")
token := httpHelper.Login()
url := zentaoHelper.GenApiUrl("products", nil, constTestHelper.ZentaoSiteUrl)
......@@ -38,7 +40,9 @@ func (s *ProductApiSuite) TestProductListApi(t provider.T) {
}
func (s *ProductApiSuite) TestProductDetailApi(t provider.T) {
t.ID("7621")
t.ID("7640")
//t.ID("2")
token := httpHelper.Login()
url := zentaoHelper.GenApiUrl(fmt.Sprintf("/products/%d", config.ProductId), nil, constTestHelper.ZentaoSiteUrl)
......
......@@ -12,6 +12,7 @@ import (
"github.com/ozontech/allure-go/pkg/framework/provider"
"github.com/ozontech/allure-go/pkg/framework/suite"
"github.com/tidwall/gjson"
"log"
"testing"
)
......@@ -36,15 +37,18 @@ func (s *ResultApiSuite) TestResultSubmitZtfResultApi(t provider.T) {
url := zentaoHelper.GenApiUrl("ciresults", nil, constTestHelper.ZentaoSiteUrl)
report := commDomain.ZtfReport{}
json.Unmarshal([]byte(ztfReportJson), &report)
err := json.Unmarshal([]byte(ztfReportJson), &report)
t.Require().Equal(err, nil, "submit result failed")
report.Name = "接口测试任务" + stringUtils.NewUuid()
_, err := httpHelper.Post(url, token, report)
resp, err := httpHelper.Post(url, token, report)
log.Print(resp)
t.Require().Equal(err, nil, "submit result failed")
// check case result
latestIdNew := getCaseResult(config.CaseId)["latestId"].(int64)
t.Require().Equal(latestIdNew, latestId+1, "submit result failed")
t.Require().Greater(latestIdNew, latestId, "submit result failed")
// check task record
tasksBytes := listTask(token)
......@@ -56,25 +60,22 @@ func (s *ResultApiSuite) TestResultSubmitUnitResultApi(t provider.T) {
t.ID("7627")
token := httpHelper.Login()
latestId := getCaseResult(config.CaseId)["latestId"].(int64)
latestCaseResultId := getCaseResult(config.CaseId)["latestId"].(int64)
url := zentaoHelper.GenApiUrl("ciresults", nil, constTestHelper.ZentaoSiteUrl)
report := commDomain.ZtfReport{}
json.Unmarshal([]byte(unitReportJson), &report)
err := json.Unmarshal([]byte(unitReportJson), &report)
t.Require().Equal(err, nil, "submit result failed")
report.Name = "接口测试任务" + stringUtils.NewUuid()
_, err := httpHelper.Post(url, token, report)
resp, err := httpHelper.Post(url, token, report)
log.Print(resp)
t.Require().Equal(err, nil, "submit result failed")
// check case result
latestIdNew := getCaseResult(config.CaseId)["latestId"].(int64)
t.Require().Equal(latestIdNew, latestId+1, "submit result failed")
// check task record
tasksBytes := listTask(token)
name := gjson.Get(string(tasksBytes), "testtasks.0.name").String()
t.Require().Equal(name, report.Name, "submit result failed")
latestCaseResultIdNew := getCaseResult(config.CaseId)["latestId"].(int64)
t.Require().Greater(latestCaseResultIdNew, latestCaseResultId, "submit result failed")
}
func (s *ResultApiSuite) TestResultSubmitSameTaskIdApi(t provider.T) {
......@@ -86,9 +87,10 @@ func (s *ResultApiSuite) TestResultSubmitSameTaskIdApi(t provider.T) {
url := zentaoHelper.GenApiUrl("ciresults", nil, constTestHelper.ZentaoSiteUrl)
report := commDomain.ZtfReport{}
json.Unmarshal([]byte(ztfReportJson), &report)
err := json.Unmarshal([]byte(ztfReportJson), &report)
t.Require().Equal(err, nil, "submit result failed")
_, err := httpHelper.Post(url, token, report)
_, err = httpHelper.Post(url, token, report)
t.Require().Equal(err, nil, "submit result failed")
// check case result
......@@ -140,6 +142,7 @@ const ztfReportJson = `
"workspacePath": "/Users/aaron/rd/project/zentao/go/ztf/",
"submitResult": false,
"execBy": "case",
"productId": 1,
"zentaoData": "",
"buildUrl": "",
"log": "2023-05-29 13:48:35.118\texec/script.go:35\t开始执行/Users/aaron/rd/project/zentao/go/ztf/demo/t/test.py于2023-05-29 13:48:35。\n2023-05-29 13:48:35.521\texec/file.go:117\tone\n\n2023-05-29 13:48:35.521\texec/file.go:117\ttwo\n\n2023-05-29 13:48:35.521\texec/file.go:117\tthree\n\n2023-05-29 13:48:35.537\texec/script.go:64\t结束执行/Users/aaron/rd/project/zentao/go/ztf/demo/t/test.py于2023-05-29 13:48:35。",
......@@ -181,7 +184,7 @@ const ztfReportJson = `
"status": "pass",
"checkPoints": [
{
"numb": 1
"numb": 1,
"expect": "two",
"actual": "two",
"status": "pass"
......@@ -218,6 +221,7 @@ const unitReportJson = `
"workspaceType": "",
"workspacePath": "",
"submitResult": false,
"productId": 1,
"zentaoData": "",
"buildUrl": "",
"log": "2023-05-31 13:58:03.483\texec/unit.go:155\t=== RUN ...",
......@@ -233,13 +237,14 @@ const unitReportJson = `
{
"title": "TestProductDetailApi",
"testSuite": "ProductApiSuite-ProductApi",
"productId": 1,
"startTime": 0,
"endTime": 0,
"duration": 0.081,
"failure": null,
"errorType": "",
"errorContent": "",
"id": 0,
"id": 1,
"cid": 1,
"status": "pass"
},
......@@ -252,7 +257,7 @@ const unitReportJson = `
"failure": null,
"errorType": "",
"errorContent": "",
"id": 0,
"id": 2,
"cid": 2,
"status": "pass"
}
......
......@@ -49,3 +49,21 @@ func (s *SuiteApiSuite) TestSuiteDetailApi(t provider.T) {
t.Require().Greater(len(name), 0, "get testsuite failed")
}
func getSuiteMinId() (id int64) {
token := httpHelper.Login()
url := zentaoHelper.GenApiUrl(fmt.Sprintf("products/%d/testsuites", config.ProductId), nil, constTestHelper.ZentaoSiteUrl)
bodyBytes, _ := httpHelper.Get(url, token)
suites := gjson.Get(string(bodyBytes), "testsuites").Array()
for _, suite := range suites {
suiteId := suite.Get("id").Int()
if id == 0 || (suiteId > 0 && id > suiteId) {
id = suiteId
}
}
return
}
......@@ -64,3 +64,21 @@ func getLatestTaskId(token string) (id int) {
return
}
func getTaskMinId() (id int64) {
token := httpHelper.Login()
url := zentaoHelper.GenApiUrl(fmt.Sprintf("testtasks?product=%d", config.ProductId), nil, constTestHelper.ZentaoSiteUrl)
bodyBytes, _ := httpHelper.Get(url, token)
tasks := gjson.Get(string(bodyBytes), "testtasks").Array()
for _, task := range tasks {
taskId := task.Get("id").Int()
if id == 0 || (taskId > 0 && id > taskId) {
id = taskId
}
}
return
}
......@@ -52,7 +52,7 @@ func main() {
flagSet.Parse(os.Args[1:])
initTest(version)
//initZentao(runFrom, version)
initZentao(runFrom, version)
doTest(testToRun)
}
......@@ -100,21 +100,23 @@ func doTest(testToRun string) (err error) {
req := serverDomain.TestSet{
WorkspacePath: testPath,
Cmd: fmt.Sprintf("go test restapi/%s -v", testToRun),
Cmd: fmt.Sprintf("go test %s -v", testToRun),
TestTool: commConsts.GoTest,
}
fmt.Println(testPath, req.Cmd)
// exec testing
report := execSuite(req, "restapi")
report.ProductId = 82
// submit result for test
if runFrom != "jenkins" {
config := commDomain.WorkspaceConf{
Url: "http://110.42.146.127:50080",
Username: "admin",
Password: "P2ssw0rd"}
err = zentaoHelper.CommitResult(report, 1, 0, config, nil)
Url: "https://back.zcorp.cc/pms",
Username: "chenqi",
Password: "th2ISxOVXcoUiMLazk1b"}
err = zentaoHelper.CommitResult(report, report.ProductId, 0, config, nil)
}
return
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册