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

     1  // Copyright 2020 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  	"time"
    15  )
    16  
    17  func TestEnterpriseService_CreateRegistrationToken(t *testing.T) {
    18  	client, mux, _, teardown := setup()
    19  	defer teardown()
    20  
    21  	mux.HandleFunc("/enterprises/e/actions/runners/registration-token", func(w http.ResponseWriter, r *http.Request) {
    22  		testMethod(t, r, "POST")
    23  		fmt.Fprint(w, `{"token":"LLBF3JGZDX3P5PMEXLND6TS6FCWO6","expires_at":"2020-01-22T12:13:35.123Z"}`)
    24  	})
    25  
    26  	token, _, err := client.Enterprise.CreateRegistrationToken(context.Background(), "e")
    27  	if err != nil {
    28  		t.Errorf("Enterprise.CreateRegistrationToken returned error: %v", err)
    29  	}
    30  
    31  	want := &RegistrationToken{Token: String("LLBF3JGZDX3P5PMEXLND6TS6FCWO6"),
    32  		ExpiresAt: &Timestamp{time.Date(2020, time.January, 22, 12, 13, 35,
    33  			123000000, time.UTC)}}
    34  	if !reflect.DeepEqual(token, want) {
    35  		t.Errorf("Enterprise.CreateRegistrationToken returned %+v, want %+v", token, want)
    36  	}
    37  }
    38  
    39  func TestEnterpriseService_ListRunners(t *testing.T) {
    40  	client, mux, _, teardown := setup()
    41  	defer teardown()
    42  
    43  	mux.HandleFunc("/enterprises/e/actions/runners", func(w http.ResponseWriter, r *http.Request) {
    44  		testMethod(t, r, "GET")
    45  		testFormValues(t, r, values{"per_page": "2", "page": "2"})
    46  		fmt.Fprint(w, `{"total_count":2,"runners":[{"id":23,"name":"MBP","os":"macos","status":"online"},{"id":24,"name":"iMac","os":"macos","status":"offline"}]}`)
    47  	})
    48  
    49  	opts := &ListOptions{Page: 2, PerPage: 2}
    50  	runners, _, err := client.Enterprise.ListRunners(context.Background(), "e", opts)
    51  	if err != nil {
    52  		t.Errorf("Enterprise.ListRunners returned error: %v", err)
    53  	}
    54  
    55  	want := &Runners{
    56  		TotalCount: 2,
    57  		Runners: []*Runner{
    58  			{ID: Int64(23), Name: String("MBP"), OS: String("macos"), Status: String("online")},
    59  			{ID: Int64(24), Name: String("iMac"), OS: String("macos"), Status: String("offline")},
    60  		},
    61  	}
    62  	if !reflect.DeepEqual(runners, want) {
    63  		t.Errorf("Actions.ListRunners returned %+v, want %+v", runners, want)
    64  	}
    65  }