Skip to content

Commit 158f8d6

Browse files
committed
Fixed tests, fixed method GetAddressFromPrivateKey
1 parent 4c7ce6b commit 158f8d6

File tree

10 files changed

+190
-192
lines changed

10 files changed

+190
-192
lines changed

address.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,10 @@ func ValidA58(a58 []byte) (bool, error) {
9191

9292
// GetAddressFromPrivateKey takes a bsvec private key and returns a Bitcoin address
9393
func GetAddressFromPrivateKey(privateKey *bsvec.PrivateKey, compressed bool) (string, error) {
94-
95-
rawKey, err := PrivateKeyFromString(fmt.Sprintf("%x", privateKey.Serialize()))
94+
address, err := GetAddressFromPubKey(privateKey.PubKey(), compressed)
9695
if err != nil {
9796
return "", err
9897
}
99-
var address *bsvutil.LegacyAddressPubKeyHash
100-
if address, err = GetAddressFromPubKey(rawKey.PubKey(), compressed); err != nil {
101-
return "", err
102-
}
10398
return address.EncodeAddress(), nil
10499
}
105100

address_test.go

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ func TestValidA58(t *testing.T) {
3333
// Run tests
3434
for _, test := range tests {
3535
if valid, err := ValidA58([]byte(test.input)); err != nil && !test.expectedError {
36-
t.Errorf("%s Failed: [%s] inputted and error not expected but got: %s", t.Name(), test.input, err.Error())
36+
t.Fatalf("%s Failed: [%s] inputted and error not expected but got: %s", t.Name(), test.input, err.Error())
3737
} else if err == nil && test.expectedError {
38-
t.Errorf("%s Failed: [%s] inputted and error was expected", t.Name(), test.input)
38+
t.Fatalf("%s Failed: [%s] inputted and error was expected", t.Name(), test.input)
3939
} else if valid && !test.expectedValid {
40-
t.Errorf("%s Failed: [%s] inputted and was valid but should NOT be valid", t.Name(), test.input)
40+
t.Fatalf("%s Failed: [%s] inputted and was valid but should NOT be valid", t.Name(), test.input)
4141
} else if !valid && test.expectedValid {
42-
t.Errorf("%s Failed: [%s] inputted and was invalid but should be valid", t.Name(), test.input)
42+
t.Fatalf("%s Failed: [%s] inputted and was invalid but should be valid", t.Name(), test.input)
4343
}
4444
}
4545
}
@@ -88,34 +88,37 @@ func TestGetAddressFromPrivateKey(t *testing.T) {
8888
// Run tests
8989
for _, test := range tests {
9090
if address, err := GetAddressFromPrivateKeyString(test.input, test.compressed); err != nil && !test.expectedError {
91-
t.Errorf("%s Failed: [%s] inputted and error not expected but got: %s", t.Name(), test.input, err.Error())
91+
t.Fatalf("%s Failed: [%s] inputted and error not expected but got: %s", t.Name(), test.input, err.Error())
9292
} else if err == nil && test.expectedError {
93-
t.Errorf("%s Failed: [%s] inputted and error was expected", t.Name(), test.input)
93+
t.Fatalf("%s Failed: [%s] inputted and error was expected", t.Name(), test.input)
9494
} else if address != test.expectedAddress {
95-
t.Errorf("%s Failed: [%s] inputted and [%s] expected, but got: %s", t.Name(), test.input, test.expectedAddress, address)
95+
t.Fatalf("%s Failed: [%s] inputted and [%s] expected, but got: %s", t.Name(), test.input, test.expectedAddress, address)
9696
}
9797
}
9898
}
9999

100+
// TestGetAddressFromPrivateKeyCompression will test the method GetAddressFromPrivateKey()
100101
func TestGetAddressFromPrivateKeyCompression(t *testing.T) {
101102

102103
privateKey, err := bsvec.NewPrivateKey(bsvec.S256())
103104
if err != nil {
104-
t.Error(err)
105+
t.Fatal(err)
105106
}
106107

107-
addressUncompressed, err := GetAddressFromPrivateKey(privateKey, false)
108+
var addressUncompressed string
109+
addressUncompressed, err = GetAddressFromPrivateKey(privateKey, false)
108110
if err != nil {
109-
t.Error(err)
111+
t.Fatal(err)
110112
}
111113

112-
addressCompressed, err := GetAddressFromPrivateKey(privateKey, true)
114+
var addressCompressed string
115+
addressCompressed, err = GetAddressFromPrivateKey(privateKey, true)
113116
if err != nil {
114-
t.Error(err)
117+
t.Fatal(err)
115118
}
116119

117120
if addressCompressed == addressUncompressed {
118-
t.Errorf("Compressed and uncompressed addresses cannot match")
121+
t.Fatalf("compressed and uncompressed addresses cannot match")
119122
}
120123
}
121124

@@ -169,15 +172,15 @@ func TestGetAddressFromPubKey(t *testing.T) {
169172
// Run tests
170173
for _, test := range tests {
171174
if rawKey, err := GetAddressFromPubKey(test.input, true); err != nil && !test.expectedError {
172-
t.Errorf("%s Failed: [%v] inputted and error not expected but got: %s", t.Name(), test.input, err.Error())
175+
t.Fatalf("%s Failed: [%v] inputted and error not expected but got: %s", t.Name(), test.input, err.Error())
173176
} else if err == nil && test.expectedError {
174-
t.Errorf("%s Failed: [%v] inputted and error was expected", t.Name(), test.input)
177+
t.Fatalf("%s Failed: [%v] inputted and error was expected", t.Name(), test.input)
175178
} else if rawKey == nil && !test.expectedNil {
176-
t.Errorf("%s Failed: [%v] inputted and was nil but not expected", t.Name(), test.input)
179+
t.Fatalf("%s Failed: [%v] inputted and was nil but not expected", t.Name(), test.input)
177180
} else if rawKey != nil && test.expectedNil {
178-
t.Errorf("%s Failed: [%v] inputted and was NOT nil but expected to be nil", t.Name(), test.input)
181+
t.Fatalf("%s Failed: [%v] inputted and was NOT nil but expected to be nil", t.Name(), test.input)
179182
} else if rawKey != nil && rawKey.EncodeAddress() != test.expectedAddress {
180-
t.Errorf("%s Failed: [%v] inputted [%s] expected but failed comparison of addresses, got: %s", t.Name(), test.input, test.expectedAddress, rawKey.EncodeAddress())
183+
t.Fatalf("%s Failed: [%v] inputted [%s] expected but failed comparison of addresses, got: %s", t.Name(), test.input, test.expectedAddress, rawKey.EncodeAddress())
181184
}
182185
}
183186
}
@@ -227,11 +230,11 @@ func TestGetAddressFromScript(t *testing.T) {
227230
// Run tests
228231
for _, test := range tests {
229232
if address, err := GetAddressFromScript(test.inputScript); err != nil && !test.expectedError {
230-
t.Errorf("%s Failed: [%v] inputted and error not expected but got: %s", t.Name(), test.inputScript, err.Error())
233+
t.Fatalf("%s Failed: [%v] inputted and error not expected but got: %s", t.Name(), test.inputScript, err.Error())
231234
} else if err == nil && test.expectedError {
232-
t.Errorf("%s Failed: [%v] inputted and error was expected", t.Name(), test.inputScript)
235+
t.Fatalf("%s Failed: [%v] inputted and error was expected", t.Name(), test.inputScript)
233236
} else if address != test.expectedAddress {
234-
t.Errorf("%s Failed: [%v] inputted [%s] expected but failed comparison of addresses, got: %s", t.Name(), test.inputScript, test.expectedAddress, address)
237+
t.Fatalf("%s Failed: [%v] inputted [%s] expected but failed comparison of addresses, got: %s", t.Name(), test.inputScript, test.expectedAddress, address)
235238
}
236239
}
237240
}
@@ -274,15 +277,15 @@ func TestGetAddressFromPubKeyString(t *testing.T) {
274277
// Run tests
275278
for _, test := range tests {
276279
if rawKey, err := GetAddressFromPubKeyString(test.input, true); err != nil && !test.expectedError {
277-
t.Errorf("%s Failed: [%v] inputted and error not expected but got: %s", t.Name(), test.input, err.Error())
280+
t.Fatalf("%s Failed: [%v] inputted and error not expected but got: %s", t.Name(), test.input, err.Error())
278281
} else if err == nil && test.expectedError {
279-
t.Errorf("%s Failed: [%v] inputted and error was expected", t.Name(), test.input)
282+
t.Fatalf("%s Failed: [%v] inputted and error was expected", t.Name(), test.input)
280283
} else if rawKey == nil && !test.expectedNil {
281-
t.Errorf("%s Failed: [%v] inputted and was nil but not expected", t.Name(), test.input)
284+
t.Fatalf("%s Failed: [%v] inputted and was nil but not expected", t.Name(), test.input)
282285
} else if rawKey != nil && test.expectedNil {
283-
t.Errorf("%s Failed: [%v] inputted and was NOT nil but expected to be nil", t.Name(), test.input)
286+
t.Fatalf("%s Failed: [%v] inputted and was NOT nil but expected to be nil", t.Name(), test.input)
284287
} else if rawKey != nil && rawKey.EncodeAddress() != test.expectedAddress {
285-
t.Errorf("%s Failed: [%v] inputted [%s] expected but failed comparison of addresses, got: %s", t.Name(), test.input, test.expectedAddress, rawKey.EncodeAddress())
288+
t.Fatalf("%s Failed: [%v] inputted [%s] expected but failed comparison of addresses, got: %s", t.Name(), test.input, test.expectedAddress, rawKey.EncodeAddress())
286289
}
287290
}
288291
}

encryption_test.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,11 @@ func TestEncryptWithPrivateKey(t *testing.T) {
4040
var encrypted string
4141
for _, test := range tests {
4242
if encrypted, err = EncryptWithPrivateKey(test.inputKey, test.inputData); err != nil && !test.expectedError {
43-
t.Errorf("%s Failed: [%s] [%s] inputted and error not expected but got: %s", t.Name(), test.inputKey, test.inputData, err.Error())
43+
t.Fatalf("%s Failed: [%s] [%s] inputted and error not expected but got: %s", t.Name(), test.inputKey, test.inputData, err.Error())
4444
} else if err == nil && test.expectedError {
45-
t.Errorf("%s Failed: [%s] [%s] inputted and error was expected", t.Name(), test.inputKey, test.inputData)
45+
t.Fatalf("%s Failed: [%s] [%s] inputted and error was expected", t.Name(), test.inputKey, test.inputData)
4646
} else if len(encrypted) == 0 {
47-
t.Errorf("%s Failed: [%s] [%s] inputted and expected length > 0, but got: 0", t.Name(), test.inputKey, test.inputData)
47+
t.Fatalf("%s Failed: [%s] [%s] inputted and expected length > 0, but got: 0", t.Name(), test.inputKey, test.inputData)
4848
}
4949
}
5050
}
@@ -55,7 +55,7 @@ func TestEncryptWithPrivateKeyPanic(t *testing.T) {
5555

5656
defer func() {
5757
if r := recover(); r == nil {
58-
t.Errorf("the code did not panic")
58+
t.Fatalf("the code did not panic")
5959
}
6060
}()
6161

@@ -129,11 +129,11 @@ func TestEncryptWithPrivateKeyString(t *testing.T) {
129129
var encrypted string
130130
for _, test := range tests {
131131
if encrypted, err = EncryptWithPrivateKeyString(test.inputKey, test.inputData); err != nil && !test.expectedError {
132-
t.Errorf("%s Failed: [%s] [%s] inputted and error not expected but got: %s", t.Name(), test.inputKey, test.inputData, err.Error())
132+
t.Fatalf("%s Failed: [%s] [%s] inputted and error not expected but got: %s", t.Name(), test.inputKey, test.inputData, err.Error())
133133
} else if err == nil && test.expectedError {
134-
t.Errorf("%s Failed: [%s] [%s] inputted and error was expected", t.Name(), test.inputKey, test.inputData)
134+
t.Fatalf("%s Failed: [%s] [%s] inputted and error was expected", t.Name(), test.inputKey, test.inputData)
135135
} else if err == nil && len(encrypted) == 0 {
136-
t.Errorf("%s Failed: [%s] [%s] inputted and expected length > 0, but got: 0", t.Name(), test.inputKey, test.inputData)
136+
t.Fatalf("%s Failed: [%s] [%s] inputted and expected length > 0, but got: 0", t.Name(), test.inputKey, test.inputData)
137137
}
138138
}
139139
}
@@ -249,11 +249,11 @@ func TestDecryptWithPrivateKey(t *testing.T) {
249249
var decrypted string
250250
for _, test := range tests {
251251
if decrypted, err = DecryptWithPrivateKey(test.inputKey, test.inputEncrypted); err != nil && !test.expectedError {
252-
t.Errorf("%s Failed: [%s] [%s] inputted and error not expected but got: %s", t.Name(), test.inputKey, test.inputEncrypted, err.Error())
252+
t.Fatalf("%s Failed: [%s] [%s] inputted and error not expected but got: %s", t.Name(), test.inputKey, test.inputEncrypted, err.Error())
253253
} else if err == nil && test.expectedError {
254-
t.Errorf("%s Failed: [%s] [%s] inputted and error was expected", t.Name(), test.inputKey, test.inputEncrypted)
254+
t.Fatalf("%s Failed: [%s] [%s] inputted and error was expected", t.Name(), test.inputKey, test.inputEncrypted)
255255
} else if decrypted != test.expectedData {
256-
t.Errorf("%s Failed: [%s] [%s] inputted and [%s] expected, but got: %s", t.Name(), test.inputKey, test.inputEncrypted, test.expectedData, decrypted)
256+
t.Fatalf("%s Failed: [%s] [%s] inputted and [%s] expected, but got: %s", t.Name(), test.inputKey, test.inputEncrypted, test.expectedData, decrypted)
257257
}
258258
}
259259
}
@@ -375,11 +375,11 @@ func TestDecryptWithPrivateKeyString(t *testing.T) {
375375
// Run tests
376376
for _, test := range tests {
377377
if decrypted, err := DecryptWithPrivateKeyString(test.inputKey, test.inputEncrypted); err != nil && !test.expectedError {
378-
t.Errorf("%s Failed: [%s] [%s] inputted and error not expected but got: %s", t.Name(), test.inputKey, test.inputEncrypted, err.Error())
378+
t.Fatalf("%s Failed: [%s] [%s] inputted and error not expected but got: %s", t.Name(), test.inputKey, test.inputEncrypted, err.Error())
379379
} else if err == nil && test.expectedError {
380-
t.Errorf("%s Failed: [%s] [%s] inputted and error was expected", t.Name(), test.inputKey, test.inputEncrypted)
380+
t.Fatalf("%s Failed: [%s] [%s] inputted and error was expected", t.Name(), test.inputKey, test.inputEncrypted)
381381
} else if decrypted != test.expectedData {
382-
t.Errorf("%s Failed: [%s] [%s] inputted and [%s] expected, but got: %s", t.Name(), test.inputKey, test.inputEncrypted, test.expectedData, decrypted)
382+
t.Fatalf("%s Failed: [%s] [%s] inputted and [%s] expected, but got: %s", t.Name(), test.inputKey, test.inputEncrypted, test.expectedData, decrypted)
383383
}
384384
}
385385
}
@@ -454,7 +454,7 @@ func TestEncryptSharedPanic(t *testing.T) {
454454

455455
defer func() {
456456
if r := recover(); r == nil {
457-
t.Errorf("the code did not panic")
457+
t.Fatalf("the code did not panic")
458458
}
459459
}()
460460

@@ -512,7 +512,7 @@ func TestEncryptSharedStringPanic(t *testing.T) {
512512

513513
defer func() {
514514
if r := recover(); r == nil {
515-
t.Errorf("the code did not panic")
515+
t.Fatalf("the code did not panic")
516516
}
517517
}()
518518

0 commit comments

Comments
 (0)