examples_test.go 1.15 KB
Newer Older
potsables's avatar
potsables committed
1 2 3 4 5
package examples_test

import (
	"testing"

6
	"github.com/ipfs/go-ipns/examples"
7
	crypto "github.com/libp2p/go-libp2p-crypto"
potsables's avatar
potsables committed
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
)

var testPath = "/ipfs/Qme1knMqwt1hKZbc1BmQFmnm9f36nyQGwXxPGVpVJ9rMK5"

func TestKeyGeneration(t *testing.T) {
	_, err := generateRSAKey()
	if err != nil {
		t.Error(err)
	}

	_, err = generateEDKey()
	if err != nil {
		t.Error(err)
	}
}

func TestEmbeddedEntryCreation(t *testing.T) {
	rk, err := generateRSAKey()
	if err != nil {
		t.Fatal(err)
	}

	ek, err := generateEDKey()
	if err != nil {
		t.Fatal(err)
	}
34
	_, err = examples.CreateEntryWithEmbed(testPath, rk.GetPublic(), rk)
potsables's avatar
potsables committed
35 36 37 38
	if err != nil {
		t.Error(err)
	}

39
	_, err = examples.CreateEntryWithEmbed(testPath, ek.GetPublic(), ek)
potsables's avatar
potsables committed
40 41 42 43 44
	if err != nil {
		t.Error(err)
	}

}
45
func generateRSAKey() (crypto.PrivKey, error) {
potsables's avatar
potsables committed
46 47
	// DO NOT USE 1024 BITS IN PRODUCTION
	// THIS IS ONLY FOR TESTING PURPOSES
48
	k, err := examples.GenerateRSAKeyPair(1024)
potsables's avatar
potsables committed
49 50 51
	if err != nil {
		return nil, err
	}
52
	return k, nil
potsables's avatar
potsables committed
53 54
}

55 56 57
func generateEDKey() (crypto.PrivKey, error) {
	// ED25519 uses 256bit keys, and ignore the bit param
	k, err := examples.GenerateEDKeyPair()
potsables's avatar
potsables committed
58 59 60
	if err != nil {
		return nil, err
	}
61
	return k, nil
potsables's avatar
potsables committed
62
}