t0165-keystore.sh 1.72 KB
Newer Older
Jeromy's avatar
Jeromy committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#!/bin/sh
#
# Copyright (c) 2017 Jeromy Johnson
# MIT Licensed; see the LICENSE file in this repository.
#

test_description="Test keystore commands"

. lib/test-lib.sh

test_init_ipfs

test_key_cmd() {
	test_expect_success "create a new rsa key" '
		rsahash=$(ipfs key gen foobarsa --type=rsa --size=2048)
	'

	test_expect_success "create a new ed25519 key" '
		edhash=$(ipfs key gen bazed --type=ed25519)
	'

	test_expect_success "both keys show up in list output" '
		echo bazed > list_exp &&
		echo foobarsa >> list_exp &&
25
		echo self >> list_exp
Jeromy's avatar
Jeromy committed
26 27 28 29 30 31 32 33
		ipfs key list | sort > list_out &&
		test_cmp list_exp list_out
	'

	test_expect_success "key hashes show up in long list output" '
		ipfs key list -l | grep $edhash > /dev/null &&
		ipfs key list -l | grep $rsahash > /dev/null
	'
34 35

	test_expect_success "key list -l contains self key with peerID" '
36 37
		PeerID="$(ipfs config Identity.PeerID)"
		ipfs key list -l | grep "$PeerID self"
38
	'
Michael Muré's avatar
Michael Muré committed
39 40 41 42 43 44 45 46

	test_expect_success "key rm remove a key" '
		ipfs key rm foobarsa
		echo bazed > list_exp &&
		echo self >> list_exp
		ipfs key list | sort > list_out &&
		test_cmp list_exp list_out
	'
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

	test_expect_success "key rename rename a key" '
		ipfs key rename bazed fooed
		echo fooed > list_exp &&
		echo self >> list_exp
		ipfs key list | sort > list_out &&
		test_cmp list_exp list_out
	'

	test_expect_success "key rename can't remove self" '
		test_must_fail ipfs key rename self bar 2>&1 | tee key_rename_out &&
		grep -q "Error: cannot rename key with name" key_rename_out
	'

	test_expect_success "key rename can't overwrite self, even with force" '
		test_must_fail ipfs key rename -f fooed self 2>&1 | tee key_rename_out &&
		grep -q "Error: cannot overwrite key with name" key_rename_out
	'
Jeromy's avatar
Jeromy committed
65 66 67 68 69
}

test_key_cmd

test_done