package github import ( "os" "testing" "github.com/hashicorp/vault/logical" logicaltest "github.com/hashicorp/vault/logical/testing" ) func TestBackend_basic(t *testing.T) { logicaltest.Test(t, logicaltest.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Backend: Backend(), Steps: []logicaltest.TestStep{ testAccStepConfig(t), testAccMap(t), testAccLogin(t), }, }) } func testAccPreCheck(t *testing.T) { if v := os.Getenv("GITHUB_TOKEN"); v == "" { t.Fatal("GITHUB_USER must be set for acceptance tests") } if v := os.Getenv("GITHUB_ORG"); v == "" { t.Fatal("GITHUB_ORG must be set for acceptance tests") } } func testAccStepConfig(t *testing.T) logicaltest.TestStep { return logicaltest.TestStep{ Operation: logical.WriteOperation, Path: "config", Data: map[string]interface{}{ "organization": os.Getenv("GITHUB_ORG"), }, } } func testAccMap(t *testing.T) logicaltest.TestStep { return logicaltest.TestStep{ Operation: logical.WriteOperation, Path: "map/teams/default", Data: map[string]interface{}{ "value": "foo", }, } } func testAccLogin(t *testing.T) logicaltest.TestStep { return logicaltest.TestStep{ Operation: logical.WriteOperation, Path: "login", Data: map[string]interface{}{ "token": os.Getenv("GITHUB_TOKEN"), }, Unauthenticated: true, Check: logicaltest.TestCheckAuth([]string{"foo"}), } }