2018-03-14 14:12:26 +08:00
|
|
|
// Copyright (C) 2014-2018 Goodrain Co., Ltd.
|
2018-01-17 22:06:58 +08:00
|
|
|
// RAINBOND, Application Management Platform
|
2018-03-14 14:33:31 +08:00
|
|
|
|
2018-01-17 22:06:58 +08:00
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
|
|
// it under the terms of the GNU General Public License as published by
|
|
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
|
|
// (at your option) any later version. For any non-GPL usage of Rainbond,
|
|
|
|
// one or multiple Commercial Licenses authorized by Goodrain Co., Ltd.
|
|
|
|
// must be obtained first.
|
2018-03-14 14:33:31 +08:00
|
|
|
|
2018-01-17 22:06:58 +08:00
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
// GNU General Public License for more details.
|
2018-03-14 14:33:31 +08:00
|
|
|
|
2018-01-17 22:06:58 +08:00
|
|
|
// You should have received a copy of the GNU General Public License
|
|
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
package parser
|
|
|
|
|
|
|
|
import (
|
2018-02-27 22:01:37 +08:00
|
|
|
"encoding/json"
|
2018-01-17 22:06:58 +08:00
|
|
|
"fmt"
|
|
|
|
"testing"
|
2018-02-27 22:01:37 +08:00
|
|
|
|
2018-09-02 22:44:38 +08:00
|
|
|
"github.com/goodrain/rainbond/builder"
|
2019-04-02 17:37:04 +08:00
|
|
|
"github.com/goodrain/rainbond/builder/parser/types"
|
2018-04-24 16:44:59 +08:00
|
|
|
"github.com/goodrain/rainbond/builder/sources"
|
2018-01-17 22:06:58 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
func TestParseDockerfileInfo(t *testing.T) {
|
|
|
|
parse := &SourceCodeParse{
|
|
|
|
source: "source",
|
2019-04-02 17:37:04 +08:00
|
|
|
ports: make(map[int]*types.Port),
|
|
|
|
volumes: make(map[string]*types.Volume),
|
|
|
|
envs: make(map[string]*types.Env),
|
2018-01-17 22:06:58 +08:00
|
|
|
logger: nil,
|
2019-04-10 22:26:51 +08:00
|
|
|
image: ParseImageName(builder.RUNNERIMAGENAME),
|
2018-01-17 22:06:58 +08:00
|
|
|
args: []string{"start", "web"},
|
|
|
|
}
|
|
|
|
parse.parseDockerfileInfo("./Dockerfile")
|
|
|
|
fmt.Println(parse.GetServiceInfo())
|
|
|
|
}
|
2018-02-27 22:01:37 +08:00
|
|
|
|
|
|
|
//ServiceCheckResult 应用检测结果
|
|
|
|
type ServiceCheckResult struct {
|
|
|
|
//检测状态 Success Failure
|
|
|
|
CheckStatus string `json:"check_status"`
|
|
|
|
ErrorInfos ParseErrorList `json:"error_infos"`
|
|
|
|
ServiceInfo []ServiceInfo `json:"service_info"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestSourceCode(t *testing.T) {
|
|
|
|
sc := sources.CodeSourceInfo{
|
|
|
|
ServerType: "",
|
2018-02-27 22:31:44 +08:00
|
|
|
RepositoryURL: "https://github.com/barnettZQG/fserver.git",
|
2018-02-27 22:01:37 +08:00
|
|
|
Branch: "master",
|
|
|
|
}
|
|
|
|
b, _ := json.Marshal(sc)
|
|
|
|
p := CreateSourceCodeParse(string(b), nil)
|
|
|
|
err := p.Parse()
|
|
|
|
if err != nil && err.IsFatalError() {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
re := ServiceCheckResult{
|
|
|
|
CheckStatus: "Failure",
|
|
|
|
ErrorInfos: err,
|
|
|
|
ServiceInfo: p.GetServiceInfo(),
|
|
|
|
}
|
|
|
|
body, _ := json.Marshal(re)
|
|
|
|
fmt.Printf("%s \n", string(body))
|
|
|
|
}
|