64 lines
1.4 KiB
Go
64 lines
1.4 KiB
Go
|
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"}),
|
||
|
}
|
||
|
}
|