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  }