forked from lightninglabs/lndclient
-
Notifications
You must be signed in to change notification settings - Fork 0
/
basic_client_test.go
67 lines (56 loc) · 2.44 KB
/
basic_client_test.go
1
2
3
4
5
6
7
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package lndclient
import (
"encoding/hex"
"os"
"testing"
"github.com/stretchr/testify/require"
)
// Tests that NewBasicConn works correctly when macaroon and TLS certificate
// data are passed in directly instead of being supplied as file paths.
func TestParseTLSAndMacaroon(t *testing.T) {
tlsData := `-----BEGIN CERTIFICATE-----
MIIDhzCCAm+gAwIBAgIUEkmdMOVPL92AwgsSYFFBvz4ilmUwDQYJKoZIhvcNAQEL
BQAwUzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1OMRQwEgYDVQQHDAtNaW5uZWFw
b2xpczEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMB4XDTIxMDQy
MzA2NDkyNVoXDTIxMDUyMzA2NDkyNVowUzELMAkGA1UEBhMCVVMxCzAJBgNVBAgM
Ak1OMRQwEgYDVQQHDAtNaW5uZWFwb2xpczEhMB8GA1UECgwYSW50ZXJuZXQgV2lk
Z2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnK21
qJmWWs4Nwz2f2ZbTsDxJAumgDJdZ9JKsJBrqjFf7+25ip+1hIB15P1UHHPhtW5Yp
P9Xm50z8W2RP2pHyCFB09cwKgdqPsS8Q2tzr5DINt+eNYa5JpxnWXM5ZqmYD7Zg0
wSMVW3FuAWFpjlzNWs/UHSuDShiQLoMhl2xAjiGSsHbY9plV438/kypSKS+7wjxe
0TJaTv/kWlHhQkXvnLqIMhD8J+ScGVSSk0OFgWiRmcCGDsLZgEGklHklC7ZKrr+Q
Am2MGbvUaGuwW+R5d2ZaQRbQ5UVhHcna2MxUn6MzSjbEhpIsMKZoYVXCb0GFObcq
UsLUOrIqpIyngd4G9wIDAQABo1MwUTAdBgNVHQ4EFgQU0lZJ2gp/RM79oAegXr/H
sU+GU3YwHwYDVR0jBBgwFoAU0lZJ2gp/RM79oAegXr/HsU+GU3YwDwYDVR0TAQH/
BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAly744gq/LPuL0EnEbfxXrVqmvWh6
t9kNljXybVjQNTZ00e4zGknOA3VM29JWOEYyQ7ut/tP+kquWLdfOq/Lehe7vnBSn
lPR6IYbba9ck5AvPZgGG9fEncKxeUoI0ltI/luycmWL7Eb9j3128diIwljf9JXNT
I/LThs8Nl5RSiMOuGer0e934vLlZlrEEI4rWs3DKK56WjrMeVf5dhvYK44usNwUh
vKgMVFsUeyLLTN0EuZjGoFdi3lfLQo3vRwLD6h/EDa5uWK14pZXDQ30+fT2RjuVD
XhkpT5dliEGFLNe6OOgeWTU1JpEXfCud/GImtNMHQi4EDWQfvWuCNGhOoQ==
-----END CERTIFICATE-----`
macData := "0201047465737402067788991234560000062052d26ed139ea5af8" +
"3e675500c4ccb2471f62191b745bab820f129e5588a255d2"
// Make sure it works when data is passed in.
_, _, err := parseTLSAndMacaroon(
"", "", "mainnet", MacFilename(""), TLSData(tlsData),
MacaroonData(macData),
)
require.NoError(t, err)
// Now let's write the data to a file to make sure parseTLSAndMacaroon
// parses that properly as well.
tempDirPath := t.TempDir()
certPath := tempDirPath + "/tls.cert"
tlsPEMBytes := []byte(tlsData)
err = os.WriteFile(certPath, tlsPEMBytes, 0644)
require.NoError(t, err)
macPath := tempDirPath + "/test.macaroon"
macBytes, err := hex.DecodeString(macData)
require.NoError(t, err)
err = os.WriteFile(macPath, macBytes, 0644)
require.NoError(t, err)
_, _, err = parseTLSAndMacaroon(
certPath, macPath, "mainnet", MacFilename(""),
)
require.NoError(t, err)
}