Skip to content
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

Extend end-to-end test framework to integrate traffic simulation #3611

Closed
kschiffer opened this issue Dec 22, 2020 · 5 comments
Closed

Extend end-to-end test framework to integrate traffic simulation #3611

kschiffer opened this issue Dec 22, 2020 · 5 comments
Assignees
Labels
tooling Development tooling
Milestone

Comments

@kschiffer
Copy link
Contributor

Summary

To extend our end-to-end tests with test-cases that comprise network data, we need to extend our framework there to be able to simulate network traffic easily.

Why do we need this?

  • Cover critical network logic with end-to-end tests
  • Enable non-frontend devs to write end-to-end tests

What is already there? What do you see now?

Cypress-based end-to-end test framework, which we currently use to write test cases centered around the frontend.

What is missing? What do you want to see?

Some plugins or added cypress commands to inject network traffic into the stack. E.g. to be able to test join procedures, uplinks/downlinks, message en/decoding, mac commands, etc.

How do you propose to implement this?

Our CLI already allows simulating network traffic. We can use this to inject network traffic from within tests and subsequently check on expected behavior in the console (via cy.exec()). Since Cypress wraps an assertion library, we can also test CLI commands and their output directly.

Can you do this yourself and submit a Pull Request?

@bafonins or me to set up the groundwork.

It would be good to know from everybody which example test cases you'd like to add and whether CLI based traffic simulation and asserting on CLI command output and/or frontend behavior are sufficient to achieve these. cc @rvolosatovs @KrishnaIyer

@kschiffer kschiffer added needs/discussion We need to discuss this prio/medium tooling Development tooling labels Dec 22, 2020
@kschiffer kschiffer added this to the Next Up milestone Dec 22, 2020
@kschiffer
Copy link
Contributor Author

kschiffer commented Dec 22, 2020

Specifically, what I wonder is whether these functionalities will suffice for our end-to-end tests:

@kschiffer kschiffer mentioned this issue Dec 22, 2020
65 tasks
@htdvisser htdvisser modified the milestones: Next Up, 2021 Q2 Mar 26, 2021
@nejraselimovic
Copy link
Contributor

@kschiffer do you still need input from others to proceed with this?

@bafonins bafonins modified the milestones: 2021 Q2, 2021 Q3 Jul 1, 2021
@johanstokking
Copy link
Member

@KrishnaIyer can you book a few days to get this going?

@johanstokking johanstokking removed the needs/discussion We need to discuss this label Jul 13, 2021
@KrishnaIyer
Copy link
Member

@kschiffer
Copy link
Contributor Author

kschiffer commented Nov 9, 2023

I think this has been closed in error. While we have traffic simulation tests, these are not facilitated through the Console. I'd like to add a couple of tests that check whether traffic is being handled correctly in the Console.

This includes:

  • Testing the event stream
    • Event filters
    • Data inspector
    • Preview row
  • Testing "last activity" updates
  • Test "Device joined successfully" message when a device in an application has joined the network
  • Testing locations set by uplinks (gateways and devices)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tooling Development tooling
Projects
None yet
Development

No branches or pull requests

6 participants