-
Notifications
You must be signed in to change notification settings - Fork 74
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
Test and fix the wrappers in bin/cgi-bin #1054
Comments
TODO:
|
This also avoids some warnings in the error log.
This is similar to the old apache2-httpd.include.conf
Currently not used, so remove it for decreasing the level of confusion.
scripts/apache2-perl-startup.pl is gone now. Manual testing showed a strange effect.
In the Apache error log there are also messages like:
I suspect that some modules meddle with the mode of |
Investigated why scripts/test/DynamicField/Driver/WebService/PossibleValuesGet.t failes when using the wrapper scripts. There a webservice, using OTOBO itself as endpoint, is used to retrieve info about a test ticket. This fails because the testscript can't parse the response from the OTOBO web server:
The communication is nicely tracked in the table gi_debugger_entry_content and can be nicely inspected with the Debugger available via the Webservice Admin page. The only stumbling block is that the test script mustn't delete webservice under test. Let's compare the response from Apache using Plack::Handler::Apache2 and from Apache using the wrapper scripts: Plack::Handler::Apache2:
Wrapper scripts in cgi-bin:
The first version is working fine, as the HTTP headers are not part of the SOAP content. The latter version is broken, as HTTP headers end up in the SOAP content. Needs to be fixed. Propably specifying non-parsed-headers somewhere. |
Looks like Plack::Handler::Apache2 already handles the headers
in order to get a more readable report
Fixed initial problem concerning non-parsed headers. This leaves 100 test failure, of which some are related to SOAP too.
|
There are still SOAP related failures when the wrapper scripts in cgi-bin are used. An example for such an failing script is scripts/test/GenericInterface/Operation/Ticket/TicketGet.t . The error message is:
This error message is emitted from Let's first take a look whether the webservice is generating the expected result. For that, the test script need to be adapted:
Now the Debugger in the web service Admin page can be used for inspecting the web service under test. The response generated on the server side looks fine. Hint: the XML response is longer than 8191 chars, HTTP headers are not displayed. But parsing the response on the client side fails with the known error. So, let's dig in deeper. Tracing can be enabled when
The relevant difference are in the response from the web service. Here is the response for SessionCreate: re. 1.
re. 2.
The Client-* header fields are generated internally in the client library. So it looks like no HTTP headers are emitted at all in the case 2 . SOAP::Lite then assumes that the XML-Response contains headers and sometimes ran into 'Line to long'. So this looks like it is related to #1100. |
Another class of failures from the cgi-bin wrapper scripts:
Looks like funny double or triple encoding. Needs to be investigated. |
There are actually two cases where the scripts in bin/cgi-bin are used.
Both cases should be supported. The Modperl::Registry is the more important case. The latter case should be handled in a different issue. There might be a problem with the detection of mod_perl. It could be that Apache2::Module can successfully be required, but mod_perl is effectively not active. |
Looks better now, but still some warnings and failures. First the warnings:
These warnings come from the OTOBO::RPC package in otobo.psgi. The failures:
|
Fixed the missing headers in CustomerLogin(). Run the test suite and got three failing scripts:
|
Another test run:
|
Yet another test run:
Looks like CustomerTicketOverview.t is the only consistenly failing test. |
Reran the test suite with a sleep in CustomerTicketOverview.t . This is all a bit unpredictable.
|
Yet another run:
|
Still a mixed bag:
|
Still failures before the OTOBO 10.1 Beta 2 release:
|
At least some of these failures were due to triple encoding of non-ASCII characters. Lets take a case in ./scripts/test/GenericInterface/Operation/Ticket/TicketGet.t. The title of ticket 4 contains the German umlaut Removing the questionable line made TicketGet.t succeed. Let's see how this works out for the complete test suite. |
Removed the
|
The failures for scripts/test/Selenium/Customer/Ajax/ErrorHandling.t are related to the still open issue #909. So let's ignore them for this issue, especially as other tests succeed that fail when running with Gazelle. |
Supporting the scripts in bin/cgi-bin is a kind of hassle and the hope is that nobody will use the. I propose to remove them in OTOBO 11.0.1 . |
Once this works with
PerlResponseHandler Plack::Handler::Apache2
we should check whether there are any problems with the wrapper script in bin/cgi-bin . See also #320Originally posted by @bschmalhofer in #1032 (comment)
The text was updated successfully, but these errors were encountered: