mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-18 03:05:28 +00:00
github file The existing logic sets the creation time of a github file to the time when the github repository was created. The fix sets the creation time of a github file to the time when the file was created.
141 lines
3.8 KiB
Go
141 lines
3.8 KiB
Go
package github
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestQueryFields(t *testing.T) {
|
|
testCases := []struct {
|
|
formatter queryField
|
|
expected string
|
|
}{
|
|
{
|
|
formatter: Keyword("keyword"),
|
|
expected: "keyword",
|
|
},
|
|
{
|
|
formatter: Filesize(RangeLessThan{23}),
|
|
expected: "size:<23",
|
|
},
|
|
{
|
|
formatter: Filesize(RangeWithin{24, 64}),
|
|
expected: "size:24..64",
|
|
},
|
|
{
|
|
formatter: Filesize(RangeGreaterThan{64}),
|
|
expected: "size:>64",
|
|
},
|
|
{
|
|
formatter: Path("some/path/to/file"),
|
|
expected: "path:some/path/to/file",
|
|
},
|
|
{
|
|
formatter: Filename("kustomization.yaml"),
|
|
expected: "filename:kustomization.yaml",
|
|
},
|
|
}
|
|
|
|
for _, test := range testCases {
|
|
if result := test.formatter.String(); result != test.expected {
|
|
t.Errorf("got (%#v = %s), expected %s", test.formatter, result, test.expected)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestQueryType(t *testing.T) {
|
|
testCases := []struct {
|
|
query Query
|
|
expected string
|
|
}{
|
|
{
|
|
query: QueryWith(
|
|
Filesize(RangeWithin{24, 64}),
|
|
Filename("kustomization.yaml"),
|
|
Keyword("keyword1"),
|
|
Keyword("keyword2"),
|
|
Repo("user1/repo1"),
|
|
User("user1"),
|
|
),
|
|
expected: "q=size:24..64+filename:kustomization.yaml+keyword1+keyword2+" +
|
|
"repo:user1/repo1+user:user1",
|
|
},
|
|
}
|
|
|
|
for _, test := range testCases {
|
|
if queryStr := test.query.String(); queryStr != test.expected {
|
|
t.Errorf("got (%#v = %s), expected %s", test.query, queryStr, test.expected)
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
func TestGithubSearchQuery(t *testing.T) {
|
|
const (
|
|
perPage = 100
|
|
)
|
|
|
|
testCases := []struct {
|
|
rc RequestConfig
|
|
codeQuery Query
|
|
fullRepoName string
|
|
path string
|
|
expectedCodeQuery string
|
|
expectedContentsQuery string
|
|
expectedCommitsQuery string
|
|
}{
|
|
{
|
|
rc: RequestConfig{
|
|
perPage: perPage,
|
|
},
|
|
codeQuery: Query{
|
|
Filename("kustomization.yaml"),
|
|
Filesize(RangeWithin{64, 128}),
|
|
},
|
|
fullRepoName: "kubernetes-sigs/kustomize",
|
|
path: "examples/helloWorld/kustomization.yaml",
|
|
|
|
expectedCodeQuery: "https://api.github.com/search/code?" +
|
|
"q=filename:kustomization.yaml+size:64..128&order=desc&per_page=100&sort=indexed",
|
|
|
|
expectedContentsQuery: "https://api.github.com/repos/kubernetes-sigs/kustomize/contents/" +
|
|
"examples/helloWorld/kustomization.yaml?per_page=100",
|
|
|
|
expectedCommitsQuery: "https://api.github.com/repos/kubernetes-sigs/kustomize/commits?" +
|
|
"path=examples%2FhelloWorld%2Fkustomization.yaml&per_page=100",
|
|
},
|
|
{
|
|
rc: RequestConfig{
|
|
perPage: perPage,
|
|
},
|
|
codeQuery: Query{
|
|
Filename("kustomization.yaml"),
|
|
Filesize(RangeWithin{64, 128}),
|
|
},
|
|
fullRepoName: "kubernetes-sigs/kustomize",
|
|
path: "examples 1/helloWorld/kustomization.yaml",
|
|
|
|
expectedCodeQuery: "https://api.github.com/search/code?" +
|
|
"q=filename:kustomization.yaml+size:64..128&order=desc&per_page=100&sort=indexed",
|
|
|
|
expectedContentsQuery: "https://api.github.com/repos/kubernetes-sigs/kustomize/contents/" +
|
|
"examples%201/helloWorld/kustomization.yaml?per_page=100",
|
|
|
|
expectedCommitsQuery: "https://api.github.com/repos/kubernetes-sigs/kustomize/commits?" +
|
|
"path=examples+1%2FhelloWorld%2Fkustomization.yaml&per_page=100",
|
|
},
|
|
}
|
|
|
|
for _, test := range testCases {
|
|
if result := test.rc.CodeSearchRequestWith(test.codeQuery).URL(); result != test.expectedCodeQuery {
|
|
t.Errorf("Got code query: %s, expected %s", result, test.expectedCodeQuery)
|
|
}
|
|
|
|
if result := test.rc.ContentsRequest(test.fullRepoName, test.path); result != test.expectedContentsQuery {
|
|
t.Errorf("Got contents query: %s, expected %s", result, test.expectedContentsQuery)
|
|
}
|
|
if result := test.rc.CommitsRequest(test.fullRepoName, test.path); result != test.expectedCommitsQuery {
|
|
t.Errorf("Got commits query: %s, expected %s", result, test.expectedCommitsQuery)
|
|
}
|
|
}
|
|
}
|