/
func.go
85 lines (68 loc) · 1.68 KB
/
func.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/*
Copyright 2023 KubeCube Authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package framework
import (
"github.com/kubecube-io/kubecube/pkg/clog"
)
type TestResp struct {
Err error
Data interface{}
}
type TestFunc func(user string) TestResp
var SucceedResp = TestResp{
Err: nil,
Data: "",
}
func NewTestResp(err error, data interface{}) TestResp {
return TestResp{
Err: err,
Data: data,
}
}
func NewTestRespWithErr(err error) TestResp {
if err == nil {
return SucceedResp
}
return TestResp{
Err: err,
Data: err.Error(),
}
}
func DefaultErrorFunc(resp TestResp) {
if resp.Err != nil {
clog.Info(resp.Err.Error())
}
ExpectError(resp.Err, "should be error")
}
func DefaultSkipFunc() bool {
return false
}
func PermissionErrorFunc(resp TestResp) {
clog.Info("res code %v", resp)
ExpectEqual(resp.Data, 403)
}
func NameWithUser(name, user string) string {
return name + "-" + user
}
func RegisterByDefault(test MultiUserTest) {
err := RegisterTestAndSteps(test)
if err != nil {
clog.Error("fail to register test steps with err %s \n", err.Error())
return
}
err = CreateTestExample(test)
if err != nil {
clog.Error("fail to create tests with err %s \n", err.Error())
return
}
}