@@ -69,40 +69,41 @@ func TestAPISearchRepo(t *testing.T) {
69
69
name , requestURL string
70
70
expectedResults
71
71
}{
72
- {name : "RepositoriesMax50" , requestURL : "/api/v1/repos/search?limit=50" , expectedResults : expectedResults {
72
+ {name : "RepositoriesMax50" , requestURL : "/api/v1/repos/search?limit=50&private=false " , expectedResults : expectedResults {
73
73
nil : {count : 19 },
74
74
user : {count : 19 },
75
75
user2 : {count : 19 }},
76
76
},
77
- {name : "RepositoriesMax10" , requestURL : "/api/v1/repos/search?limit=10" , expectedResults : expectedResults {
77
+ {name : "RepositoriesMax10" , requestURL : "/api/v1/repos/search?limit=10&private=false " , expectedResults : expectedResults {
78
78
nil : {count : 10 },
79
79
user : {count : 10 },
80
80
user2 : {count : 10 }},
81
81
},
82
- {name : "RepositoriesDefaultMax10" , requestURL : "/api/v1/repos/search?default" , expectedResults : expectedResults {
82
+ {name : "RepositoriesDefaultMax10" , requestURL : "/api/v1/repos/search?default&private=false " , expectedResults : expectedResults {
83
83
nil : {count : 10 },
84
84
user : {count : 10 },
85
85
user2 : {count : 10 }},
86
86
},
87
- {name : "RepositoriesByName" , requestURL : fmt .Sprintf ("/api/v1/repos/search?q=%s" , "big_test_" ), expectedResults : expectedResults {
87
+ {name : "RepositoriesByName" , requestURL : fmt .Sprintf ("/api/v1/repos/search?q=%s&private=false " , "big_test_" ), expectedResults : expectedResults {
88
88
nil : {count : 7 , repoName : "big_test_" },
89
89
user : {count : 7 , repoName : "big_test_" },
90
90
user2 : {count : 7 , repoName : "big_test_" }},
91
91
},
92
92
{name : "RepositoriesAccessibleAndRelatedToUser" , requestURL : fmt .Sprintf ("/api/v1/repos/search?uid=%d" , user .ID ), expectedResults : expectedResults {
93
- nil : {count : 4 },
94
- user : {count : 8 , includesPrivate : true },
95
- user2 : {count : 4 }},
93
+ nil : {count : 5 },
94
+ user : {count : 9 , includesPrivate : true },
95
+ user2 : {count : 5 , includesPrivate : true }},
96
96
},
97
97
{name : "RepositoriesAccessibleAndRelatedToUser2" , requestURL : fmt .Sprintf ("/api/v1/repos/search?uid=%d" , user2 .ID ), expectedResults : expectedResults {
98
98
nil : {count : 1 },
99
- user : {count : 1 },
100
- user2 : {count : 2 , includesPrivate : true }},
99
+ user : {count : 2 , includesPrivate : true },
100
+ user2 : {count : 2 , includesPrivate : true },
101
+ user4 : {count : 1 }},
101
102
},
102
103
{name : "RepositoriesAccessibleAndRelatedToUser3" , requestURL : fmt .Sprintf ("/api/v1/repos/search?uid=%d" , user3 .ID ), expectedResults : expectedResults {
103
104
nil : {count : 1 },
104
- user : {count : 1 },
105
- user2 : {count : 1 },
105
+ user : {count : 4 , includesPrivate : true },
106
+ user2 : {count : 2 , includesPrivate : true },
106
107
user3 : {count : 4 , includesPrivate : true }},
107
108
},
108
109
{name : "RepositoriesOwnedByOrganization" , requestURL : fmt .Sprintf ("/api/v1/repos/search?uid=%d" , orgUser .ID ), expectedResults : expectedResults {
@@ -112,12 +113,12 @@ func TestAPISearchRepo(t *testing.T) {
112
113
},
113
114
{name : "RepositoriesAccessibleAndRelatedToUser4" , requestURL : fmt .Sprintf ("/api/v1/repos/search?uid=%d" , user4 .ID ), expectedResults : expectedResults {
114
115
nil : {count : 3 },
115
- user : {count : 3 },
116
- user4 : {count : 6 , includesPrivate : true }}},
116
+ user : {count : 4 , includesPrivate : true },
117
+ user4 : {count : 7 , includesPrivate : true }}},
117
118
{name : "RepositoriesAccessibleAndRelatedToUser4/SearchModeSource" , requestURL : fmt .Sprintf ("/api/v1/repos/search?uid=%d&mode=%s" , user4 .ID , "source" ), expectedResults : expectedResults {
118
119
nil : {count : 0 },
119
- user : {count : 0 },
120
- user4 : {count : 0 , includesPrivate : true }}},
120
+ user : {count : 1 , includesPrivate : true },
121
+ user4 : {count : 1 , includesPrivate : true }}},
121
122
{name : "RepositoriesAccessibleAndRelatedToUser4/SearchModeFork" , requestURL : fmt .Sprintf ("/api/v1/repos/search?uid=%d&mode=%s" , user4 .ID , "fork" ), expectedResults : expectedResults {
122
123
nil : {count : 1 },
123
124
user : {count : 1 },
@@ -136,8 +137,8 @@ func TestAPISearchRepo(t *testing.T) {
136
137
user4 : {count : 2 , includesPrivate : true }}},
137
138
{name : "RepositoriesAccessibleAndRelatedToUser4/SearchModeCollaborative" , requestURL : fmt .Sprintf ("/api/v1/repos/search?uid=%d&mode=%s" , user4 .ID , "collaborative" ), expectedResults : expectedResults {
138
139
nil : {count : 0 },
139
- user : {count : 0 },
140
- user4 : {count : 0 , includesPrivate : true }}},
140
+ user : {count : 1 , includesPrivate : true },
141
+ user4 : {count : 1 , includesPrivate : true }}},
141
142
}
142
143
143
144
for _ , testCase := range testCases {
@@ -164,14 +165,19 @@ func TestAPISearchRepo(t *testing.T) {
164
165
var body api.SearchResults
165
166
DecodeJSON (t , response , & body )
166
167
167
- assert .Len (t , body .Data , expected .count )
168
+ repoNames := make ([]string , 0 , len (body .Data ))
169
+ for _ , repo := range body .Data {
170
+ repoNames = append (repoNames , fmt .Sprintf ("%d:%s:%t" , repo .ID , repo .FullName , repo .Private ))
171
+ }
172
+ assert .Len (t , repoNames , expected .count )
168
173
for _ , repo := range body .Data {
169
174
r := getRepo (t , repo .ID )
170
175
hasAccess , err := models .HasAccess (userID , r )
171
- assert .NoError (t , err )
172
- assert .True (t , hasAccess )
176
+ assert .NoError (t , err , "Error when checking if User: %d has access to %s: %v" , userID , repo . FullName , err )
177
+ assert .True (t , hasAccess , "User: %d does not have access to %s" , userID , repo . FullName )
173
178
174
179
assert .NotEmpty (t , repo .Name )
180
+ assert .Equal (t , repo .Name , r .Name )
175
181
176
182
if len (expected .repoName ) > 0 {
177
183
assert .Contains (t , repo .Name , expected .repoName )
@@ -182,7 +188,7 @@ func TestAPISearchRepo(t *testing.T) {
182
188
}
183
189
184
190
if ! expected .includesPrivate {
185
- assert .False (t , repo .Private )
191
+ assert .False (t , repo .Private , "User: %d not expecting private repository: %s" , userID , repo . FullName )
186
192
}
187
193
}
188
194
})
0 commit comments