// Test the certificates being registered to the backend func TestBackend_CertWrites(t *testing.T) { // CA cert ca1, err := ioutil.ReadFile("test-fixtures/root/rootcacert.pem") if err != nil { t.Fatalf("err: %v", err) } // Non CA Cert ca2, err := ioutil.ReadFile("test-fixtures/keys/cert.pem") if err != nil { t.Fatalf("err: %v", err) } // Non CA cert without TLS web client authentication ca3, err := ioutil.ReadFile("test-fixtures/noclientauthcert.pem") if err != nil { t.Fatalf("err: %v", err) } tc := logicaltest.TestCase{ AcceptanceTest: true, Backend: testFactory(t), Steps: []logicaltest.TestStep{ testAccStepCert(t, "aaa", ca1, "foo", false), testAccStepCert(t, "bbb", ca2, "foo", false), testAccStepCert(t, "ccc", ca3, "foo", true), }, } tc.Steps = append(tc.Steps, testAccStepListCerts(t, []string{"aaa", "bbb"})...) logicaltest.Test(t, tc) }
func TestBackend_CSRValues(t *testing.T) { defaultLeaseTTLVal := time.Hour * 24 maxLeaseTTLVal := time.Hour * 24 * 30 b, err := Factory(&logical.BackendConfig{ Logger: nil, System: &logical.StaticSystemView{ DefaultLeaseTTLVal: defaultLeaseTTLVal, MaxLeaseTTLVal: maxLeaseTTLVal, }, }) if err != nil { t.Fatalf("Unable to create backend: %s", err) } testCase := logicaltest.TestCase{ Backend: b, Steps: []logicaltest.TestStep{}, } stepCount += len(testCase.Steps) intdata := map[string]interface{}{} reqdata := map[string]interface{}{} testCase.Steps = append(testCase.Steps, generateCSRSteps(t, ecCACert, ecCAKey, intdata, reqdata)...) logicaltest.Test(t, testCase) }
// Generates and tests steps that walk through the various possibilities // of role flags to ensure that they are properly restricted func TestBackend_roles(t *testing.T) { b, err := Factory(&logical.BackendConfig{ Logger: nil, System: &logical.StaticSystemView{ DefaultLeaseTTLVal: time.Hour * 24, MaxLeaseTTLVal: time.Hour * 24 * 30, }, }) if err != nil { t.Fatalf("Unable to create backend: %s", err) } testCase := logicaltest.TestCase{ Backend: b, Steps: []logicaltest.TestStep{}, } testCase.Steps = append(testCase.Steps, generateCASteps(t)...) testCase.Steps = append(testCase.Steps, generateRoleSteps(t)...) if len(os.Getenv("VAULT_VERBOSE_PKITESTS")) > 0 { for i, v := range testCase.Steps { fmt.Printf("Step %d:\n%+v\n\n", i+stepCount, v) } } stepCount += len(testCase.Steps) logicaltest.Test(t, testCase) }
// Performs basic tests on CA functionality func TestBackend_basic(t *testing.T) { defaultLeaseTTLVal := time.Hour * 24 maxLeaseTTLVal := time.Hour * 24 * 30 b, err := Factory(&logical.BackendConfig{ Logger: nil, System: &logical.StaticSystemView{ DefaultLeaseTTLVal: defaultLeaseTTLVal, MaxLeaseTTLVal: maxLeaseTTLVal, }, }) if err != nil { t.Fatalf("Unable to create backend: %s", err) } testCase := logicaltest.TestCase{ Backend: b, Steps: []logicaltest.TestStep{}, } stepCount += len(testCase.Steps) testCase.Steps = append(testCase.Steps, generateCASteps(t)...) logicaltest.Test(t, testCase) }
// Performs basic tests on CA functionality func TestBackend_basic(t *testing.T) { b := Backend() testCase := logicaltest.TestCase{ Backend: b, Steps: []logicaltest.TestStep{}, } stepCount += len(testCase.Steps) testCase.Steps = append(testCase.Steps, generateCASteps(t)...) logicaltest.Test(t, testCase) }
// Generates and tests steps that walk through the various possibilities // of role flags to ensure that they are properly restricted func TestBackend_roles(t *testing.T) { b := Backend() testCase := logicaltest.TestCase{ Backend: b, Steps: []logicaltest.TestStep{}, } testCase.Steps = append(testCase.Steps, generateCASteps(t)...) testCase.Steps = append(testCase.Steps, generateRoleSteps(t)...) if len(os.Getenv("VAULT_VERBOSE_PKITESTS")) > 0 { for i, v := range testCase.Steps { fmt.Printf("Step %d:\n%+v\n\n", i+stepCount, v) } } stepCount += len(testCase.Steps) logicaltest.Test(t, testCase) }
// Generates and tests steps that walk through the various possibilities // of role flags to ensure that they are properly restricted // Uses the EC CA key func TestBackend_ECRoles(t *testing.T) { defaultLeaseTTLVal := time.Hour * 24 maxLeaseTTLVal := time.Hour * 24 * 30 b, err := Factory(&logical.BackendConfig{ Logger: nil, System: &logical.StaticSystemView{ DefaultLeaseTTLVal: defaultLeaseTTLVal, MaxLeaseTTLVal: maxLeaseTTLVal, }, }) if err != nil { t.Fatalf("Unable to create backend: %s", err) } testCase := logicaltest.TestCase{ Backend: b, Steps: []logicaltest.TestStep{ logicaltest.TestStep{ Operation: logical.WriteOperation, Path: "config/ca", Data: map[string]interface{}{ "pem_bundle": ecCAKey + ecCACert, }, }, }, } testCase.Steps = append(testCase.Steps, generateRoleSteps(t, false)...) testCase.Steps = append(testCase.Steps, generateRoleSteps(t, true)...) if len(os.Getenv("VAULT_VERBOSE_PKITESTS")) > 0 { for i, v := range testCase.Steps { fmt.Printf("Step %d:\n%+v\n\n", i+stepCount, v) } } stepCount += len(testCase.Steps) logicaltest.Test(t, testCase) }