package data import ( "testing" ) func TestEncryptDecrypt(t *testing.T) { k1 := EncryptionKey("key") k2 := EncryptionKey("key") if string(k1) != string(k2) { t.Fatalf("Expected EncryptionKey to be deterministic!") } ciphertext, nonce, err := Encrypt("key", []byte("hello world!"), []byte("extra")) checkError(t, err) plaintext, err := Decrypt("key", ciphertext, []byte("extra"), nonce) checkError(t, err) if string(plaintext) != "hello world!" { t.Fatalf("Expected decrypt(encrypt(x)) to work, but it didn't!") } } func checkError(t *testing.T, err error) { if err != nil { t.Fatal(err) } } func TestCustomColumnSerialization(t *testing.T) { cc1 := CustomColumn{ Name: "name1", Val: "val1", } cc2 := CustomColumn{ Name: "name2", Val: "val2", } var ccs CustomColumns = make(CustomColumns, 0) // Empty array v, err := ccs.Value() if err != nil { t.Fatalf("unexpected err: %v", err) } val := string(v.([]uint8)) if val != "[]" { t.Fatalf("unexpected val for empty CustomColumns: %#v", val) } // Non-empty array ccs = append(ccs, cc1, cc2) v, err = ccs.Value() if err != nil { t.Fatalf("unexpected err: %v", err) } val = string(v.([]uint8)) if val != "[{\"name\":\"name1\",\"value\":\"val1\"},{\"name\":\"name2\",\"value\":\"val2\"}]" { t.Fatalf("unexpected val for empty CustomColumns: %#v", val) } }