github.com/hashicorp/vault/sdk@v0.13.0/database/helper/dbutil/dbutil_test.go (about) 1 // Copyright (c) HashiCorp, Inc. 2 // SPDX-License-Identifier: MPL-2.0 3 4 package dbutil 5 6 import ( 7 "reflect" 8 "testing" 9 10 "github.com/hashicorp/vault/sdk/database/dbplugin" 11 ) 12 13 func TestStatementCompatibilityHelper(t *testing.T) { 14 const ( 15 creationStatement = "creation" 16 renewStatement = "renew" 17 revokeStatement = "revoke" 18 rollbackStatement = "rollback" 19 ) 20 21 expectedStatements := dbplugin.Statements{ 22 Creation: []string{creationStatement}, 23 Rollback: []string{rollbackStatement}, 24 Revocation: []string{revokeStatement}, 25 Renewal: []string{renewStatement}, 26 CreationStatements: creationStatement, 27 RenewStatements: renewStatement, 28 RollbackStatements: rollbackStatement, 29 RevocationStatements: revokeStatement, 30 } 31 32 statements1 := dbplugin.Statements{ 33 CreationStatements: creationStatement, 34 RenewStatements: renewStatement, 35 RollbackStatements: rollbackStatement, 36 RevocationStatements: revokeStatement, 37 } 38 39 if !reflect.DeepEqual(expectedStatements, StatementCompatibilityHelper(statements1)) { 40 t.Fatalf("mismatch: %#v, %#v", expectedStatements, statements1) 41 } 42 43 statements2 := dbplugin.Statements{ 44 Creation: []string{creationStatement}, 45 Rollback: []string{rollbackStatement}, 46 Revocation: []string{revokeStatement}, 47 Renewal: []string{renewStatement}, 48 } 49 50 if !reflect.DeepEqual(expectedStatements, StatementCompatibilityHelper(statements2)) { 51 t.Fatalf("mismatch: %#v, %#v", expectedStatements, statements2) 52 } 53 54 statements3 := dbplugin.Statements{ 55 CreationStatements: creationStatement, 56 } 57 expectedStatements3 := dbplugin.Statements{ 58 Creation: []string{creationStatement}, 59 CreationStatements: creationStatement, 60 } 61 if !reflect.DeepEqual(expectedStatements3, StatementCompatibilityHelper(statements3)) { 62 t.Fatalf("mismatch: %#v, %#v", expectedStatements3, statements3) 63 } 64 }