github.com/GGP1/kure@v0.8.4/commands/config/argon2/argon2_test.go (about)

     1  package argon2
     2  
     3  import (
     4  	"encoding/binary"
     5  	"testing"
     6  
     7  	cmdutil "github.com/GGP1/kure/commands"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  	bolt "go.etcd.io/bbolt"
    11  )
    12  
    13  func TestArgon2(t *testing.T) {
    14  	db := cmdutil.SetContext(t)
    15  
    16  	err := db.Update(func(tx *bolt.Tx) error {
    17  		b, err := tx.CreateBucketIfNotExists([]byte("kure_auth"))
    18  		if err != nil {
    19  			return err
    20  		}
    21  
    22  		keys := []string{"iterations", "memory", "threads"}
    23  		value := make([]byte, 4)
    24  		binary.BigEndian.PutUint32(value, 1)
    25  
    26  		for _, key := range keys {
    27  			if err := b.Put([]byte(key), value); err != nil {
    28  				return err
    29  			}
    30  		}
    31  		return nil
    32  	})
    33  	assert.NoError(t, err)
    34  
    35  	err = NewCmd(db).Execute()
    36  	assert.NoError(t, err, "Failed printing argon2 parameters")
    37  	// Output:
    38  	// Iterations: 1
    39  	// Memory: 1
    40  	// Threads: 1
    41  }