FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
codeql-action/src/debug-artifacts.test.ts at default-setup-testing · github/codeql-action · GitHub
github
codeql-action
Repository navigation
Code
Issues
165
(165)
Pull requests
44
(44)
Actions
Security and quality
2
(2)
Insights
Expand file tree
Breadcrumbs
codeql-action
/
src
/
debug-artifacts.test.ts
Copy path
More file actions
More file actions
Latest commit
History
History
History
98 lines (90 loc) · 3.02 KB
Breadcrumbs
codeql-action
/
src
/
debug-artifacts.test.ts
Copy path
File metadata and controls
98 lines (90 loc) · 3.02 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
86
87
88
89
90
91
92
93
94
95
96
97
98
import
test
from
"ava"
;
import
*
as
debugArtifacts
from
"./debug-artifacts"
;
import
{
getActionsLogger
}
from
"./logging"
;
import
{
GitHubVariant
}
from
"./util"
;
test
(
"sanitizeArtifactName"
,
(
t
)
=>
{
t
.
deepEqual
(
debugArtifacts
.
sanitizeArtifactName
(
"hello-world_"
)
,
"hello-world_"
,
)
;
t
.
deepEqual
(
debugArtifacts
.
sanitizeArtifactName
(
"hello`world`"
)
,
"helloworld"
,
)
;
t
.
deepEqual
(
debugArtifacts
.
sanitizeArtifactName
(
"hello===123"
)
,
"hello123"
)
;
t
.
deepEqual
(
debugArtifacts
.
sanitizeArtifactName
(
"*m)a&n^y%i££n+v!a:l[i]d"
)
,
"manyinvalid"
,
)
;
t
.
deepEqual
(
debugArtifacts
.
sanitizeArtifactName
(
"\\foo\\bar//baz"
)
,
"foobarbaz"
,
)
;
}
)
;
test
(
"getArtifactSuffix"
,
(
t
)
=>
{
// No suffix if there's no `matrix` input, it is invalid, or has no keys.
t
.
is
(
debugArtifacts
.
getArtifactSuffix
(
undefined
)
,
""
)
;
t
.
is
(
debugArtifacts
.
getArtifactSuffix
(
""
)
,
""
)
;
t
.
is
(
debugArtifacts
.
getArtifactSuffix
(
"invalid json"
)
,
""
)
;
t
.
is
(
debugArtifacts
.
getArtifactSuffix
(
"{}"
)
,
""
)
;
t
.
is
(
debugArtifacts
.
getArtifactSuffix
(
"null"
)
,
""
)
;
t
.
is
(
debugArtifacts
.
getArtifactSuffix
(
"123"
)
,
""
)
;
t
.
is
(
debugArtifacts
.
getArtifactSuffix
(
'"string"'
)
,
""
)
;
// Suffixes for non-empty, valid `matrix` inputs.
const
testMatrices
=
[
{
matrix
:
{
language
:
"go"
}
,
expected
:
"-go"
}
,
{
matrix
:
{
language
:
"javascript"
,
"build-mode"
:
"none"
}
,
expected
:
"-none-javascript"
,
}
,
{
matrix
:
{
"build-mode"
:
"none"
,
language
:
"javascript"
}
,
expected
:
"-none-javascript"
,
}
,
]
;
for
(
const
testMatrix
of
testMatrices
)
{
const
suffix
=
debugArtifacts
.
getArtifactSuffix
(
JSON
.
stringify
(
testMatrix
.
matrix
)
,
)
;
t
.
is
(
suffix
,
testMatrix
.
expected
)
;
}
}
)
;
// These next tests check whether `uploadArtifacts` attempts to upload an artifact. Since it's not
// easy to mock the actual call to upload an artifact, we check that we get an "upload-failed"
// result, instead of actually uploading the artifact.
test
(
"uploadArtifacts returns 'no-artifacts-to-upload' when there are no files to upload"
,
async
(
t
)
=>
{
// Test that no error is thrown if artifacts list is empty.
const
logger
=
getActionsLogger
(
)
;
await
t
.
notThrowsAsync
(
async
(
)
=>
{
const
uploaded
=
await
debugArtifacts
.
uploadArtifacts
(
logger
,
[
]
,
"i-dont-exist"
,
"artifactName"
,
GitHubVariant
.
DOTCOM
,
)
;
t
.
is
(
uploaded
,
"no-artifacts-to-upload"
,
"Should not have uploaded any artifacts"
,
)
;
}
)
;
}
)
;
test
(
"uploadArtifacts attempts an upload when there are files to upload"
,
async
(
t
)
=>
{
const
logger
=
getActionsLogger
(
)
;
await
t
.
notThrowsAsync
(
async
(
)
=>
{
const
uploaded
=
await
debugArtifacts
.
uploadArtifacts
(
logger
,
[
"hucairz"
]
,
"i-dont-exist"
,
"artifactName"
,
GitHubVariant
.
DOTCOM
,
)
;
t
.
is
(
uploaded
,
// The failure is expected since we don't want to actually upload any artifacts in unit tests.
"upload-failed"
,
"Expect failure to upload artifacts since root dir does not exist"
,
)
;
}
)
;
}
)
;
Back
|
FazBrowse Home
|
New Git URL