-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CCIP-4165 additional e2e integration tests #15245
CCIP-4165 additional e2e integration tests #15245
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! Are there any commonalities from each test case that can be pulled out into funcs? See e.g messagingTestCase
in ccip_messaging_test.go
…or-tokens-transfers-tests
…or-tokens-transfers-tests
…or-tokens-transfers-tests
…or-tokens-transfers-tests
AER Report: CI Core ran successfully ✅AER Report: Operator UI CI ran successfully ✅ |
…or-tokens-transfers-tests
…or-tokens-transfers-tests
d99db51
to
ad9aea9
Compare
// The balance should be 4 since we've already sent 2 tokens over this lane direction in the | ||
// first part of the test, so balance should already be two |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's better to avoid sequential testing as this will cost the execution time. I would advice to see how we can make these test runs in parallel.
Few options are like:
- Using multiple wallet address
- Creating it as individual test which has its own setup and runner to run in parallel.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
running in parallel with multiple wallets makes the most sense as the original ticket specified under the same e2e test.
delete(expectedSeqNum, sourceDestPair) | ||
}) | ||
|
||
t.Run("Send Token Pay with native remote chain -> home", func(t *testing.T) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the difference in this test is only about fee token, then we can pass that as an argument and simplify the test.
}}, | ||
} | ||
|
||
t.Run("Send message Pay with Link token home chain -> remote", func(t *testing.T) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As our intention is to test fee token, I think we can avoid testing this is in different lanes. We can test it in the same lane with different token by that we can simplify the test more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The original ticket specified that each test scenario should flip the lane direction
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel it is not needed. @makramkd @mateusz-sekara What do you guys think about this?
delete(expectedSeqNum, sourceDestPair) | ||
}) | ||
|
||
t.Run("Send message pay with wrapped native home chain -> remote", func(t *testing.T) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can do something like this:
- Setup one lane say home chain -> remote
- Create test input struct with fee token type (link, native and wnative) and message type (Token, Data and Token+Data)
- Loop the test and try to run in parallel using multiple wallet address.
WDYT?
…or-tokens-transfers-tests
use the fee token paid from the event rather than the call before the request is made
Additional End-to-End integration tests for CCIP involving token transfers paying in different feeTokens