1
1
package sls
2
2
3
3
import (
4
- "github.com/stretchr/testify/suite"
5
4
"os"
6
5
"testing"
7
6
"time"
7
+
8
+ "github.com/stretchr/testify/suite"
8
9
)
9
10
10
11
func TestETLJobV2 (t * testing.T ) {
@@ -19,7 +20,6 @@ type ETLJobTestV2Suite struct {
19
20
accessKeyID string
20
21
accessKeySecret string
21
22
targetLogstoreName string
22
- etlName string
23
23
client * Client
24
24
}
25
25
@@ -37,12 +37,12 @@ func (s *ETLJobTestV2Suite) SetupTest() {
37
37
}
38
38
}
39
39
40
- func (s * ETLJobTestV2Suite ) createETLJobV2 () error {
40
+ func (s * ETLJobTestV2Suite ) createETLJobV2 (etlName string ) error {
41
41
sink := ETLSink {
42
42
AccessKeyId : s .accessKeyID ,
43
43
AccessKeySecret : s .accessKeySecret ,
44
44
Endpoint : s .endpoint ,
45
- Logstore : s .logstoreName ,
45
+ Logstore : s .targetLogstoreName ,
46
46
Name : "aliyun-etl-test" ,
47
47
Project : s .projectName ,
48
48
}
@@ -63,86 +63,128 @@ func (s *ETLJobTestV2Suite) createETLJobV2() error {
63
63
Configuration : config ,
64
64
DisplayName : "displayName" ,
65
65
Description : "go sdk case" ,
66
- Name : s . etlName ,
66
+ Name : etlName ,
67
67
Schedule : schedule ,
68
68
Type : "ETL" ,
69
69
}
70
70
return s .client .CreateETL (s .projectName , etljob )
71
71
}
72
72
73
73
func (s * ETLJobTestV2Suite ) TestClient_UpdateETLJobV2 () {
74
- err := s .createETLJobV2 ()
74
+ etlName := "test_update_etl"
75
+ err := s .createETLJobV2 (etlName )
75
76
s .Require ().Nil (err )
76
- etljob , err := s .client .GetETL (s .projectName , s . etlName )
77
+ etljob , err := s .client .GetETL (s .projectName , etlName )
77
78
s .Require ().Nil (err )
78
79
etljob .DisplayName = "update"
79
80
etljob .Description = "update description"
80
81
etljob .Configuration .Script = "e_set('update','update')"
81
82
err = s .client .UpdateETL (s .projectName , * etljob )
82
83
s .Require ().Nil (err )
83
- etljob , err = s .client .GetETL (s .projectName , s . etlName )
84
+ etljob , err = s .client .GetETL (s .projectName , etlName )
84
85
s .Require ().Nil (err )
85
86
s .Require ().Equal ("update" , etljob .DisplayName )
86
87
s .Require ().Equal ("update description" , etljob .Description )
87
- err = s .client .DeleteETL (s .projectName , s . etlName )
88
+ err = s .client .DeleteETL (s .projectName , etlName )
88
89
s .Require ().Nil (err )
89
90
}
90
91
91
92
func (s * ETLJobTestV2Suite ) TestClient_DeleteETLJobV2 () {
92
- err := s .createETLJobV2 ()
93
+ etlName := "test_delete_etl"
94
+ err := s .createETLJobV2 (etlName )
93
95
s .Require ().Nil (err )
94
- _ , err = s .client .GetETL (s .projectName , s . etlName )
96
+ _ , err = s .client .GetETL (s .projectName , etlName )
95
97
s .Require ().Nil (err )
96
- err = s .client .DeleteETL (s .projectName , s . etlName )
98
+ err = s .client .DeleteETL (s .projectName , etlName )
97
99
s .Require ().Nil (err )
98
100
time .Sleep (time .Second * 100 )
99
- _ , err = s .client .GetETL (s .projectName , s . etlName )
101
+ _ , err = s .client .GetETL (s .projectName , etlName )
100
102
s .Require ().NotNil (err )
101
-
102
103
}
103
104
104
105
func (s * ETLJobTestV2Suite ) TestClient_ListETLJobV2 () {
105
- err := s .createETLJobV2 ()
106
+ etlName := "test_list_etl"
107
+ err := s .createETLJobV2 (etlName )
106
108
s .Require ().Nil (err )
107
109
etljobList , err := s .client .ListETL (s .projectName , 0 , 100 )
108
110
s .Require ().Nil (err )
109
111
s .Require ().Equal (1 , etljobList .Total )
110
112
s .Require ().Equal (1 , etljobList .Count )
111
- err = s .client .DeleteETL (s .projectName , s . etlName )
113
+ err = s .client .DeleteETL (s .projectName , etlName )
112
114
s .Require ().Nil (err )
113
-
114
115
}
115
116
116
117
func (s * ETLJobTestV2Suite ) TestClient_StartStopETLJobV2 () {
117
- err := s .createETLJobV2 ()
118
+ etlName := "test_start_stop_etl"
119
+ err := s .createETLJobV2 (etlName )
118
120
s .Require ().Nil (err )
119
121
for {
120
- etljob , err := s .client .GetETL (s .projectName , s . etlName )
122
+ etljob , err := s .client .GetETL (s .projectName , etlName )
121
123
s .Require ().Nil (err )
122
124
time .Sleep (10 * time .Second )
123
125
if etljob .Status == "RUNNING" {
124
126
break
125
127
}
126
128
}
127
129
128
- err = s .client .StopETL (s .projectName , s . etlName )
130
+ err = s .client .StopETL (s .projectName , etlName )
129
131
for {
130
- etljob , err := s .client .GetETL (s .projectName , s . etlName )
132
+ etljob , err := s .client .GetETL (s .projectName , etlName )
131
133
s .Require ().Nil (err )
132
134
time .Sleep (10 * time .Second )
133
135
if etljob .Status == "STOPPED" {
134
136
break
135
137
}
136
138
}
137
- err = s .client .StartETL (s .projectName , s .etlName )
139
+ err = s .client .StartETL (s .projectName , etlName )
140
+ for {
141
+ etljob , err := s .client .GetETL (s .projectName , etlName )
142
+ s .Require ().Nil (err )
143
+ time .Sleep (10 * time .Second )
144
+ if etljob .Status == "RUNNING" {
145
+ break
146
+ }
147
+ }
148
+ err = s .client .DeleteETL (s .projectName , etlName )
149
+ s .Require ().Nil (err )
150
+ }
151
+
152
+ func (s * ETLJobTestV2Suite ) TestClient_RestartETLJobV2 () {
153
+ etlName := "test_restart_etl"
154
+ err := s .createETLJobV2 (etlName )
155
+ s .Require ().Nil (err )
138
156
for {
139
- etljob , err := s .client .GetETL (s .projectName , s . etlName )
157
+ etljob , err := s .client .GetETL (s .projectName , etlName )
140
158
s .Require ().Nil (err )
141
159
time .Sleep (10 * time .Second )
142
160
if etljob .Status == "RUNNING" {
143
161
break
144
162
}
145
163
}
146
164
165
+ etljob , err := s .client .GetETL (s .projectName , etlName )
166
+ s .Require ().Nil (err )
167
+ etljob .DisplayName = "update"
168
+ etljob .Description = "update description"
169
+ etljob .Configuration .Script = "e_set('update','update')"
170
+
171
+ err = s .client .RestartETL (s .projectName , * etljob )
172
+ s .Require ().Nil (err )
173
+
174
+ for {
175
+ time .Sleep (10 * time .Second )
176
+ etljob , err := s .client .GetETL (s .projectName , etlName )
177
+ s .Require ().Nil (err )
178
+ if etljob .Status == "RUNNING" {
179
+ break
180
+ }
181
+ }
182
+
183
+ etljob , err = s .client .GetETL (s .projectName , etlName )
184
+ s .Require ().Nil (err )
185
+ s .Require ().Equal ("update" , etljob .DisplayName )
186
+ s .Require ().Equal ("update description" , etljob .Description )
147
187
188
+ err = s .client .DeleteETL (s .projectName , etlName )
189
+ s .Require ().Nil (err )
148
190
}
0 commit comments