-
Notifications
You must be signed in to change notification settings - Fork 4
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
Integration tests for testnet.polykey.io
#441
Conversation
👇 Click on the image for a new way to code review
Legend |
b5e638d
to
66fc3ea
Compare
How should the testnet be specified as a seed node in these tests? Using |
One problem with our testnet NAT tests is that the testnet needs to coordinate signalling between two network namespaces running on a single real machine. This essentially becomes a double NAT.
The two namespaces each have their own IPs, but the real computer only has one. We need a way for the namespaces to communicate with eachother through this virtual NAT, keeping in mind that this communication may be intercepted by the real system's NAT. There are two solutions I can think of here.
|
|
This will rebase on top of #445 and will be next. |
Assuming all bugs are fixed. |
@tegefaulkes can you put up the list here in the PR description about all the tests that been disabled due to getting staging passing (from #411). In this PR we will re-enable all of those tests, but after fixing everything. |
Maybe they should be re-enabled in the PRs addressing the issues we disabled them for? |
0803541
to
debbf15
Compare
I've re-based on staging. |
test.todo('EIM to testnet.polykey.io', async () => { | ||
// Local agent behind EIM NAT can ping testnet.polykey.io | ||
}); | ||
test.todo('EDM to testnet.polykey.io', async () => { | ||
// Local agent behind EDM NAT can ping testnet.polykey.io | ||
}); | ||
test.todo('DMZ to EIM via testnet.polykey.io', async () => { | ||
// Local agent behind DMZ can ping local agent behind EIM NAT using seed | ||
// node signaller (and can ping back) | ||
}); | ||
test.todo('DMZ to EDM via testnet.polykey.io', async () => { | ||
// Local agent behind DMZ cannot ping local agent behind EDM NAT using seed | ||
// node signaller (but can using relay) (and can ping back) | ||
}); | ||
test.todo('EIM to EIM via testnet.polykey.io', async () => { | ||
// Local agent behind EIM can ping local agent behind EIM NAT using seed | ||
// node signaller (and can ping back) | ||
}); | ||
test.todo('EIM to EDM via testnet.polykey.io', async () => { | ||
// Local agent behind EIM cannot ping local agent behind EDM NAT using seed | ||
// node signaller (but can using relay) (and can ping back) | ||
}); | ||
test.todo('EDM to EDM via testnet.polykey.io', async () => { | ||
// Local agent behind EDM cannot ping local agent behind EDM NAT using seed | ||
// node signaller (but can using relay) (and can ping back) | ||
}); |
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.
These tests would all be moved to a sort of Polykey-Simulation
repository. As we cannot control the firewall and NAT situation of the test runner in these unit tests.
8c9011c
to
af4dc63
Compare
Remember to extract out the tests that will go into a simulation suite, and then tick off the tasks above too (and cross out ones that will be punted to the simulation suite). |
af4dc63
to
833c65d
Compare
|
Don't keep it in a separate branch. We often delete branches for pruning and we may lose that code. It's better to archive that, or create a new repo just for that. Let's put it into this repo https://gitlab.com/MatrixAI/Engineering/Polykey/Polykey-Simulation. |
Also copy any of the remaining tasks into the README: [ ] Verification of seed node in local keynode's NodeGraph (pk nodes getall) |
I moved it to the |
Description
Adding a suite of integration tests for interacting with a deployed agent at
testnet.polykey.io
. These will go undertests/integration/testnet
.Issues Fixed
testnet.polykey.com
Polykey-CLI#71Tasks
tests/integration/testnet
[ ] 3. Write tests as specified in Integration Tests fortestnet.polykey.com
Polykey-CLI#71Required tests:
testnet.polykey.io
seed node (by setting as seed node duringpk agent start
)[ ] Verification of seed node in local keynode'sNodeGraph
(pk nodes getall
)[ ] Sending notification to seed node (expect failure because no trust established, but this shouldn't show up locally)[ ] Establishing trust of seed node with local keynode (pk identities trust
)[ ] Verifying node has been added to seed node's gestalt graph after trust has been established (pk identities get/list
)[ ] Sending notification to seed node, and verifying seed node received (will need to connect to testnet and runpk notifications read
)Final checklist