Skip to content
This repository has been archived by the owner on Apr 2, 2024. It is now read-only.

Commit

Permalink
Fixing paymail tests, test variable name changes
Browse files Browse the repository at this point in the history
  • Loading branch information
mrz1836 committed May 17, 2022
1 parent 5b12b46 commit 0e926e4
Show file tree
Hide file tree
Showing 7 changed files with 48 additions and 44 deletions.
9 changes: 6 additions & 3 deletions action_blockheader.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,25 +89,28 @@ func (c *Client) GetBlockHeadersCount(ctx context.Context, metadataConditions *M
func (c *Client) GetUnsyncedBlockHeaders(ctx context.Context) ([]*BlockHeader, error) {

// Check for existing NewRelic transaction
ctx = c.GetOrStartTxn(ctx, "get_unsynced_blockheaders")
ctx = c.GetOrStartTxn(ctx, "get_unsynced_block_headers")

// Get the unsynced block headers
return getUnsyncedBlockHeaders(ctx, c.DefaultModelOptions()...)
}

// GetLastBlockHeader get last block header
func (c *Client) GetLastBlockHeader(ctx context.Context) (*BlockHeader, error) {

// Check for existing NewRelic transaction
ctx = c.GetOrStartTxn(ctx, "get_last_blockheader")
ctx = c.GetOrStartTxn(ctx, "get_last_block_header")

// Get the last block header
return getLastBlockHeader(ctx, c.DefaultModelOptions()...)
}

// GetBlockHeaderByHeight get the block header by height
func (c *Client) GetBlockHeaderByHeight(ctx context.Context, height uint32) (*BlockHeader, error) {

// Check for existing NewRelic transaction
ctx = c.GetOrStartTxn(ctx, "get_blockheader_by_height")
ctx = c.GetOrStartTxn(ctx, "get_block_header_by_height")

// Get the block header by height
return getBlockHeaderByHeight(ctx, height, c.DefaultModelOptions()...)
}
2 changes: 1 addition & 1 deletion action_paymails.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ func (c *Client) NewPaymailAddress(ctx context.Context, xPubKey, address, public
ctx = c.GetOrStartTxn(ctx, "new_paymail_address")

// Get the xPub (make sure it exists)
_, err := c.GetXpub(ctx, xPubKey)
_, err := getXpubWithCache(ctx, c, xPubKey, "", c.DefaultModelOptions()...)
if err != nil {
return nil, err
}
Expand Down
26 changes: 14 additions & 12 deletions action_paymails_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ var (
func (ts *EmbeddedDBTestSuite) TestClient_NewPaymailAddress() {
for _, testCase := range dbTestCases {
ts.T().Run(testCase.name+" - empty address", func(t *testing.T) {
tc := ts.genericDBClient(t, testCase.database, false, WithAutoMigrate(&PaymailAddress{}))
tc := ts.genericDBClient(t, testCase.database, false)
defer tc.Close(tc.ctx)

// Create xPub (required to add a paymail address)
xPub, err := tc.client.NewXpub(tc.ctx, testXpub, tc.client.DefaultModelOptions()...)
xPub, err := tc.client.NewXpub(tc.ctx, testXPub, tc.client.DefaultModelOptions()...)
require.NotNil(t, xPub)
require.NoError(t, err)

Expand All @@ -34,16 +34,18 @@ func (ts *EmbeddedDBTestSuite) TestClient_NewPaymailAddress() {
})

ts.T().Run(testCase.name+" - new paymail address", func(t *testing.T) {
tc := ts.genericDBClient(t, testCase.database, false, WithAutoMigrate(&PaymailAddress{}))
tc := ts.genericDBClient(t, testCase.database, false)
defer tc.Close(tc.ctx)

opts := tc.client.DefaultModelOptions()

// Create xPub (required to add a paymail address)
xPub, err := tc.client.NewXpub(tc.ctx, testXpub, tc.client.DefaultModelOptions()...)
xPub, err := tc.client.NewXpub(tc.ctx, testXPub, opts...)
require.NotNil(t, xPub)
require.NoError(t, err)

var paymailAddress *PaymailAddress
paymailAddress, err = tc.client.NewPaymailAddress(tc.ctx, testXPub, testPaymail, testPublicName, testAvatar, tc.client.DefaultModelOptions()...)
paymailAddress, err = tc.client.NewPaymailAddress(tc.ctx, xPub.RawXpub(), testPaymail, testPublicName, testAvatar, opts...)
require.NoError(t, err)
require.NotNil(t, paymailAddress)

Expand All @@ -55,7 +57,7 @@ func (ts *EmbeddedDBTestSuite) TestClient_NewPaymailAddress() {
assert.Equal(t, externalXPubID, paymailAddress.ExternalXpubKey)

var p2 *PaymailAddress
p2, err = getPaymailAddress(tc.ctx, testPaymail, tc.client.DefaultModelOptions()...)
p2, err = getPaymailAddress(tc.ctx, testPaymail, opts...)
require.NoError(t, err)
require.NotNil(t, p2)

Expand All @@ -74,7 +76,7 @@ func (ts *EmbeddedDBTestSuite) Test_DeletePaymailAddress() {
for _, testCase := range dbTestCases {

ts.T().Run(testCase.name+" - empty", func(t *testing.T) {
tc := ts.genericDBClient(t, testCase.database, false, WithAutoMigrate(&PaymailAddress{}))
tc := ts.genericDBClient(t, testCase.database, false)
defer tc.Close(tc.ctx)

paymail := ""
Expand All @@ -83,20 +85,20 @@ func (ts *EmbeddedDBTestSuite) Test_DeletePaymailAddress() {
})

ts.T().Run(testCase.name+" - delete unknown paymail address", func(t *testing.T) {
tc := ts.genericDBClient(t, testCase.database, false, WithAutoMigrate(&PaymailAddress{}))
tc := ts.genericDBClient(t, testCase.database, false)
defer tc.Close(tc.ctx)

err := tc.client.DeletePaymailAddress(tc.ctx, testPaymail, tc.client.DefaultModelOptions()...)
require.ErrorIs(t, err, ErrMissingPaymail)
})

ts.T().Run(testCase.name+" - delete paymail address", func(t *testing.T) {
tc := ts.genericDBClient(t, testCase.database, false, WithAutoMigrate(&PaymailAddress{}))
tc := ts.genericDBClient(t, testCase.database, false)
defer tc.Close(tc.ctx)
opts := tc.client.DefaultModelOptions()

// Create xPub (required to add a paymail address)
xPub, err := tc.client.NewXpub(tc.ctx, testXpub, opts...)
xPub, err := tc.client.NewXpub(tc.ctx, testXPub, opts...)
require.NotNil(t, xPub)
require.NoError(t, err)

Expand Down Expand Up @@ -140,7 +142,7 @@ func (ts *EmbeddedDBTestSuite) TestClient_UpdatePaymailAddressMetadata() {
opts = append(opts, WithMetadatas(metadata))

// Create xPub (required to add a paymail address)
xPub, err := tc.client.NewXpub(tc.ctx, testXpub, opts...)
xPub, err := tc.client.NewXpub(tc.ctx, testXPub, opts...)
require.NotNil(t, xPub)
require.NoError(t, err)

Expand Down Expand Up @@ -185,7 +187,7 @@ func (ts *EmbeddedDBTestSuite) TestClient_UpdatePaymailAddress() {
opts := tc.client.DefaultModelOptions()

// Create xPub (required to add a paymail address)
xPub, err := tc.client.NewXpub(tc.ctx, testXpub, opts...)
xPub, err := tc.client.NewXpub(tc.ctx, testXPub, opts...)
require.NotNil(t, xPub)
require.NoError(t, err)

Expand Down
40 changes: 20 additions & 20 deletions authentication_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ const (
testEncryption = "35dbe09a941a90a5f59e57020face68860d7b284b7b2973a58de8b4242ec5a925a40ac2933b7e45e78a0b3a13123520e46f9566815589ba2d345577dadee0d5e"
testSignature = `HxNguR72c6BV7tKNn5BQ3/mS2+RX3BGyQHFfVfQ3v4mVdAuh+w32QsFYxsB13KiXuRJ7ZnN7C8RhkAtLi/qvH88=`
testSignatureAuthHash = `5858adf09a0cc01f6d3a4d377f010408313031bb96b40d98e6edccf18c26464e`
testXpub = "xpub661MyMwAqRbcH3WGvLjupmr43L1GVH3MP2WQWvdreDraBeFJy64Xxv4LLX9ZVWWz3ZjZkMuZtSsc9qH9JZR74bR4PWkmtEvP423r6DJR8kA"
testXpubHash = "d8c2bed524071d72d859caf90da5f448b5861cd4d4fd47697f94166c13c5a987"
testXpubAuth = "xpub661MyMwAqRbcH3WGvLjupmr43L1GVH3MP2WQWvdreDraBeFJy64Xxv4LLX9ZVWWz3ZjZkMuZtSsc9qH9JZR74bR4PWkmtEvP423r6DJR8kA"
testXpubAuthHash = "d8c2bed524071d72d859caf90da5f448b5861cd4d4fd47697f94166c13c5a987"
)

// TestClient_AuthenticateRequest will test the method AuthenticateRequest()
Expand All @@ -41,7 +41,7 @@ func TestClient_AuthenticateRequest(t *testing.T) {
require.NoError(t, err)
require.NotNil(t, req)

req.Header.Set(AuthHeader, testXpub)
req.Header.Set(AuthHeader, testXpubAuth)

_, client, deferMe := CreateTestSQLiteClient(t, false, false)
defer deferMe()
Expand All @@ -54,11 +54,11 @@ func TestClient_AuthenticateRequest(t *testing.T) {

// Test the request
x, ok := GetXpubFromRequest(req)
assert.Equal(t, testXpub, x)
assert.Equal(t, testXpubAuth, x)
assert.Equal(t, true, ok)

x, ok = GetXpubHashFromRequest(req)
assert.Equal(t, testXpubHash, x)
assert.Equal(t, testXpubAuthHash, x)
assert.Equal(t, true, ok)
})

Expand Down Expand Up @@ -120,7 +120,7 @@ func TestClient_AuthenticateRequest(t *testing.T) {
require.NoError(t, err)
require.NotNil(t, req)

req.Header.Set(AuthHeader, testXpub)
req.Header.Set(AuthHeader, testXpubAuth)

_, client, deferMe := CreateTestSQLiteClient(t, false, false)
defer deferMe()
Expand All @@ -138,13 +138,13 @@ func TestClient_AuthenticateRequest(t *testing.T) {
require.NoError(t, err)
require.NotNil(t, req)

req.Header.Set(AuthHeader, testXpub)
req.Header.Set(AuthHeader, testXpubAuth)

_, client, deferMe := CreateTestSQLiteClient(t, false, false)
defer deferMe()

req, err = client.AuthenticateRequest(
context.Background(), req, []string{testXpub}, true, false, false,
context.Background(), req, []string{testXpubAuth}, true, false, false,
)
require.Error(t, err)
require.NotNil(t, req)
Expand All @@ -156,13 +156,13 @@ func TestClient_AuthenticateRequest(t *testing.T) {
require.NoError(t, err)
require.NotNil(t, req)

req.Header.Set(AuthHeader, testXpub)
req.Header.Set(AuthHeader, testXpubAuth)

_, client, deferMe := CreateTestSQLiteClient(t, false, false)
defer deferMe()

req, err = client.AuthenticateRequest(
context.Background(), req, []string{testXpub}, true, false, false,
context.Background(), req, []string{testXpubAuth}, true, false, false,
)
require.Error(t, err)
require.NotNil(t, req)
Expand Down Expand Up @@ -202,13 +202,13 @@ func TestClient_AuthenticateRequest(t *testing.T) {
require.NoError(t, err)
require.NotNil(t, req)

req.Header.Set(AuthHeader, testXpub)
req.Header.Set(AuthHeader, testXpubAuth)

_, client, deferMe := CreateTestSQLiteClient(t, false, false)
defer deferMe()

req, err = client.AuthenticateRequest(
context.Background(), req, []string{testXpub}, true, false, true,
context.Background(), req, []string{testXpubAuth}, true, false, true,
)
require.NoError(t, err)
require.NotNil(t, req)
Expand Down Expand Up @@ -368,7 +368,7 @@ func Test_verifyKeyXPub(t *testing.T) {

t.Run("error - missing auth data", func(t *testing.T) {

err := verifyKeyXPub(testXpub, nil)
err := verifyKeyXPub(testXpubAuth, nil)
require.Error(t, err)
assert.ErrorIs(t, err, ErrMissingSignature)
})
Expand Down Expand Up @@ -584,12 +584,12 @@ func Test_getSigningMessage(t *testing.T) {
t.Parallel()

t.Run("valid format", func(t *testing.T) {
message := getSigningMessage(testXpub, &AuthPayload{
AuthHash: testXpubHash,
message := getSigningMessage(testXpubAuth, &AuthPayload{
AuthHash: testXpubAuthHash,
AuthNonce: "auth-nonce",
AuthTime: 12345678,
})
assert.Equal(t, fmt.Sprintf("%s%s%s%d", testXpub, testXpubHash, "auth-nonce", 12345678), message)
assert.Equal(t, fmt.Sprintf("%s%s%s%d", testXpubAuth, testXpubAuthHash, "auth-nonce", 12345678), message)
})
}

Expand All @@ -602,10 +602,10 @@ func TestGetXpubFromRequest(t *testing.T) {
require.NoError(t, err)
require.NotNil(t, req)

req = setOnRequest(req, ParamXPubKey, testXpub)
req = setOnRequest(req, ParamXPubKey, testXpubAuth)

xPub, success := GetXpubFromRequest(req)
assert.Equal(t, testXpub, xPub)
assert.Equal(t, testXpubAuth, xPub)
assert.Equal(t, true, success)
})

Expand Down Expand Up @@ -668,10 +668,10 @@ func TestGetXpubHashFromRequest(t *testing.T) {
require.NoError(t, err)
require.NotNil(t, req)

req = setOnRequest(req, ParamXPubHashKey, testXpubHash)
req = setOnRequest(req, ParamXPubHashKey, testXpubAuthHash)

xPubHash, success := GetXpubHashFromRequest(req)
assert.Equal(t, testXpubHash, xPubHash)
assert.Equal(t, testXpubAuthHash, xPubHash)
assert.Equal(t, true, success)
})

Expand Down
2 changes: 1 addition & 1 deletion client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ func TestPaymailOptions_Note(t *testing.T) {

// TestPaymailOptions_ServerConfig will test the method ServerConfig()
func TestPaymailOptions_ServerConfig(t *testing.T) {
t.Parallel()
// t.Parallel()

t.Run("no server config", func(t *testing.T) {
p := new(paymailOptions)
Expand Down
6 changes: 3 additions & 3 deletions model_options_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,15 @@ func TestWithXPub(t *testing.T) {
t.Parallel()

t.Run("Get opts", func(t *testing.T) {
opt := WithXPub(testXpub)
opt := WithXPub(testXPub)
assert.IsType(t, *new(ModelOps), opt)
})

t.Run("apply opts", func(t *testing.T) {
opt := WithXPub(testXpub)
opt := WithXPub(testXPub)
m := new(Model)
m.SetOptions(opt)
assert.Equal(t, testXpub, m.rawXpubKey)
assert.Equal(t, testXPub, m.rawXpubKey)
})
}

Expand Down
7 changes: 3 additions & 4 deletions model_paymail_addresses_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ import (
"github.com/stretchr/testify/require"
)

// todo: refactor, cleanup, test name, add more tests etc

// TestNewPaymail will test the method newPaymail()
func TestNewPaymail(t *testing.T) {

t.Run("paymail basic test", func(t *testing.T) {
Expand All @@ -20,7 +19,7 @@ func TestNewPaymail(t *testing.T) {

paymail := "paymail@tester.com"

xPub, err := bitcoin.GetHDKeyFromExtendedPublicKey(testXpub)
xPub, err := bitcoin.GetHDKeyFromExtendedPublicKey(testXpubAuth)
require.NoError(t, err)
require.NotNil(t, xPub)

Expand All @@ -43,7 +42,7 @@ func TestNewPaymail(t *testing.T) {
p := newPaymail(
paymail,
WithClient(client),
WithXPub(testXpub),
WithXPub(testXpubAuth),
WithEncryptionKey(testEncryption),
)
p.PublicName = "Tester"
Expand Down

0 comments on commit 0e926e4

Please sign in to comment.