github.com/google/go-github/v33@v33.0.0/github/orgs_users_blocking_test.go (about)

     1  // Copyright 2017 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  	"reflect"
    13  	"testing"
    14  )
    15  
    16  func TestOrganizationsService_ListBlockedUsers(t *testing.T) {
    17  	client, mux, _, teardown := setup()
    18  	defer teardown()
    19  
    20  	mux.HandleFunc("/orgs/o/blocks", func(w http.ResponseWriter, r *http.Request) {
    21  		testMethod(t, r, "GET")
    22  		testHeader(t, r, "Accept", mediaTypeBlockUsersPreview)
    23  		testFormValues(t, r, values{"page": "2"})
    24  		fmt.Fprint(w, `[{
    25  			"login": "octocat"
    26  		}]`)
    27  	})
    28  
    29  	opt := &ListOptions{Page: 2}
    30  	blockedUsers, _, err := client.Organizations.ListBlockedUsers(context.Background(), "o", opt)
    31  	if err != nil {
    32  		t.Errorf("Organizations.ListBlockedUsers returned error: %v", err)
    33  	}
    34  
    35  	want := []*User{{Login: String("octocat")}}
    36  	if !reflect.DeepEqual(blockedUsers, want) {
    37  		t.Errorf("Organizations.ListBlockedUsers returned %+v, want %+v", blockedUsers, want)
    38  	}
    39  }
    40  
    41  func TestOrganizationsService_IsBlocked(t *testing.T) {
    42  	client, mux, _, teardown := setup()
    43  	defer teardown()
    44  
    45  	mux.HandleFunc("/orgs/o/blocks/u", func(w http.ResponseWriter, r *http.Request) {
    46  		testMethod(t, r, "GET")
    47  		testHeader(t, r, "Accept", mediaTypeBlockUsersPreview)
    48  		w.WriteHeader(http.StatusNoContent)
    49  	})
    50  
    51  	isBlocked, _, err := client.Organizations.IsBlocked(context.Background(), "o", "u")
    52  	if err != nil {
    53  		t.Errorf("Organizations.IsBlocked returned error: %v", err)
    54  	}
    55  	if want := true; isBlocked != want {
    56  		t.Errorf("Organizations.IsBlocked returned %+v, want %+v", isBlocked, want)
    57  	}
    58  }
    59  
    60  func TestOrganizationsService_BlockUser(t *testing.T) {
    61  	client, mux, _, teardown := setup()
    62  	defer teardown()
    63  
    64  	mux.HandleFunc("/orgs/o/blocks/u", func(w http.ResponseWriter, r *http.Request) {
    65  		testMethod(t, r, "PUT")
    66  		testHeader(t, r, "Accept", mediaTypeBlockUsersPreview)
    67  		w.WriteHeader(http.StatusNoContent)
    68  	})
    69  
    70  	_, err := client.Organizations.BlockUser(context.Background(), "o", "u")
    71  	if err != nil {
    72  		t.Errorf("Organizations.BlockUser returned error: %v", err)
    73  	}
    74  }
    75  
    76  func TestOrganizationsService_UnblockUser(t *testing.T) {
    77  	client, mux, _, teardown := setup()
    78  	defer teardown()
    79  
    80  	mux.HandleFunc("/orgs/o/blocks/u", func(w http.ResponseWriter, r *http.Request) {
    81  		testMethod(t, r, "DELETE")
    82  		testHeader(t, r, "Accept", mediaTypeBlockUsersPreview)
    83  		w.WriteHeader(http.StatusNoContent)
    84  	})
    85  
    86  	_, err := client.Organizations.UnblockUser(context.Background(), "o", "u")
    87  	if err != nil {
    88  		t.Errorf("Organizations.UnblockUser returned error: %v", err)
    89  	}
    90  }