[ 
https://issues.apache.org/jira/browse/SOLR-18347?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jan Høydahl updated SOLR-18347:
-------------------------------
    Description: 
These were found during implementation of unit tests for Admin UI, SOLR-8474.

*NB: If you want to fix one of these, please first move the text into a 
sub-issue*

Issues surfaced by these tests that look like real bugs, weaknesses or 
flakiness in the Admin UI (or its backing APIs) rather than bad test code. 
Tests work around them as noted; each deserves investigation and possibly its 
own JIRA:
 # {*}Menu TypeError on per-collection pages{*}: navigating to any 
per-collection screen intermittently logs {{TypeError: Cannot read properties 
of null (reading 'name')}} from {{$scope.showCore}} in {{js/angular/app.js}} — 
the core selector fires its change handler with a null core while the menu 
resolves. Workaround: the console-error assertion filters this signature. 
_Found by_ {{AdminUiSmokeTest}} / {{{}AdminUiParamsetsScreenTest{}}}.
 # {*}Collections screen dies without the js-client bundle{*}: the 
{{CollectionsV2}} service factory ({{{}services.js{}}}) references the 
{{solrApi}} global at injection time; if {{libs/solr/index.js}} fails to load, 
the whole {{CollectionsController}} fails and the screen is blank. Only 
{{reloadCollection}} is used from that bundle — a lazy/optional lookup would 
degrade gracefully. Workaround: tests serve a stub bundle. _Found by_ 
{{{}AdminUiSmokeTest{}}}; stub served by {{AdminUiTestBase}} for 
{{{}AdminUiCollectionsScreenTest{}}}.
 # {*}Schema Designer races itself{*}: creating a schema and analyzing sample 
docs transiently fails with {{Failed to persist managed schema ... version 
mismatch, retry}} from its own {{{}prep{}}}/{{{}analyze{}}} calls, surfacing an 
error dialog the user has to dismiss. Workaround: the test retries via the 
offered Reload Schema button and ignores the designer's own 5xx console errors; 
the test is currently {{@AwaitsFix}} pending this issue. _Found by_ 
{{{}AdminUiSchemaDesignerTest{}}}.
 # {*}Plugins screen 500s when metrics are disabled{*}: {{/admin/metrics}} with 
{{wt=prometheus}} returns HTTP 500 ("No metrics found in response") when 
metrics collection is disabled, instead of a clean error; the Plugins screen 
just shows nothing while the console logs the 500. Workaround: tests enable 
{{{}metricsEnabled{}}}. _Found by_ {{AdminUiSmokeTest}} / 
{{{}AdminUiCollectionScreensTest{}}}.
 # {*}Core overview ping widget logs a 503{*}: with a configset that has no 
healthcheck file, the ping status call answers 503 and the console shows a 
resource-load error on every visit; the widget could handle "healthcheck not 
configured" gracefully. Workaround: allowed in the affected tests. _Found by_ 
{{AdminUiSmokeTest}} / {{AdminUiCollectionScreensTest}} / 
{{{}AdminUiCoreAdminStandaloneTest{}}}.
 # {*}Reload success indicator is a 1-second flash{*}: the Collections screen's 
reload button only flags success via a CSS class for one second, which is easy 
to miss (and impossible to assert on reliably). Workaround: the test verifies 
the reload via the core start time instead. _Found by_ 
{{{}AdminUiCollectionsScreenTest{}}}.

h3. Done elsewhere
 # {*}Security screen dialogs unreliable under automation{*}: native clicks on 
the Add User toggle and keystrokes into the absolutely-positioned dialog 
(jQuery-positioned, {{escape-pressed}} directive) are dropped in headless 
Chrome even though the same interactions work on other screens. May indicate a 
focus/z-index issue. Workaround: the test drives the dialog via the Angular 
controller scope. _Found by_ {{{}AdminUiSecurityAuthTest{}}}.
This was fixed in [https://github.com/apache/solr/pull/4800] , tagged with 
SOLR-8474

  was:
These were found during implementation of unit tests for Admin UI, SOLR-8474.

*NB: If you want to fix one of these, please first move the text into a 
sub-issue*

Issues surfaced by these tests that look like real bugs, weaknesses or 
flakiness in the Admin UI (or its backing APIs) rather than bad test code. 
Tests work around them as noted; each deserves investigation and possibly its 
own JIRA:
 # {*}Menu TypeError on per-collection pages{*}: navigating to any 
per-collection screen intermittently logs {{TypeError: Cannot read properties 
of null (reading 'name')}} from {{$scope.showCore}} in {{js/angular/app.js}} — 
the core selector fires its change handler with a null core while the menu 
resolves. Workaround: the console-error assertion filters this signature. 
_Found by_ {{AdminUiSmokeTest}} / {{{}AdminUiParamsetsScreenTest{}}}.
 # {*}Collections screen dies without the js-client bundle{*}: the 
{{CollectionsV2}} service factory ({{{}services.js{}}}) references the 
{{solrApi}} global at injection time; if {{libs/solr/index.js}} fails to load, 
the whole {{CollectionsController}} fails and the screen is blank. Only 
{{reloadCollection}} is used from that bundle — a lazy/optional lookup would 
degrade gracefully. Workaround: tests serve a stub bundle. _Found by_ 
{{{}AdminUiSmokeTest{}}}; stub served by {{AdminUiTestBase}} for 
{{{}AdminUiCollectionsScreenTest{}}}.
 # {*}Schema Designer races itself{*}: creating a schema and analyzing sample 
docs transiently fails with {{Failed to persist managed schema ... version 
mismatch, retry}} from its own {{{}prep{}}}/{{{}analyze{}}} calls, surfacing an 
error dialog the user has to dismiss. Workaround: the test retries via the 
offered Reload Schema button and ignores the designer's own 5xx console errors; 
the test is currently {{@AwaitsFix}} pending this issue. _Found by_ 
{{{}AdminUiSchemaDesignerTest{}}}.
 # {*}Plugins screen 500s when metrics are disabled{*}: {{/admin/metrics}} with 
{{wt=prometheus}} returns HTTP 500 ("No metrics found in response") when 
metrics collection is disabled, instead of a clean error; the Plugins screen 
just shows nothing while the console logs the 500. Workaround: tests enable 
{{{}metricsEnabled{}}}. _Found by_ {{AdminUiSmokeTest}} / 
{{{}AdminUiCollectionScreensTest{}}}.
 # {*}Core overview ping widget logs a 503{*}: with a configset that has no 
healthcheck file, the ping status call answers 503 and the console shows a 
resource-load error on every visit; the widget could handle "healthcheck not 
configured" gracefully. Workaround: allowed in the affected tests. _Found by_ 
{{AdminUiSmokeTest}} / {{AdminUiCollectionScreensTest}} / 
{{{}AdminUiCoreAdminStandaloneTest{}}}.
 # {*}Reload success indicator is a 1-second flash{*}: the Collections screen's 
reload button only flags success via a CSS class for one second, which is easy 
to miss (and impossible to assert on reliably). Workaround: the test verifies 
the reload via the core start time instead. _Found by_ 
{{{}AdminUiCollectionsScreenTest{}}}.

h3. Done elsewhere
 # {*}Security screen dialogs unreliable under automation{*}: native clicks on 
the Add User toggle and keystrokes into the absolutely-positioned dialog 
(jQuery-positioned, {{escape-pressed}} directive) are dropped in headless 
Chrome even though the same interactions work on other screens. May indicate a 
focus/z-index issue. Workaround: the test drives the dialog via the Angular 
controller scope. _Found by_ {{{}AdminUiSecurityAuthTest{}}}.
This was fixed in 


> Possible AdminUI bugs found by Selenium
> ---------------------------------------
>
>                 Key: SOLR-18347
>                 URL: https://issues.apache.org/jira/browse/SOLR-18347
>             Project: Solr
>          Issue Type: Bug
>          Components: Admin UI
>            Reporter: Jan Høydahl
>            Priority: Major
>
> These were found during implementation of unit tests for Admin UI, SOLR-8474.
> *NB: If you want to fix one of these, please first move the text into a 
> sub-issue*
> Issues surfaced by these tests that look like real bugs, weaknesses or 
> flakiness in the Admin UI (or its backing APIs) rather than bad test code. 
> Tests work around them as noted; each deserves investigation and possibly its 
> own JIRA:
>  # {*}Menu TypeError on per-collection pages{*}: navigating to any 
> per-collection screen intermittently logs {{TypeError: Cannot read properties 
> of null (reading 'name')}} from {{$scope.showCore}} in {{js/angular/app.js}} 
> — the core selector fires its change handler with a null core while the menu 
> resolves. Workaround: the console-error assertion filters this signature. 
> _Found by_ {{AdminUiSmokeTest}} / {{{}AdminUiParamsetsScreenTest{}}}.
>  # {*}Collections screen dies without the js-client bundle{*}: the 
> {{CollectionsV2}} service factory ({{{}services.js{}}}) references the 
> {{solrApi}} global at injection time; if {{libs/solr/index.js}} fails to 
> load, the whole {{CollectionsController}} fails and the screen is blank. Only 
> {{reloadCollection}} is used from that bundle — a lazy/optional lookup would 
> degrade gracefully. Workaround: tests serve a stub bundle. _Found by_ 
> {{{}AdminUiSmokeTest{}}}; stub served by {{AdminUiTestBase}} for 
> {{{}AdminUiCollectionsScreenTest{}}}.
>  # {*}Schema Designer races itself{*}: creating a schema and analyzing sample 
> docs transiently fails with {{Failed to persist managed schema ... version 
> mismatch, retry}} from its own {{{}prep{}}}/{{{}analyze{}}} calls, surfacing 
> an error dialog the user has to dismiss. Workaround: the test retries via the 
> offered Reload Schema button and ignores the designer's own 5xx console 
> errors; the test is currently {{@AwaitsFix}} pending this issue. _Found by_ 
> {{{}AdminUiSchemaDesignerTest{}}}.
>  # {*}Plugins screen 500s when metrics are disabled{*}: {{/admin/metrics}} 
> with {{wt=prometheus}} returns HTTP 500 ("No metrics found in response") when 
> metrics collection is disabled, instead of a clean error; the Plugins screen 
> just shows nothing while the console logs the 500. Workaround: tests enable 
> {{{}metricsEnabled{}}}. _Found by_ {{AdminUiSmokeTest}} / 
> {{{}AdminUiCollectionScreensTest{}}}.
>  # {*}Core overview ping widget logs a 503{*}: with a configset that has no 
> healthcheck file, the ping status call answers 503 and the console shows a 
> resource-load error on every visit; the widget could handle "healthcheck not 
> configured" gracefully. Workaround: allowed in the affected tests. _Found by_ 
> {{AdminUiSmokeTest}} / {{AdminUiCollectionScreensTest}} / 
> {{{}AdminUiCoreAdminStandaloneTest{}}}.
>  # {*}Reload success indicator is a 1-second flash{*}: the Collections 
> screen's reload button only flags success via a CSS class for one second, 
> which is easy to miss (and impossible to assert on reliably). Workaround: the 
> test verifies the reload via the core start time instead. _Found by_ 
> {{{}AdminUiCollectionsScreenTest{}}}.
> h3. Done elsewhere
>  # {*}Security screen dialogs unreliable under automation{*}: native clicks 
> on the Add User toggle and keystrokes into the absolutely-positioned dialog 
> (jQuery-positioned, {{escape-pressed}} directive) are dropped in headless 
> Chrome even though the same interactions work on other screens. May indicate 
> a focus/z-index issue. Workaround: the test drives the dialog via the Angular 
> controller scope. _Found by_ {{{}AdminUiSecurityAuthTest{}}}.
> This was fixed in [https://github.com/apache/solr/pull/4800] , tagged with 
> SOLR-8474



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to