Skip to content

Commit 18ae77b

Browse files
committed
Add artifacts test fixture
1 parent 0690cb0 commit 18ae77b

File tree

6 files changed

+80
-19
lines changed

6 files changed

+80
-19
lines changed

models/fixtures/action_artifact.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
-
2+
id: 1
3+
run_id: 791
4+
runner_id: 1
5+
repo_id: 4
6+
owner_id: 1
7+
commit_sha: c2d72f548424103f01ee1dc02889c1e2bff816b0
8+
storage_path: "26/1/1712166500347189545.chunk"
9+
file_size: 1024
10+
file_compressed_size: 1024
11+
content_encoding: ""
12+
artifact_path: "abc.txt"
13+
artifact_name: "artifact-download"
14+
status: 1
15+
created_unix: 1712338649
16+
updated_unix: 1712338649
17+
expired_unix: 1720114649
18+
19+
-
20+
id: 19
21+
run_id: 791
22+
runner_id: 1
23+
repo_id: 4
24+
owner_id: 1
25+
commit_sha: c2d72f548424103f01ee1dc02889c1e2bff816b0
26+
storage_path: "26/19/1712348022422036662.chunk"
27+
file_size: 1024
28+
file_compressed_size: 1024
29+
content_encoding: ""
30+
artifact_path: "abc.txt"
31+
artifact_name: "multi-file-download"
32+
status: 2
33+
created_unix: 1712348022
34+
updated_unix: 1712348022
35+
expired_unix: 1720124022
36+
37+
-
38+
id: 20
39+
run_id: 791
40+
runner_id: 1
41+
repo_id: 4
42+
owner_id: 1
43+
commit_sha: c2d72f548424103f01ee1dc02889c1e2bff816b0
44+
storage_path: "26/20/1712348022423431524.chunk"
45+
file_size: 1024
46+
file_compressed_size: 1024
47+
content_encoding: ""
48+
artifact_path: "xyz/def.txt"
49+
artifact_name: "multi-file-download"
50+
status: 2
51+
created_unix: 1712348022
52+
updated_unix: 1712348022
53+
expired_unix: 1720124022
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

tests/integration/api_actions_artifact_test.go

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,21 @@ func TestActionsArtifactUploadSingleFile(t *testing.T) {
3838

3939
// get upload url
4040
idx := strings.Index(uploadResp.FileContainerResourceURL, "/api/actions_pipeline/_apis/pipelines/")
41-
url := uploadResp.FileContainerResourceURL[idx:] + "?itemPath=artifact/abc.txt"
41+
url := uploadResp.FileContainerResourceURL[idx:] + "?itemPath=artifact/abc-2.txt"
4242

4343
// upload artifact chunk
44-
body := strings.Repeat("A", 1024)
44+
body := strings.Repeat("C", 1024)
4545
req = NewRequestWithBody(t, "PUT", url, strings.NewReader(body)).
4646
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a").
4747
SetHeader("Content-Range", "bytes 0-1023/1024").
4848
SetHeader("x-tfs-filelength", "1024").
49-
SetHeader("x-actions-results-md5", "1HsSe8LeLWh93ILaw1TEFQ==") // base64(md5(body))
49+
SetHeader("x-actions-results-md5", "XVlf820rMInUi64wmMi6EA==") // base64(md5(body))
5050
MakeRequest(t, req, http.StatusOK)
5151

5252
t.Logf("Create artifact confirm")
5353

5454
// confirm artifact upload
55-
req = NewRequest(t, "PATCH", "/api/actions_pipeline/_apis/pipelines/workflows/791/artifacts?artifactName=artifact").
55+
req = NewRequest(t, "PATCH", "/api/actions_pipeline/_apis/pipelines/workflows/791/artifacts?artifactName=artifact-single").
5656
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
5757
MakeRequest(t, req, http.StatusOK)
5858
}
@@ -115,19 +115,19 @@ func TestActionsArtifactDownload(t *testing.T) {
115115
resp := MakeRequest(t, req, http.StatusOK)
116116
var listResp listArtifactsResponse
117117
DecodeJSON(t, resp, &listResp)
118-
assert.Equal(t, int64(1), listResp.Count)
119-
assert.Equal(t, "artifact", listResp.Value[0].Name)
118+
assert.Equal(t, int64(2), listResp.Count)
119+
assert.Equal(t, "artifact-download", listResp.Value[0].Name)
120120
assert.Contains(t, listResp.Value[0].FileContainerResourceURL, "/api/actions_pipeline/_apis/pipelines/workflows/791/artifacts")
121121

122122
idx := strings.Index(listResp.Value[0].FileContainerResourceURL, "/api/actions_pipeline/_apis/pipelines/")
123-
url := listResp.Value[0].FileContainerResourceURL[idx+1:] + "?itemPath=artifact"
123+
url := listResp.Value[0].FileContainerResourceURL[idx+1:] + "?itemPath=artifact-download"
124124
req = NewRequest(t, "GET", url).
125125
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
126126
resp = MakeRequest(t, req, http.StatusOK)
127127
var downloadResp downloadArtifactResponse
128128
DecodeJSON(t, resp, &downloadResp)
129129
assert.Len(t, downloadResp.Value, 1)
130-
assert.Equal(t, "artifact/abc.txt", downloadResp.Value[0].Path)
130+
assert.Equal(t, "artifact-download/abc.txt", downloadResp.Value[0].Path)
131131
assert.Equal(t, "file", downloadResp.Value[0].ItemType)
132132
assert.Contains(t, downloadResp.Value[0].ContentLocation, "/api/actions_pipeline/_apis/pipelines/workflows/791/artifacts")
133133

@@ -136,8 +136,9 @@ func TestActionsArtifactDownload(t *testing.T) {
136136
req = NewRequest(t, "GET", url).
137137
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
138138
resp = MakeRequest(t, req, http.StatusOK)
139+
139140
body := strings.Repeat("A", 1024)
140-
assert.Equal(t, resp.Body.String(), body)
141+
assert.Equal(t, body, resp.Body.String())
141142
}
142143

143144
func TestActionsArtifactUploadMultipleFile(t *testing.T) {
@@ -163,14 +164,14 @@ func TestActionsArtifactUploadMultipleFile(t *testing.T) {
163164

164165
files := []uploadingFile{
165166
{
166-
Path: "abc.txt",
167-
Content: strings.Repeat("A", 1024),
168-
MD5: "1HsSe8LeLWh93ILaw1TEFQ==",
167+
Path: "abc-3.txt",
168+
Content: strings.Repeat("D", 1024),
169+
MD5: "9nqj7E8HZmfQtPifCJ5Zww==",
169170
},
170171
{
171-
Path: "xyz/def.txt",
172-
Content: strings.Repeat("B", 1024),
173-
MD5: "6fgADK/7zjadf+6cB9Q1CQ==",
172+
Path: "xyz/def-2.txt",
173+
Content: strings.Repeat("E", 1024),
174+
MD5: "/s1kKvxeHlUX85vaTaVxuA==",
174175
},
175176
}
176177

@@ -199,7 +200,7 @@ func TestActionsArtifactUploadMultipleFile(t *testing.T) {
199200
func TestActionsArtifactDownloadMultiFiles(t *testing.T) {
200201
defer tests.PrepareTestEnv(t)()
201202

202-
const testArtifactName = "multi-files"
203+
const testArtifactName = "multi-file-download"
203204

204205
req := NewRequest(t, "GET", "/api/actions_pipeline/_apis/pipelines/workflows/791/artifacts").
205206
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
@@ -226,7 +227,7 @@ func TestActionsArtifactDownloadMultiFiles(t *testing.T) {
226227
DecodeJSON(t, resp, &downloadResp)
227228
assert.Len(t, downloadResp.Value, 2)
228229

229-
downloads := [][]string{{"multi-files/abc.txt", "A"}, {"multi-files/xyz/def.txt", "B"}}
230+
downloads := [][]string{{"multi-file-download/abc.txt", "B"}, {"multi-file-download/xyz/def.txt", "C"}}
230231
for _, v := range downloadResp.Value {
231232
var bodyChar string
232233
var path string
@@ -247,8 +248,7 @@ func TestActionsArtifactDownloadMultiFiles(t *testing.T) {
247248
req = NewRequest(t, "GET", url).
248249
AddTokenAuth("8061e833a55f6fc0157c98b883e91fcfeeb1a71a")
249250
resp = MakeRequest(t, req, http.StatusOK)
250-
body := strings.Repeat(bodyChar, 1024)
251-
assert.Equal(t, resp.Body.String(), body)
251+
assert.Equal(t, strings.Repeat(bodyChar, 1024), resp.Body.String())
252252
}
253253
}
254254

tests/test_utils.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,11 @@ func PrepareTestEnv(t testing.TB, skip ...int) func() {
206206
// load git repo fixtures
207207
assert.NoError(t, util.RemoveAll(setting.RepoRootPath))
208208
assert.NoError(t, unittest.CopyDir(path.Join(filepath.Dir(setting.AppPath), "tests/gitea-repositories-meta"), setting.RepoRootPath))
209+
210+
// load actions artifact fixtures
211+
assert.NoError(t, util.RemoveAll(setting.Actions.ArtifactStorage.Path))
212+
assert.NoError(t, unittest.CopyDir(path.Join(filepath.Dir(setting.AppPath), "tests/gitea-artifacts-meta"), setting.Actions.ArtifactStorage.Path))
213+
209214
ownerDirs, err := os.ReadDir(setting.RepoRootPath)
210215
if err != nil {
211216
assert.NoError(t, err, "unable to read the new repo root: %v\n", err)

0 commit comments

Comments
 (0)