cipherSuite.go:

- Add documentation
- Add tests
This commit is contained in:
Jan Tytgat
2025-01-13 14:53:49 +01:00
parent b808476900
commit cdd1953978
2 changed files with 43 additions and 2 deletions

View File

@ -1,12 +1,16 @@
package transcrypt
type CipherSuite byte
const (
AES_256_GCM CipherSuite = iota
CHACHA20_POLY1305
)
// CipherSuite defines which cipher suites can be used for transcryption of data.
// It is based on the types available in github.com/minio/sio .
type CipherSuite byte
// GetCipherSuite converts a string into its respective CipherSuite.
// It returns CHACHA20_POLY1305 by default if the string cannot be converted.
func GetCipherSuite(s string) CipherSuite {
switch s {
case "AES_256_GCM":

View File

@ -0,0 +1,37 @@
package transcrypt
import "testing"
func TestGetCipherSuite(t *testing.T) {
type args struct {
s string
}
tests := []struct {
name string
args args
want CipherSuite
}{
{
name: "AES_256_GCM",
args: args{s: "AES_256_GCM"},
want: AES_256_GCM,
},
{
name: "CHACHA20_POLY1305",
args: args{s: "CHACHA20_POLY1305"},
want: CHACHA20_POLY1305,
},
{
name: "random",
args: args{s: "random"},
want: CHACHA20_POLY1305,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := GetCipherSuite(tt.args.s); got != tt.want {
t.Errorf("GetCipherSuite() = %v, want %v", got, tt.want)
}
})
}
}