...

Source file src/github.com/google/go-github/v55/github/dependabot_secrets_test.go

Documentation: github.com/google/go-github/v55/github

     1  // Copyright 2022 The go-github AUTHORS. All rights reserved.
     2  //
     3  // Use of this source code is governed by a BSD-style
     4  // license that can be found in the LICENSE file.
     5  
     6  package github
     7  
     8  import (
     9  	"context"
    10  	"fmt"
    11  	"net/http"
    12  	"testing"
    13  	"time"
    14  
    15  	"github.com/google/go-cmp/cmp"
    16  )
    17  
    18  func TestDependabotService_GetRepoPublicKey(t *testing.T) {
    19  	client, mux, _, teardown := setup()
    20  	defer teardown()
    21  
    22  	mux.HandleFunc("/repos/o/r/dependabot/secrets/public-key", func(w http.ResponseWriter, r *http.Request) {
    23  		testMethod(t, r, "GET")
    24  		fmt.Fprint(w, `{"key_id":"1234","key":"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234"}`)
    25  	})
    26  
    27  	ctx := context.Background()
    28  	key, _, err := client.Dependabot.GetRepoPublicKey(ctx, "o", "r")
    29  	if err != nil {
    30  		t.Errorf("Dependabot.GetRepoPublicKey returned error: %v", err)
    31  	}
    32  
    33  	want := &PublicKey{KeyID: String("1234"), Key: String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234")}
    34  	if !cmp.Equal(key, want) {
    35  		t.Errorf("Dependabot.GetRepoPublicKey returned %+v, want %+v", key, want)
    36  	}
    37  
    38  	const methodName = "GetRepoPublicKey"
    39  	testBadOptions(t, methodName, func() (err error) {
    40  		_, _, err = client.Dependabot.GetRepoPublicKey(ctx, "\n", "\n")
    41  		return err
    42  	})
    43  
    44  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
    45  		got, resp, err := client.Dependabot.GetRepoPublicKey(ctx, "o", "r")
    46  		if got != nil {
    47  			t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got)
    48  		}
    49  		return resp, err
    50  	})
    51  }
    52  
    53  func TestDependabotService_GetRepoPublicKeyNumeric(t *testing.T) {
    54  	client, mux, _, teardown := setup()
    55  	defer teardown()
    56  
    57  	mux.HandleFunc("/repos/o/r/dependabot/secrets/public-key", func(w http.ResponseWriter, r *http.Request) {
    58  		testMethod(t, r, "GET")
    59  		fmt.Fprint(w, `{"key_id":1234,"key":"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234"}`)
    60  	})
    61  
    62  	ctx := context.Background()
    63  	key, _, err := client.Dependabot.GetRepoPublicKey(ctx, "o", "r")
    64  	if err != nil {
    65  		t.Errorf("Dependabot.GetRepoPublicKey returned error: %v", err)
    66  	}
    67  
    68  	want := &PublicKey{KeyID: String("1234"), Key: String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234")}
    69  	if !cmp.Equal(key, want) {
    70  		t.Errorf("Dependabot.GetRepoPublicKey returned %+v, want %+v", key, want)
    71  	}
    72  
    73  	const methodName = "GetRepoPublicKey"
    74  	testBadOptions(t, methodName, func() (err error) {
    75  		_, _, err = client.Dependabot.GetRepoPublicKey(ctx, "\n", "\n")
    76  		return err
    77  	})
    78  
    79  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
    80  		got, resp, err := client.Dependabot.GetRepoPublicKey(ctx, "o", "r")
    81  		if got != nil {
    82  			t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got)
    83  		}
    84  		return resp, err
    85  	})
    86  }
    87  
    88  func TestDependabotService_ListRepoSecrets(t *testing.T) {
    89  	client, mux, _, teardown := setup()
    90  	defer teardown()
    91  
    92  	mux.HandleFunc("/repos/o/r/dependabot/secrets", func(w http.ResponseWriter, r *http.Request) {
    93  		testMethod(t, r, "GET")
    94  		testFormValues(t, r, values{"per_page": "2", "page": "2"})
    95  		fmt.Fprint(w, `{"total_count":4,"secrets":[{"name":"A","created_at":"2019-01-02T15:04:05Z","updated_at":"2020-01-02T15:04:05Z"},{"name":"B","created_at":"2019-01-02T15:04:05Z","updated_at":"2020-01-02T15:04:05Z"}]}`)
    96  	})
    97  
    98  	opts := &ListOptions{Page: 2, PerPage: 2}
    99  	ctx := context.Background()
   100  	secrets, _, err := client.Dependabot.ListRepoSecrets(ctx, "o", "r", opts)
   101  	if err != nil {
   102  		t.Errorf("Dependabot.ListRepoSecrets returned error: %v", err)
   103  	}
   104  
   105  	want := &Secrets{
   106  		TotalCount: 4,
   107  		Secrets: []*Secret{
   108  			{Name: "A", CreatedAt: Timestamp{time.Date(2019, time.January, 02, 15, 04, 05, 0, time.UTC)}, UpdatedAt: Timestamp{time.Date(2020, time.January, 02, 15, 04, 05, 0, time.UTC)}},
   109  			{Name: "B", CreatedAt: Timestamp{time.Date(2019, time.January, 02, 15, 04, 05, 0, time.UTC)}, UpdatedAt: Timestamp{time.Date(2020, time.January, 02, 15, 04, 05, 0, time.UTC)}},
   110  		},
   111  	}
   112  	if !cmp.Equal(secrets, want) {
   113  		t.Errorf("Dependabot.ListRepoSecrets returned %+v, want %+v", secrets, want)
   114  	}
   115  
   116  	const methodName = "ListRepoSecrets"
   117  	testBadOptions(t, methodName, func() (err error) {
   118  		_, _, err = client.Dependabot.ListRepoSecrets(ctx, "\n", "\n", opts)
   119  		return err
   120  	})
   121  
   122  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
   123  		got, resp, err := client.Dependabot.ListRepoSecrets(ctx, "o", "r", opts)
   124  		if got != nil {
   125  			t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got)
   126  		}
   127  		return resp, err
   128  	})
   129  }
   130  
   131  func TestDependabotService_GetRepoSecret(t *testing.T) {
   132  	client, mux, _, teardown := setup()
   133  	defer teardown()
   134  
   135  	mux.HandleFunc("/repos/o/r/dependabot/secrets/NAME", func(w http.ResponseWriter, r *http.Request) {
   136  		testMethod(t, r, "GET")
   137  		fmt.Fprint(w, `{"name":"NAME","created_at":"2019-01-02T15:04:05Z","updated_at":"2020-01-02T15:04:05Z"}`)
   138  	})
   139  
   140  	ctx := context.Background()
   141  	secret, _, err := client.Dependabot.GetRepoSecret(ctx, "o", "r", "NAME")
   142  	if err != nil {
   143  		t.Errorf("Dependabot.GetRepoSecret returned error: %v", err)
   144  	}
   145  
   146  	want := &Secret{
   147  		Name:      "NAME",
   148  		CreatedAt: Timestamp{time.Date(2019, time.January, 02, 15, 04, 05, 0, time.UTC)},
   149  		UpdatedAt: Timestamp{time.Date(2020, time.January, 02, 15, 04, 05, 0, time.UTC)},
   150  	}
   151  	if !cmp.Equal(secret, want) {
   152  		t.Errorf("Dependabot.GetRepoSecret returned %+v, want %+v", secret, want)
   153  	}
   154  
   155  	const methodName = "GetRepoSecret"
   156  	testBadOptions(t, methodName, func() (err error) {
   157  		_, _, err = client.Dependabot.GetRepoSecret(ctx, "\n", "\n", "\n")
   158  		return err
   159  	})
   160  
   161  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
   162  		got, resp, err := client.Dependabot.GetRepoSecret(ctx, "o", "r", "NAME")
   163  		if got != nil {
   164  			t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got)
   165  		}
   166  		return resp, err
   167  	})
   168  }
   169  
   170  func TestDependabotService_CreateOrUpdateRepoSecret(t *testing.T) {
   171  	client, mux, _, teardown := setup()
   172  	defer teardown()
   173  
   174  	mux.HandleFunc("/repos/o/r/dependabot/secrets/NAME", func(w http.ResponseWriter, r *http.Request) {
   175  		testMethod(t, r, "PUT")
   176  		testHeader(t, r, "Content-Type", "application/json")
   177  		testBody(t, r, `{"key_id":"1234","encrypted_value":"QIv="}`+"\n")
   178  		w.WriteHeader(http.StatusCreated)
   179  	})
   180  
   181  	input := &DependabotEncryptedSecret{
   182  		Name:           "NAME",
   183  		EncryptedValue: "QIv=",
   184  		KeyID:          "1234",
   185  	}
   186  	ctx := context.Background()
   187  	_, err := client.Dependabot.CreateOrUpdateRepoSecret(ctx, "o", "r", input)
   188  	if err != nil {
   189  		t.Errorf("Dependabot.CreateOrUpdateRepoSecret returned error: %v", err)
   190  	}
   191  
   192  	const methodName = "CreateOrUpdateRepoSecret"
   193  	testBadOptions(t, methodName, func() (err error) {
   194  		_, err = client.Dependabot.CreateOrUpdateRepoSecret(ctx, "\n", "\n", input)
   195  		return err
   196  	})
   197  
   198  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
   199  		return client.Dependabot.CreateOrUpdateRepoSecret(ctx, "o", "r", input)
   200  	})
   201  }
   202  
   203  func TestDependabotService_DeleteRepoSecret(t *testing.T) {
   204  	client, mux, _, teardown := setup()
   205  	defer teardown()
   206  
   207  	mux.HandleFunc("/repos/o/r/dependabot/secrets/NAME", func(w http.ResponseWriter, r *http.Request) {
   208  		testMethod(t, r, "DELETE")
   209  	})
   210  
   211  	ctx := context.Background()
   212  	_, err := client.Dependabot.DeleteRepoSecret(ctx, "o", "r", "NAME")
   213  	if err != nil {
   214  		t.Errorf("Dependabot.DeleteRepoSecret returned error: %v", err)
   215  	}
   216  
   217  	const methodName = "DeleteRepoSecret"
   218  	testBadOptions(t, methodName, func() (err error) {
   219  		_, err = client.Dependabot.DeleteRepoSecret(ctx, "\n", "\n", "\n")
   220  		return err
   221  	})
   222  
   223  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
   224  		return client.Dependabot.DeleteRepoSecret(ctx, "o", "r", "NAME")
   225  	})
   226  }
   227  
   228  func TestDependabotService_GetOrgPublicKey(t *testing.T) {
   229  	client, mux, _, teardown := setup()
   230  	defer teardown()
   231  
   232  	mux.HandleFunc("/orgs/o/dependabot/secrets/public-key", func(w http.ResponseWriter, r *http.Request) {
   233  		testMethod(t, r, "GET")
   234  		fmt.Fprint(w, `{"key_id":"012345678","key":"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234"}`)
   235  	})
   236  
   237  	ctx := context.Background()
   238  	key, _, err := client.Dependabot.GetOrgPublicKey(ctx, "o")
   239  	if err != nil {
   240  		t.Errorf("Dependabot.GetOrgPublicKey returned error: %v", err)
   241  	}
   242  
   243  	want := &PublicKey{KeyID: String("012345678"), Key: String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234")}
   244  	if !cmp.Equal(key, want) {
   245  		t.Errorf("Dependabot.GetOrgPublicKey returned %+v, want %+v", key, want)
   246  	}
   247  
   248  	const methodName = "GetOrgPublicKey"
   249  	testBadOptions(t, methodName, func() (err error) {
   250  		_, _, err = client.Dependabot.GetOrgPublicKey(ctx, "\n")
   251  		return err
   252  	})
   253  
   254  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
   255  		got, resp, err := client.Dependabot.GetOrgPublicKey(ctx, "o")
   256  		if got != nil {
   257  			t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got)
   258  		}
   259  		return resp, err
   260  	})
   261  }
   262  
   263  func TestDependabotService_ListOrgSecrets(t *testing.T) {
   264  	client, mux, _, teardown := setup()
   265  	defer teardown()
   266  
   267  	mux.HandleFunc("/orgs/o/dependabot/secrets", func(w http.ResponseWriter, r *http.Request) {
   268  		testMethod(t, r, "GET")
   269  		testFormValues(t, r, values{"per_page": "2", "page": "2"})
   270  		fmt.Fprint(w, `{"total_count":3,"secrets":[{"name":"GIST_ID","created_at":"2019-08-10T14:59:22Z","updated_at":"2020-01-10T14:59:22Z","visibility":"private"},{"name":"DEPLOY_TOKEN","created_at":"2019-08-10T14:59:22Z","updated_at":"2020-01-10T14:59:22Z","visibility":"all"},{"name":"GH_TOKEN","created_at":"2019-08-10T14:59:22Z","updated_at":"2020-01-10T14:59:22Z","visibility":"selected","selected_repositories_url":"https://api.github.com/orgs/octo-org/dependabot/secrets/SUPER_SECRET/repositories"}]}`)
   271  	})
   272  
   273  	opts := &ListOptions{Page: 2, PerPage: 2}
   274  	ctx := context.Background()
   275  	secrets, _, err := client.Dependabot.ListOrgSecrets(ctx, "o", opts)
   276  	if err != nil {
   277  		t.Errorf("Dependabot.ListOrgSecrets returned error: %v", err)
   278  	}
   279  
   280  	want := &Secrets{
   281  		TotalCount: 3,
   282  		Secrets: []*Secret{
   283  			{Name: "GIST_ID", CreatedAt: Timestamp{time.Date(2019, time.August, 10, 14, 59, 22, 0, time.UTC)}, UpdatedAt: Timestamp{time.Date(2020, time.January, 10, 14, 59, 22, 0, time.UTC)}, Visibility: "private"},
   284  			{Name: "DEPLOY_TOKEN", CreatedAt: Timestamp{time.Date(2019, time.August, 10, 14, 59, 22, 0, time.UTC)}, UpdatedAt: Timestamp{time.Date(2020, time.January, 10, 14, 59, 22, 0, time.UTC)}, Visibility: "all"},
   285  			{Name: "GH_TOKEN", CreatedAt: Timestamp{time.Date(2019, time.August, 10, 14, 59, 22, 0, time.UTC)}, UpdatedAt: Timestamp{time.Date(2020, time.January, 10, 14, 59, 22, 0, time.UTC)}, Visibility: "selected", SelectedRepositoriesURL: "https://api.github.com/orgs/octo-org/dependabot/secrets/SUPER_SECRET/repositories"},
   286  		},
   287  	}
   288  	if !cmp.Equal(secrets, want) {
   289  		t.Errorf("Dependabot.ListOrgSecrets returned %+v, want %+v", secrets, want)
   290  	}
   291  
   292  	const methodName = "ListOrgSecrets"
   293  	testBadOptions(t, methodName, func() (err error) {
   294  		_, _, err = client.Dependabot.ListOrgSecrets(ctx, "\n", opts)
   295  		return err
   296  	})
   297  
   298  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
   299  		got, resp, err := client.Dependabot.ListOrgSecrets(ctx, "o", opts)
   300  		if got != nil {
   301  			t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got)
   302  		}
   303  		return resp, err
   304  	})
   305  }
   306  
   307  func TestDependabotService_GetOrgSecret(t *testing.T) {
   308  	client, mux, _, teardown := setup()
   309  	defer teardown()
   310  
   311  	mux.HandleFunc("/orgs/o/dependabot/secrets/NAME", func(w http.ResponseWriter, r *http.Request) {
   312  		testMethod(t, r, "GET")
   313  		fmt.Fprint(w, `{"name":"NAME","created_at":"2019-01-02T15:04:05Z","updated_at":"2020-01-02T15:04:05Z","visibility":"selected","selected_repositories_url":"https://api.github.com/orgs/octo-org/dependabot/secrets/SUPER_SECRET/repositories"}`)
   314  	})
   315  
   316  	ctx := context.Background()
   317  	secret, _, err := client.Dependabot.GetOrgSecret(ctx, "o", "NAME")
   318  	if err != nil {
   319  		t.Errorf("Dependabot.GetOrgSecret returned error: %v", err)
   320  	}
   321  
   322  	want := &Secret{
   323  		Name:                    "NAME",
   324  		CreatedAt:               Timestamp{time.Date(2019, time.January, 02, 15, 04, 05, 0, time.UTC)},
   325  		UpdatedAt:               Timestamp{time.Date(2020, time.January, 02, 15, 04, 05, 0, time.UTC)},
   326  		Visibility:              "selected",
   327  		SelectedRepositoriesURL: "https://api.github.com/orgs/octo-org/dependabot/secrets/SUPER_SECRET/repositories",
   328  	}
   329  	if !cmp.Equal(secret, want) {
   330  		t.Errorf("Dependabot.GetOrgSecret returned %+v, want %+v", secret, want)
   331  	}
   332  
   333  	const methodName = "GetOrgSecret"
   334  	testBadOptions(t, methodName, func() (err error) {
   335  		_, _, err = client.Dependabot.GetOrgSecret(ctx, "\n", "\n")
   336  		return err
   337  	})
   338  
   339  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
   340  		got, resp, err := client.Dependabot.GetOrgSecret(ctx, "o", "NAME")
   341  		if got != nil {
   342  			t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got)
   343  		}
   344  		return resp, err
   345  	})
   346  }
   347  
   348  func TestDependabotService_CreateOrUpdateOrgSecret(t *testing.T) {
   349  	client, mux, _, teardown := setup()
   350  	defer teardown()
   351  
   352  	mux.HandleFunc("/orgs/o/dependabot/secrets/NAME", func(w http.ResponseWriter, r *http.Request) {
   353  		testMethod(t, r, "PUT")
   354  		testHeader(t, r, "Content-Type", "application/json")
   355  		testBody(t, r, `{"key_id":"1234","encrypted_value":"QIv=","visibility":"selected","selected_repository_ids":["1296269","1269280"]}`+"\n")
   356  		w.WriteHeader(http.StatusCreated)
   357  	})
   358  
   359  	input := &DependabotEncryptedSecret{
   360  		Name:                  "NAME",
   361  		EncryptedValue:        "QIv=",
   362  		KeyID:                 "1234",
   363  		Visibility:            "selected",
   364  		SelectedRepositoryIDs: DependabotSecretsSelectedRepoIDs{1296269, 1269280},
   365  	}
   366  	ctx := context.Background()
   367  	_, err := client.Dependabot.CreateOrUpdateOrgSecret(ctx, "o", input)
   368  	if err != nil {
   369  		t.Errorf("Dependabot.CreateOrUpdateOrgSecret returned error: %v", err)
   370  	}
   371  
   372  	const methodName = "CreateOrUpdateOrgSecret"
   373  	testBadOptions(t, methodName, func() (err error) {
   374  		_, err = client.Dependabot.CreateOrUpdateOrgSecret(ctx, "\n", input)
   375  		return err
   376  	})
   377  
   378  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
   379  		return client.Dependabot.CreateOrUpdateOrgSecret(ctx, "o", input)
   380  	})
   381  }
   382  
   383  func TestDependabotService_ListSelectedReposForOrgSecret(t *testing.T) {
   384  	client, mux, _, teardown := setup()
   385  	defer teardown()
   386  
   387  	mux.HandleFunc("/orgs/o/dependabot/secrets/NAME/repositories", func(w http.ResponseWriter, r *http.Request) {
   388  		testMethod(t, r, "GET")
   389  		fmt.Fprintf(w, `{"total_count":1,"repositories":[{"id":1}]}`)
   390  	})
   391  
   392  	opts := &ListOptions{Page: 2, PerPage: 2}
   393  	ctx := context.Background()
   394  	repos, _, err := client.Dependabot.ListSelectedReposForOrgSecret(ctx, "o", "NAME", opts)
   395  	if err != nil {
   396  		t.Errorf("Dependabot.ListSelectedReposForOrgSecret returned error: %v", err)
   397  	}
   398  
   399  	want := &SelectedReposList{
   400  		TotalCount: Int(1),
   401  		Repositories: []*Repository{
   402  			{ID: Int64(1)},
   403  		},
   404  	}
   405  	if !cmp.Equal(repos, want) {
   406  		t.Errorf("Dependabot.ListSelectedReposForOrgSecret returned %+v, want %+v", repos, want)
   407  	}
   408  
   409  	const methodName = "ListSelectedReposForOrgSecret"
   410  	testBadOptions(t, methodName, func() (err error) {
   411  		_, _, err = client.Dependabot.ListSelectedReposForOrgSecret(ctx, "\n", "\n", opts)
   412  		return err
   413  	})
   414  
   415  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
   416  		got, resp, err := client.Dependabot.ListSelectedReposForOrgSecret(ctx, "o", "NAME", opts)
   417  		if got != nil {
   418  			t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got)
   419  		}
   420  		return resp, err
   421  	})
   422  }
   423  
   424  func TestDependabotService_SetSelectedReposForOrgSecret(t *testing.T) {
   425  	client, mux, _, teardown := setup()
   426  	defer teardown()
   427  
   428  	mux.HandleFunc("/orgs/o/dependabot/secrets/NAME/repositories", func(w http.ResponseWriter, r *http.Request) {
   429  		testMethod(t, r, "PUT")
   430  		testHeader(t, r, "Content-Type", "application/json")
   431  		testBody(t, r, `{"selected_repository_ids":[64780797]}`+"\n")
   432  	})
   433  
   434  	ctx := context.Background()
   435  	_, err := client.Dependabot.SetSelectedReposForOrgSecret(ctx, "o", "NAME", DependabotSecretsSelectedRepoIDs{64780797})
   436  	if err != nil {
   437  		t.Errorf("Dependabot.SetSelectedReposForOrgSecret returned error: %v", err)
   438  	}
   439  
   440  	const methodName = "SetSelectedReposForOrgSecret"
   441  	testBadOptions(t, methodName, func() (err error) {
   442  		_, err = client.Dependabot.SetSelectedReposForOrgSecret(ctx, "\n", "\n", DependabotSecretsSelectedRepoIDs{64780797})
   443  		return err
   444  	})
   445  
   446  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
   447  		return client.Dependabot.SetSelectedReposForOrgSecret(ctx, "o", "NAME", DependabotSecretsSelectedRepoIDs{64780797})
   448  	})
   449  }
   450  
   451  func TestDependabotService_AddSelectedRepoToOrgSecret(t *testing.T) {
   452  	client, mux, _, teardown := setup()
   453  	defer teardown()
   454  
   455  	mux.HandleFunc("/orgs/o/dependabot/secrets/NAME/repositories/1234", func(w http.ResponseWriter, r *http.Request) {
   456  		testMethod(t, r, "PUT")
   457  	})
   458  
   459  	repo := &Repository{ID: Int64(1234)}
   460  	ctx := context.Background()
   461  	_, err := client.Dependabot.AddSelectedRepoToOrgSecret(ctx, "o", "NAME", repo)
   462  	if err != nil {
   463  		t.Errorf("Dependabot.AddSelectedRepoToOrgSecret returned error: %v", err)
   464  	}
   465  
   466  	const methodName = "AddSelectedRepoToOrgSecret"
   467  	testBadOptions(t, methodName, func() (err error) {
   468  		_, err = client.Dependabot.AddSelectedRepoToOrgSecret(ctx, "\n", "\n", repo)
   469  		return err
   470  	})
   471  
   472  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
   473  		return client.Dependabot.AddSelectedRepoToOrgSecret(ctx, "o", "NAME", repo)
   474  	})
   475  }
   476  
   477  func TestDependabotService_RemoveSelectedRepoFromOrgSecret(t *testing.T) {
   478  	client, mux, _, teardown := setup()
   479  	defer teardown()
   480  
   481  	mux.HandleFunc("/orgs/o/dependabot/secrets/NAME/repositories/1234", func(w http.ResponseWriter, r *http.Request) {
   482  		testMethod(t, r, "DELETE")
   483  	})
   484  
   485  	repo := &Repository{ID: Int64(1234)}
   486  	ctx := context.Background()
   487  	_, err := client.Dependabot.RemoveSelectedRepoFromOrgSecret(ctx, "o", "NAME", repo)
   488  	if err != nil {
   489  		t.Errorf("Dependabot.RemoveSelectedRepoFromOrgSecret returned error: %v", err)
   490  	}
   491  
   492  	const methodName = "RemoveSelectedRepoFromOrgSecret"
   493  	testBadOptions(t, methodName, func() (err error) {
   494  		_, err = client.Dependabot.RemoveSelectedRepoFromOrgSecret(ctx, "\n", "\n", repo)
   495  		return err
   496  	})
   497  
   498  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
   499  		return client.Dependabot.RemoveSelectedRepoFromOrgSecret(ctx, "o", "NAME", repo)
   500  	})
   501  }
   502  
   503  func TestDependabotService_DeleteOrgSecret(t *testing.T) {
   504  	client, mux, _, teardown := setup()
   505  	defer teardown()
   506  
   507  	mux.HandleFunc("/orgs/o/dependabot/secrets/NAME", func(w http.ResponseWriter, r *http.Request) {
   508  		testMethod(t, r, "DELETE")
   509  	})
   510  
   511  	ctx := context.Background()
   512  	_, err := client.Dependabot.DeleteOrgSecret(ctx, "o", "NAME")
   513  	if err != nil {
   514  		t.Errorf("Dependabot.DeleteOrgSecret returned error: %v", err)
   515  	}
   516  
   517  	const methodName = "DeleteOrgSecret"
   518  	testBadOptions(t, methodName, func() (err error) {
   519  		_, err = client.Dependabot.DeleteOrgSecret(ctx, "\n", "\n")
   520  		return err
   521  	})
   522  
   523  	testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
   524  		return client.Dependabot.DeleteOrgSecret(ctx, "o", "NAME")
   525  	})
   526  }
   527  

View as plain text