@@ -420,3 +420,70 @@ func TestAPISearchIssuesWithLabels(t *testing.T) {
420420 DecodeJSON (t , resp , & apiIssues )
421421 assert .Len (t , apiIssues , 2 )
422422}
423+
424+ func TestAPISearchIssuesCreatedBy (t * testing.T ) {
425+ defer tests .PrepareTestEnv (t )()
426+ defer test .MockVariableValue (& setting .API .DefaultPagingNum , 20 )()
427+ expectedIssueCount := 20 // 20 is from the fixtures
428+
429+ link , _ := url .Parse ("/api/v1/repos/issues/search" )
430+ token := getUserToken (t , "user1" , auth_model .AccessTokenScopeReadIssue )
431+ query := url.Values {}
432+ var apiIssues []* api.Issue
433+
434+ link .RawQuery = query .Encode ()
435+ req := NewRequest (t , "GET" , link .String ()).AddTokenAuth (token )
436+ resp := MakeRequest (t , req , http .StatusOK )
437+ DecodeJSON (t , resp , & apiIssues )
438+ assert .Len (t , apiIssues , expectedIssueCount )
439+
440+ // Auth user, user1 created issues
441+ query .Add ("created" , "1" )
442+ link .RawQuery = query .Encode ()
443+ req = NewRequest (t , "GET" , link .String ()).AddTokenAuth (token )
444+ resp = MakeRequest (t , req , http .StatusOK )
445+ DecodeJSON (t , resp , & apiIssues )
446+ assert .Len (t , apiIssues , 5 )
447+
448+ // Auth user, user1 created pull requests
449+ query .Add ("type" , "pulls" )
450+ link .RawQuery = query .Encode ()
451+ req = NewRequest (t , "GET" , link .String ()).AddTokenAuth (token )
452+ resp = MakeRequest (t , req , http .StatusOK )
453+ DecodeJSON (t , resp , & apiIssues )
454+ assert .Len (t , apiIssues , 3 )
455+
456+ // user1 created issues, using created_by filter
457+ query = url.Values {}
458+ query .Add ("created_by" , "user1" )
459+ link .RawQuery = query .Encode ()
460+ req = NewRequest (t , "GET" , link .String ()).AddTokenAuth (token )
461+ resp = MakeRequest (t , req , http .StatusOK )
462+ DecodeJSON (t , resp , & apiIssues )
463+ assert .Len (t , apiIssues , 5 )
464+
465+ // user1 created pull requests, using created_by filter
466+ query .Add ("type" , "pulls" )
467+ link .RawQuery = query .Encode ()
468+ req = NewRequest (t , "GET" , link .String ()).AddTokenAuth (token )
469+ resp = MakeRequest (t , req , http .StatusOK )
470+ DecodeJSON (t , resp , & apiIssues )
471+ assert .Len (t , apiIssues , 3 )
472+
473+ // user2 created issues, using created_by filter
474+ query = url.Values {}
475+ query .Add ("created_by" , "user2" )
476+ link .RawQuery = query .Encode ()
477+ req = NewRequest (t , "GET" , link .String ()).AddTokenAuth (token )
478+ resp = MakeRequest (t , req , http .StatusOK )
479+ DecodeJSON (t , resp , & apiIssues )
480+ assert .Len (t , apiIssues , 9 )
481+
482+ // user2 created pull requests, using created_by filter
483+ query .Add ("type" , "pulls" )
484+ link .RawQuery = query .Encode ()
485+ req = NewRequest (t , "GET" , link .String ()).AddTokenAuth (token )
486+ resp = MakeRequest (t , req , http .StatusOK )
487+ DecodeJSON (t , resp , & apiIssues )
488+ assert .Len (t , apiIssues , 3 )
489+ }
0 commit comments