Skip to content

Commit

Permalink
Fixed test to use helper function
Browse files Browse the repository at this point in the history
  • Loading branch information
KuphJr committed Jul 11, 2023
1 parent cbfee23 commit f27d220
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 82 deletions.
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
package functions_test

import (
"encoding/hex"
"math/rand"
"sync"
"testing"
"time"

"github.com/onsi/gomega"
functionsConfig "github.com/smartcontractkit/chainlink/v2/core/services/ocr2/plugins/functions/config"
utils "github.com/smartcontractkit/chainlink/v2/core/services/ocr2/plugins/functions/integration_tests/internal"
"github.com/test-go/testify/require"
)

var (
Expand Down Expand Up @@ -45,45 +40,8 @@ func TestIntegration_Functions_MultipleRequests_Success(t *testing.T) {
utils.SetOracleConfig(t, owner, oracleContract, oracleIdentities, batchSize, &pluginConfig)
utils.CommitWithFinality(b)

// // set up subscription
// subscriptionId := utils.CreateAndFundSubscriptions(t, owner, linkToken, registryAddress, registryContract, clientContracts)

// // send requests
// requestSources := make([][]byte, nClients)
// rnd := rand.New(rand.NewSource(666))
// for i := 0; i < nClients; i++ {
// requestSources[i] = make([]byte, requestLenBytes)
// for j := 0; j < requestLenBytes; j++ {
// requestSources[i][j] = byte(rnd.Uint32() % 256)
// }
// _, err := clientContracts[i].Contract.SendRequest(
// owner,
// hex.EncodeToString(requestSources[i]),
// utils.DefaultSecretsUrlsBytes,
// []string{utils.DefaultArg1, utils.DefaultArg2},
// subscriptionId)
// require.NoError(t, err)
// }
// utils.CommitWithFinality(b)

// // validate that all client contracts got correct responses to their requests
// var wg sync.WaitGroup
// for i := 0; i < nClients; i++ {
// ic := i
// wg.Add(1)
// go func() {
// defer wg.Done()
// gomega.NewGomegaWithT(t).Eventually(func() [32]byte {
// answer, err := clientContracts[ic].Contract.LastResponse(nil)
// require.NoError(t, err)
// return answer
// }, 3*time.Minute, 1*time.Second).Should(gomega.Equal(utils.GetExpectedResponse(requestSources[ic])))
// }()
// }
// wg.Wait()

// validate that all client contracts got correct responses to their requests
utils.ClientTestRequests(t, owner, b, linkToken, registryAddress, registryContract, clientContracts, requestLenBytes, time.Duration(1)*time.Minute)
utils.ClientTestRequests(t, owner, b, linkToken, registryAddress, registryContract, clientContracts, requestLenBytes, utils.DefaultSecretsBytes, 1*time.Minute)
}

func TestIntegration_Functions_MultipleRequests_ThresholdDecryptionSuccess(t *testing.T) {
Expand Down Expand Up @@ -117,43 +75,6 @@ func TestIntegration_Functions_MultipleRequests_ThresholdDecryptionSuccess(t *te
utils.SetOracleConfig(t, owner, oracleContract, oracleIdentities, batchSize, &pluginConfig)
utils.CommitWithFinality(b)

// set up subscription
subscriptionId := utils.CreateAndFundSubscriptions(t, owner, linkToken, registryAddress, registryContract, clientContracts)

// send requests
requestSources := make([][]byte, nClients)
rnd := rand.New(rand.NewSource(666))
for i := 0; i < nClients; i++ {
requestSources[i] = make([]byte, requestLenBytes)
for j := 0; j < requestLenBytes; j++ {
requestSources[i][j] = byte(rnd.Uint32() % 256)
}
_, err := clientContracts[i].Contract.SendRequest(
owner,
hex.EncodeToString(requestSources[i]),
utils.DefaultSecretsUrlsBytes,
[]string{utils.DefaultArg1, utils.DefaultArg2},
subscriptionId)
require.NoError(t, err)
}
utils.CommitWithFinality(b)

// validate that all client contracts got correct responses to their requests
var wg sync.WaitGroup
for i := 0; i < nClients; i++ {
ic := i
wg.Add(1)
go func() {
defer wg.Done()
gomega.NewGomegaWithT(t).Eventually(func() [32]byte {
answer, err := clientContracts[ic].Contract.LastResponse(nil)
require.NoError(t, err)
return answer
}, 3*time.Minute, 1*time.Second).Should(gomega.Equal(utils.GetExpectedResponse(requestSources[ic])))
}()
}
wg.Wait()

// validate that all client contracts got correct responses to their requests
// utils.ClientTestRequests(t, owner, b, linkToken, registryAddress, registryContract, clientContracts, requestLenBytes, time.Duration(3)*time.Minute)
utils.ClientTestRequests(t, owner, b, linkToken, registryAddress, registryContract, clientContracts, requestLenBytes, utils.DefaultSecretsUrlsBytes, 3*time.Minute)
}
Original file line number Diff line number Diff line change
Expand Up @@ -502,8 +502,10 @@ func ClientTestRequests(
registryContract *ocr2dr_registry.OCR2DRRegistry,
clientContracts []deployedClientContract,
requestLenBytes int,
expectedSecrets []byte,
timeout time.Duration,
) {
t.Helper()
subscriptionId := CreateAndFundSubscriptions(t, owner, linkToken, registryAddress, registryContract, clientContracts)
// send requests
requestSources := make([][]byte, len(clientContracts))
Expand All @@ -516,7 +518,7 @@ func ClientTestRequests(
_, err := client.Contract.SendRequest(
owner,
hex.EncodeToString(requestSources[i]),
DefaultSecretsBytes,
expectedSecrets,
[]string{DefaultArg1, DefaultArg2},
subscriptionId)
require.NoError(t, err)
Expand Down

0 comments on commit f27d220

Please sign in to comment.