[
https://issues.apache.org/jira/browse/METRON-1803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16647820#comment-16647820
]
ASF GitHub Bot commented on METRON-1803:
----------------------------------------
Github user tiborm commented on a diff in the pull request:
https://github.com/apache/metron/pull/1226#discussion_r224759531
--- Diff: metron-interface/metron-alerts/cypress/support/commands.js ---
@@ -0,0 +1,43 @@
+/**
--- End diff --
Some files look like placeholders but cypress needs them. Cypress
regenerates all at a run if we remove them. I think it's easier to keep them in
Git instead of cleaning them every time we running tests locally.
> Integrate Cypress with Travis
> -----------------------------
>
> Key: METRON-1803
> URL: https://issues.apache.org/jira/browse/METRON-1803
> Project: Metron
> Issue Type: Improvement
> Reporter: Tibor Meller
> Assignee: Tibor Meller
> Priority: Major
>
> [DISCUSS] thread on the dev mailing list:
> [https://lists.apache.org/thread.html/b6a0272c7809c05e8b7aff20171720e8ec76f8a0e9481169c37a4a4a@%3Cdev.metron.apache.org%3E]
> JIRA Ticket: https://issues.apache.org/jira/browse/METRON-1803
> This PR adds Cypress.io to our project. It makes us able to run E2E tests, UI
> integration tests. Also higher level UI tests with mocked services.
> As part of this PR I added tests to cover the following functionalities of
> PCAP UI panel:
> * checking running jobs on navigating to PCAP tab
> * submitting PCAP job request
> * requesting job status
> * process status in percentage
> * getting PCAP JSON
> * rendering PCAP table
> * showing PCAP details
> * navigating across pages
> * downloading PDML
> * cancelli PCAP query job
> * showing filter validation messages
> * showing date validation messages
> Please consider while reviewing that these tests are not meant to cover all
> the details of the functionalities above. The aim here is to extend the test
> coverage build up by a large number of Unit Tests with higher level UI tests.
> h3. New folders
> Cypress files sit in cypress folder. Some of them might look like an empty
> placeholder but cypress actively uses all files in this PR.
> h4. Integration folder
> That contains the actual Cypress tests. The folder name comes from the
> Cypress naming convention, however, no real integration tests implemented
> here yet (at least no other than the integration of UI components to a whole
> application). We could change the name of the folder anytime we like to, but
> only one folder applicable.
> h4. Fixture folder
> The tests are running on mocked data. This makes us able to integrate them
> with Travis without the need to having PCAP related services available from
> our CI.
> Each file in the Fixture folder represents a response to a particular
> request. This makes it fairly easy to create and maintain.
> h3. How to run tests on your local machine
> To run Cypress tests locally please do the following:
> # pull this branch to your workspace
> # move to metron-interface/metron-alerts folder
> # run: npm ci
> # run: scripts/start-server-for-e2e.sh
> # run: node_modules/cypress/bin/cypress run
> or run: node_modules/cypress/bin/cypress open
> if you like to use the dashboard.
> h3. Travis integration
> As part of this PR I modified the package.json in metron-alert to make
> Cypress running in Travis. If you like to see the integration working please
> check to logs of build step [#3|https://github.com/apache/metron/pull/3].
> Failing Cypress tests brakes the build.
> Example of build broken by failing Cypress test:
> [https://travis-ci.com/tiborm/metron/builds/86869264]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)