Closed adamretter closed 4 years ago
I wonder if the webtests are still current. Judging by the history of the webtest directory, the last work on the npm aspect of the tests was done by Tasmo in 2018, and surely the major changes to TEI Publisher 6 would've necessitated adjustments to these.
@windauer Is the continuous integration with Jenkins described at https://github.com/eeditiones/tei-publisher-app/tree/master/webtest#continuous-integration-with-jenkins still enabled?
@joewiz These were the only tests that I could find. Also the https://jenkins.existsolutions.com/login?from=%2Fview%2FTei-Publisher%2Fjob%2Fteipublisher-web-components-test%2F appears to be a private CI with password protection.
If there are other tests elsewhere that anyone could point me to, I would be interested to run them...
@adamretter, @joewiz I fear the integration tests are outdated and won't work with TEI Publisher 6 anymore due to the web components. I just had a look at Jenkins and the tests have not been running for > 1 1/2 year. I guess we should remove them but thats something we should discuss with @wolfgangmm and @tuurma first.
We have a test suite in place for the TEI Publisher Webcomponents which can be executed by running npm run test:watch
in the cloned tei-publisher-components repo (https://github.com/eeditiones/tei-publisher-components).
@windauer I am not overly familiar with WebComponents, so please excuse any daft questions!
I took a look at the GitHub CI config for the tei-publisher-components. It appears that the tests for the WebComponents are executed against an older version 6.0.0-RC1
of the TEI-Publisher running on eXist-db 5.2.0.
Am I correct in thinking that the WebComponents are just the front-end? i.e. there are no integration tests there for any of the TEI code (XQuery, XSLT, etc.) running on eXist-db?
@adamretter yes, afaik this are only front-end and only unit tests. Currentlly there are no integration tests available since the old ones don't work anymore with Publisher 6. I plan to look into this issue in the near future. I'm quite new to this topic as well thats why I mentioned @wolfgangmm cause he did set up the Github Actions and current tests. Sorry if I can't help more.
@windauer Okay understood. Thanks for your help so far. I just wanted to verify FusionDB compatibility with TEI Publisher, but without an integration test-suite that is a bit tricky...
New test suites are available in two places:
To check compatibility on the XQuery and database level, 2) is what you want.
Note: running the tests from the branch currently requires development builds of oas-router
and tei-publisher-lib
. I'll send a message once we have reached a state when those dependencies can be pulled automatically.
Thanks @wolfgangmm that's helpful. Can we keep the issue open until it's possible to do on the main branch
@wolfgangmm @windauer I don't think this issue should be closed! It is still outstanding... I would still like to know how to build and test TEI Publisher so I can confirm it works on various platforms on-behalf of TEI Publisher users.
@adamretter I closed the issue because I already announced above that the tests will be available once the next version is released, so close means: done.
The test suite automatically runs via GitHub actions and you can launch it locally in the normal way, i.e. npm install
, npm test
after building (ant) and installing the TEI Publisher xar.
@wolfgangmm I think something must be missing. I looked in the new test/
folder and there are very few tests. Are there some more tests elsewhere?
Also I checked GitHub Actions (CI workflow) and it says that the last launch was some 22 days ago, and that the tests failed; they also failed several times before (see the attached). Is there somewhere else I should be looking?
@adamretter there are 62 tests and they should cover the entire API. Thanks to Open API, we can use existing libraries for testing API compliance. Since TEI Publisher 7, clients must communicate through the API, so if those tests pass, you can be pretty sure that the server side functionality is ok.
The TEI Publisher CI
github workflow is old and disabled. The one which runs on every push or PR is TEI Publisher Docker Snapshots
, which includes the test suite. Unfortunately github won't let me remove the old workflow results.
Thanks, that's helpful. Along with the API, can you point me to where I can find the tests for the UI?
The UI tests are part of tei-publisher-components and are run via GitHub actions as well. Because the entire UI is built with web components, the tests concentrate on the correctness of the interface each component provides and are less interesting with respect to client-server communication.
@wolfgangmm I see about ~20 tests in tei-publisher-components/test
is that the correct place?
Assuming so, I will get it tested and certified for Elemental and FusionDB.
Hi there,
I am following your instructions here https://github.com/eeditiones/tei-publisher-app/blob/master/webtest/README.md to try and build and run the integration tests.
I am on macOS Catalina, and node 12.18.3.
When I reach the
npm install
step, the build fails with the error:We use node-gyp in several other projects, so I fairly sure my build environment is correct. Please advise...