Return error for non-existing runner group. (#2215)
This commit is contained in:
		
							parent
							
								
									7ea60e497c
								
							
						
					
					
						commit
						b09e3a2dc9
					
				|  | @ -300,7 +300,7 @@ func (c *Client) GetRunnerGroupByName(ctx context.Context, runnerGroup string) ( | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if runnerGroupList.Count == 0 { | 	if runnerGroupList.Count == 0 { | ||||||
| 		return nil, nil | 		return nil, fmt.Errorf("no runner group found with name '%s'", runnerGroup) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if runnerGroupList.Count > 1 { | 	if runnerGroupList.Count > 1 { | ||||||
|  |  | ||||||
|  | @ -173,3 +173,47 @@ func TestDeleteRunner(t *testing.T) { | ||||||
| 		assert.Equalf(t, actualRetry, expectedRetry, "A retry was expected after the first request but got: %v", actualRetry) | 		assert.Equalf(t, actualRetry, expectedRetry, "A retry was expected after the first request but got: %v", actualRetry) | ||||||
| 	}) | 	}) | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | func TestGetRunnerGroupByName(t *testing.T) { | ||||||
|  | 	ctx := context.Background() | ||||||
|  | 	auth := &actions.ActionsAuth{ | ||||||
|  | 		Token: "token", | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	t.Run("Get RunnerGroup by Name", func(t *testing.T) { | ||||||
|  | 		var runnerGroupID int64 = 1 | ||||||
|  | 		var runnerGroupName string = "test-runner-group" | ||||||
|  | 		want := &actions.RunnerGroup{ | ||||||
|  | 			ID:   runnerGroupID, | ||||||
|  | 			Name: runnerGroupName, | ||||||
|  | 		} | ||||||
|  | 		response := []byte(`{"count": 1, "value": [{"id": 1, "name": "test-runner-group"}]}`) | ||||||
|  | 
 | ||||||
|  | 		server := newActionsServer(t, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { | ||||||
|  | 			w.Write(response) | ||||||
|  | 		})) | ||||||
|  | 
 | ||||||
|  | 		client, err := actions.NewClient(ctx, server.configURLForOrg("my-org"), auth) | ||||||
|  | 		require.NoError(t, err) | ||||||
|  | 
 | ||||||
|  | 		got, err := client.GetRunnerGroupByName(ctx, runnerGroupName) | ||||||
|  | 		require.NoError(t, err) | ||||||
|  | 		assert.Equal(t, want, got) | ||||||
|  | 	}) | ||||||
|  | 
 | ||||||
|  | 	t.Run("Get RunnerGroup by name with not exist runner group", func(t *testing.T) { | ||||||
|  | 		var runnerGroupName string = "test-runner-group" | ||||||
|  | 		response := []byte(`{"count": 0, "value": []}`) | ||||||
|  | 
 | ||||||
|  | 		server := newActionsServer(t, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { | ||||||
|  | 			w.Write(response) | ||||||
|  | 		})) | ||||||
|  | 
 | ||||||
|  | 		client, err := actions.NewClient(ctx, server.configURLForOrg("my-org"), auth) | ||||||
|  | 		require.NoError(t, err) | ||||||
|  | 
 | ||||||
|  | 		got, err := client.GetRunnerGroupByName(ctx, runnerGroupName) | ||||||
|  | 		assert.ErrorContains(t, err, "no runner group found with name") | ||||||
|  | 		assert.Nil(t, got) | ||||||
|  | 	}) | ||||||
|  | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue