mirror of
https://github.com/google/go-github.git
synced 2026-10-29 00:44:52 +08:00
BREAKING CHANGE: `UsersService.Unsuspend` now takes an `UnsuspendUserRequest` body argument.
154 lines
3.9 KiB
Go
154 lines
3.9 KiB
Go
// Copyright 2014 The go-github AUTHORS. All rights reserved.
|
|
//
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package github
|
|
|
|
import (
|
|
"net/http"
|
|
"testing"
|
|
)
|
|
|
|
func TestUsersService_PromoteSiteAdmin(t *testing.T) {
|
|
t.Parallel()
|
|
client, mux, _ := setup(t)
|
|
|
|
mux.HandleFunc("/users/u/site_admin", func(w http.ResponseWriter, r *http.Request) {
|
|
testMethod(t, r, "PUT")
|
|
w.WriteHeader(http.StatusNoContent)
|
|
})
|
|
|
|
ctx := t.Context()
|
|
_, err := client.Users.PromoteSiteAdmin(ctx, "u")
|
|
if err != nil {
|
|
t.Errorf("Users.PromoteSiteAdmin returned error: %v", err)
|
|
}
|
|
|
|
const methodName = "PromoteSiteAdmin"
|
|
testBadOptions(t, methodName, func() (err error) {
|
|
_, err = client.Users.PromoteSiteAdmin(ctx, "\n")
|
|
return err
|
|
})
|
|
|
|
testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
|
|
return client.Users.PromoteSiteAdmin(ctx, "u")
|
|
})
|
|
}
|
|
|
|
func TestUsersService_DemoteSiteAdmin(t *testing.T) {
|
|
t.Parallel()
|
|
client, mux, _ := setup(t)
|
|
|
|
mux.HandleFunc("/users/u/site_admin", func(w http.ResponseWriter, r *http.Request) {
|
|
testMethod(t, r, "DELETE")
|
|
w.WriteHeader(http.StatusNoContent)
|
|
})
|
|
|
|
ctx := t.Context()
|
|
_, err := client.Users.DemoteSiteAdmin(ctx, "u")
|
|
if err != nil {
|
|
t.Errorf("Users.DemoteSiteAdmin returned error: %v", err)
|
|
}
|
|
|
|
const methodName = "DemoteSiteAdmin"
|
|
testBadOptions(t, methodName, func() (err error) {
|
|
_, err = client.Users.DemoteSiteAdmin(ctx, "\n")
|
|
return err
|
|
})
|
|
|
|
testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
|
|
return client.Users.DemoteSiteAdmin(ctx, "u")
|
|
})
|
|
}
|
|
|
|
func TestUsersService_Suspend(t *testing.T) {
|
|
t.Parallel()
|
|
client, mux, _ := setup(t)
|
|
|
|
mux.HandleFunc("/users/u/suspended", func(w http.ResponseWriter, r *http.Request) {
|
|
testMethod(t, r, "PUT")
|
|
w.WriteHeader(http.StatusNoContent)
|
|
})
|
|
|
|
ctx := t.Context()
|
|
_, err := client.Users.Suspend(ctx, "u", SuspendUserRequest{})
|
|
if err != nil {
|
|
t.Errorf("Users.Suspend returned error: %v", err)
|
|
}
|
|
|
|
const methodName = "Suspend"
|
|
testBadOptions(t, methodName, func() (err error) {
|
|
_, err = client.Users.Suspend(ctx, "\n", SuspendUserRequest{})
|
|
return err
|
|
})
|
|
|
|
testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
|
|
return client.Users.Suspend(ctx, "u", SuspendUserRequest{})
|
|
})
|
|
}
|
|
|
|
func TestUsersServiceReason_Suspend(t *testing.T) {
|
|
t.Parallel()
|
|
client, mux, _ := setup(t)
|
|
|
|
body := SuspendUserRequest{Reason: new("test")}
|
|
|
|
mux.HandleFunc("/users/u/suspended", func(w http.ResponseWriter, r *http.Request) {
|
|
testMethod(t, r, "PUT")
|
|
testJSONBody(t, r, body)
|
|
w.WriteHeader(http.StatusNoContent)
|
|
})
|
|
|
|
ctx := t.Context()
|
|
_, err := client.Users.Suspend(ctx, "u", body)
|
|
if err != nil {
|
|
t.Errorf("Users.Suspend returned error: %v", err)
|
|
}
|
|
}
|
|
|
|
func TestUsersService_Unsuspend(t *testing.T) {
|
|
t.Parallel()
|
|
client, mux, _ := setup(t)
|
|
|
|
mux.HandleFunc("/users/u/suspended", func(w http.ResponseWriter, r *http.Request) {
|
|
testMethod(t, r, "DELETE")
|
|
w.WriteHeader(http.StatusNoContent)
|
|
})
|
|
|
|
ctx := t.Context()
|
|
_, err := client.Users.Unsuspend(ctx, "u", UnsuspendUserRequest{})
|
|
if err != nil {
|
|
t.Errorf("Users.Unsuspend returned error: %v", err)
|
|
}
|
|
|
|
const methodName = "Unsuspend"
|
|
testBadOptions(t, methodName, func() (err error) {
|
|
_, err = client.Users.Unsuspend(ctx, "\n", UnsuspendUserRequest{})
|
|
return err
|
|
})
|
|
|
|
testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) {
|
|
return client.Users.Unsuspend(ctx, "u", UnsuspendUserRequest{})
|
|
})
|
|
}
|
|
|
|
func TestUsersServiceReason_Unsuspend(t *testing.T) {
|
|
t.Parallel()
|
|
client, mux, _ := setup(t)
|
|
|
|
body := UnsuspendUserRequest{Reason: new("test")}
|
|
|
|
mux.HandleFunc("/users/u/suspended", func(w http.ResponseWriter, r *http.Request) {
|
|
testMethod(t, r, "DELETE")
|
|
testJSONBody(t, r, body)
|
|
w.WriteHeader(http.StatusNoContent)
|
|
})
|
|
|
|
ctx := t.Context()
|
|
_, err := client.Users.Unsuspend(ctx, "u", body)
|
|
if err != nil {
|
|
t.Errorf("Users.Unsuspend returned error: %v", err)
|
|
}
|
|
}
|