From ebbf2ac096ba69d7508552e8f5e21cd006d0850f Mon Sep 17 00:00:00 2001 From: Sam Coe Date: Mon, 23 May 2022 15:00:32 +0200 Subject: [PATCH] Fix owner qualifier for search queries (#5693) --- pkg/cmd/repo/list/http.go | 2 +- pkg/cmd/repo/list/http_test.go | 20 ++++++++++---------- pkg/cmd/search/issues/issues.go | 2 +- pkg/cmd/search/prs/prs.go | 2 +- pkg/cmd/search/repos/repos.go | 4 ++-- pkg/cmd/search/repos/repos_test.go | 2 +- pkg/search/query.go | 2 +- pkg/search/query_test.go | 14 +++++++------- 8 files changed, 24 insertions(+), 24 deletions(-) diff --git a/pkg/cmd/repo/list/http.go b/pkg/cmd/repo/list/http.go index e111b93ff..765cf8b0c 100644 --- a/pkg/cmd/repo/list/http.go +++ b/pkg/cmd/repo/list/http.go @@ -208,8 +208,8 @@ func searchQuery(owner string, filter FilterOptions) string { Fork: fork, Is: []string{filter.Visibility}, Language: filter.Language, - Org: owner, Topic: []string{filter.Topic}, + User: owner, }, } diff --git a/pkg/cmd/repo/list/http_test.go b/pkg/cmd/repo/list/http_test.go index 70d8e51c8..20f2c3fec 100644 --- a/pkg/cmd/repo/list/http_test.go +++ b/pkg/cmd/repo/list/http_test.go @@ -57,7 +57,7 @@ func Test_listReposWithLanguage(t *testing.T) { assert.Equal(t, "octocat/hello-world", res.Repositories[0].NameWithOwner) assert.Equal(t, float64(10), searchData.Variables["perPage"]) - assert.Equal(t, `sort:updated-desc fork:true language:go org:@me`, searchData.Variables["query"]) + assert.Equal(t, `sort:updated-desc fork:true language:go user:@me`, searchData.Variables["query"]) } func Test_searchQuery(t *testing.T) { @@ -72,14 +72,14 @@ func Test_searchQuery(t *testing.T) { }{ { name: "blank", - want: "sort:updated-desc fork:true org:@me", + want: "sort:updated-desc fork:true user:@me", }, { name: "in org", args: args{ owner: "cli", }, - want: "sort:updated-desc fork:true org:cli", + want: "sort:updated-desc fork:true user:cli", }, { name: "only public", @@ -89,7 +89,7 @@ func Test_searchQuery(t *testing.T) { Visibility: "public", }, }, - want: "sort:updated-desc fork:true is:public org:@me", + want: "sort:updated-desc fork:true is:public user:@me", }, { name: "only private", @@ -99,7 +99,7 @@ func Test_searchQuery(t *testing.T) { Visibility: "private", }, }, - want: "sort:updated-desc fork:true is:private org:@me", + want: "sort:updated-desc fork:true is:private user:@me", }, { name: "only forks", @@ -109,7 +109,7 @@ func Test_searchQuery(t *testing.T) { Fork: true, }, }, - want: "sort:updated-desc fork:only org:@me", + want: "sort:updated-desc fork:only user:@me", }, { name: "no forks", @@ -119,7 +119,7 @@ func Test_searchQuery(t *testing.T) { Source: true, }, }, - want: "sort:updated-desc fork:false org:@me", + want: "sort:updated-desc fork:false user:@me", }, { name: "with language", @@ -129,7 +129,7 @@ func Test_searchQuery(t *testing.T) { Language: "ruby", }, }, - want: `sort:updated-desc fork:true language:ruby org:@me`, + want: `sort:updated-desc fork:true language:ruby user:@me`, }, { name: "only archived", @@ -139,7 +139,7 @@ func Test_searchQuery(t *testing.T) { Archived: true, }, }, - want: "sort:updated-desc archived:true fork:true org:@me", + want: "sort:updated-desc archived:true fork:true user:@me", }, { name: "only non-archived", @@ -149,7 +149,7 @@ func Test_searchQuery(t *testing.T) { NonArchived: true, }, }, - want: "sort:updated-desc archived:false fork:true org:@me", + want: "sort:updated-desc archived:false fork:true user:@me", }, } for _, tt := range tests { diff --git a/pkg/cmd/search/issues/issues.go b/pkg/cmd/search/issues/issues.go index 147bd6c7c..90794053b 100644 --- a/pkg/cmd/search/issues/issues.go +++ b/pkg/cmd/search/issues/issues.go @@ -154,13 +154,13 @@ func NewCmdIssues(f *cmdutil.Factory, runF func(*shared.IssuesOptions) error) *c cmd.Flags().BoolVar(&noLabel, "no-label", false, "Filter on missing label") cmd.Flags().BoolVar(&noMilestone, "no-milestone", false, "Filter on missing milestone") cmd.Flags().BoolVar(&noProject, "no-project", false, "Filter on missing project") - cmd.Flags().StringVar(&opts.Query.Qualifiers.Org, "owner", "", "Filter on owner") cmd.Flags().StringVar(&opts.Query.Qualifiers.Project, "project", "", "Filter on project board `number`") cmd.Flags().StringVar(&opts.Query.Qualifiers.Reactions, "reactions", "", "Filter on `number` of reactions") cmd.Flags().StringSliceVar(&opts.Query.Qualifiers.Repo, "repo", nil, "Filter on repository") cmdutil.StringEnumFlag(cmd, &opts.Query.Qualifiers.State, "state", "", "", []string{"open", "closed"}, "Filter based on state") cmd.Flags().StringVar(&opts.Query.Qualifiers.Team, "team-mentions", "", "Filter based on team mentions") cmd.Flags().StringVar(&opts.Query.Qualifiers.Updated, "updated", "", "Filter on last updated at `date`") + cmd.Flags().StringVar(&opts.Query.Qualifiers.User, "owner", "", "Filter on repository owner") return cmd } diff --git a/pkg/cmd/search/prs/prs.go b/pkg/cmd/search/prs/prs.go index 3c038e599..ea31001ce 100644 --- a/pkg/cmd/search/prs/prs.go +++ b/pkg/cmd/search/prs/prs.go @@ -165,13 +165,13 @@ func NewCmdPrs(f *cmdutil.Factory, runF func(*shared.IssuesOptions) error) *cobr cmd.Flags().BoolVar(&noLabel, "no-label", false, "Filter on missing label") cmd.Flags().BoolVar(&noMilestone, "no-milestone", false, "Filter on missing milestone") cmd.Flags().BoolVar(&noProject, "no-project", false, "Filter on missing project") - cmd.Flags().StringVar(&opts.Query.Qualifiers.Org, "owner", "", "Filter on owner") cmd.Flags().StringVar(&opts.Query.Qualifiers.Project, "project", "", "Filter on project board `number`") cmd.Flags().StringVar(&opts.Query.Qualifiers.Reactions, "reactions", "", "Filter on `number` of reactions") cmd.Flags().StringSliceVar(&opts.Query.Qualifiers.Repo, "repo", nil, "Filter on repository") cmdutil.StringEnumFlag(cmd, &opts.Query.Qualifiers.State, "state", "", "", []string{"open", "closed"}, "Filter based on state") cmd.Flags().StringVar(&opts.Query.Qualifiers.Team, "team-mentions", "", "Filter based on team mentions") cmd.Flags().StringVar(&opts.Query.Qualifiers.Updated, "updated", "", "Filter on last updated at `date`") + cmd.Flags().StringVar(&opts.Query.Qualifiers.User, "owner", "", "Filter on repository owner") // Pull request query qualifier flags cmd.Flags().StringVarP(&opts.Query.Qualifiers.Base, "base", "B", "", "Filter on base branch name") diff --git a/pkg/cmd/search/repos/repos.go b/pkg/cmd/search/repos/repos.go index 6283c30cb..3c60ef1eb 100644 --- a/pkg/cmd/search/repos/repos.go +++ b/pkg/cmd/search/repos/repos.go @@ -108,15 +108,15 @@ func NewCmdRepos(f *cmdutil.Factory, runF func(*ReposOptions) error) *cobra.Comm cmd.Flags().StringVar(&opts.Query.Qualifiers.GoodFirstIssues, "good-first-issues", "", "Filter on `number` of issues with the 'good first issue' label") cmd.Flags().StringVar(&opts.Query.Qualifiers.HelpWantedIssues, "help-wanted-issues", "", "Filter on `number` of issues with the 'help wanted' label") cmdutil.StringSliceEnumFlag(cmd, &opts.Query.Qualifiers.In, "match", "", nil, []string{"name", "description", "readme"}, "Restrict search to specific field of repository") + cmdutil.StringSliceEnumFlag(cmd, &opts.Query.Qualifiers.Is, "visibility", "", nil, []string{"public", "private", "internal"}, "Filter based on visibility") cmd.Flags().StringVar(&opts.Query.Qualifiers.Language, "language", "", "Filter based on the coding language") cmd.Flags().StringSliceVar(&opts.Query.Qualifiers.License, "license", nil, "Filter based on license type") - cmd.Flags().StringVar(&opts.Query.Qualifiers.Org, "owner", "", "Filter on owner") cmd.Flags().StringVar(&opts.Query.Qualifiers.Pushed, "updated", "", "Filter on last updated at `date`") cmd.Flags().StringVar(&opts.Query.Qualifiers.Size, "size", "", "Filter on a size range, in kilobytes") cmd.Flags().StringVar(&opts.Query.Qualifiers.Stars, "stars", "", "Filter on `number` of stars") cmd.Flags().StringSliceVar(&opts.Query.Qualifiers.Topic, "topic", nil, "Filter on topic") cmd.Flags().StringVar(&opts.Query.Qualifiers.Topics, "number-topics", "", "Filter on `number` of topics") - cmdutil.StringSliceEnumFlag(cmd, &opts.Query.Qualifiers.Is, "visibility", "", nil, []string{"public", "private", "internal"}, "Filter based on visibility") + cmd.Flags().StringVar(&opts.Query.Qualifiers.User, "owner", "", "Filter on owner") return cmd } diff --git a/pkg/cmd/search/repos/repos_test.go b/pkg/cmd/search/repos/repos_test.go index 147984317..fc7bf6d49 100644 --- a/pkg/cmd/search/repos/repos_test.go +++ b/pkg/cmd/search/repos/repos_test.go @@ -104,12 +104,12 @@ func TestNewCmdRepos(t *testing.T) { In: []string{"description", "readme"}, Language: "language", License: []string{"license"}, - Org: "owner", Pushed: "updated", Size: "5", Stars: "6", Topic: []string{"topic"}, Topics: "7", + User: "owner", Is: []string{"public"}, }, }, diff --git a/pkg/search/query.go b/pkg/search/query.go index 41f52f6a1..8eb440af8 100644 --- a/pkg/search/query.go +++ b/pkg/search/query.go @@ -51,7 +51,6 @@ type Qualifiers struct { Merged string Milestone string No []string - Org string Project string Pushed string Reactions string @@ -69,6 +68,7 @@ type Qualifiers struct { Topics string Type string Updated string + User string } func (q Query) String() string { diff --git a/pkg/search/query_test.go b/pkg/search/query_test.go index 3e1cfca20..3e35fd7db 100644 --- a/pkg/search/query_test.go +++ b/pkg/search/query_test.go @@ -29,16 +29,16 @@ func TestQueryString(t *testing.T) { In: []string{"description", "readme"}, Language: "language", License: []string{"license"}, - Org: "org", Pushed: "updated", Size: "5", Stars: "6", Topic: []string{"topic"}, Topics: "7", + User: "user", Is: []string{"public"}, }, }, - out: "some keywords archived:true created:created followers:1 fork:true forks:2 good-first-issues:3 help-wanted-issues:4 in:description in:readme is:public language:language license:license org:org pushed:updated size:5 stars:6 topic:topic topics:7", + out: "some keywords archived:true created:created followers:1 fork:true forks:2 good-first-issues:3 help-wanted-issues:4 in:description in:readme is:public language:language license:license pushed:updated size:5 stars:6 topic:topic topics:7 user:user", }, { name: "quotes keywords", @@ -81,15 +81,15 @@ func TestQualifiersMap(t *testing.T) { GoodFirstIssues: "3", HelpWantedIssues: "4", In: []string{"readme"}, + Is: []string{"public"}, Language: "language", License: []string{"license"}, - Org: "org", Pushed: "updated", Size: "5", Stars: "6", Topic: []string{"topic"}, Topics: "7", - Is: []string{"public"}, + User: "user", }, out: map[string][]string{ "archived": {"true"}, @@ -103,27 +103,27 @@ func TestQualifiersMap(t *testing.T) { "is": {"public"}, "language": {"language"}, "license": {"license"}, - "org": {"org"}, "pushed": {"updated"}, "size": {"5"}, "stars": {"6"}, "topic": {"topic"}, "topics": {"7"}, + "user": {"user"}, }, }, { name: "excludes unset qualifiers from map", qualifiers: Qualifiers{ - Org: "org", Pushed: "updated", Size: "5", Stars: "6", + User: "user", }, out: map[string][]string{ - "org": {"org"}, "pushed": {"updated"}, "size": {"5"}, "stars": {"6"}, + "user": {"user"}, }, }, }