Jan Høydahl created SOLR-18347:
----------------------------------

             Summary: 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


These were found duing implementation of unit tests for Admin UI, SOLR-8474. 

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 a
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.
# *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.
# *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.
# *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.
# *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`.
# *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.
# *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.
# *ui-grid icon font is missing from the webapp*: `css/angular/ui-grid.min.css`
   references `fonts/ui-grid.woff` (and .ttf/.eot), but no such font files are
   shipped anywhere under `solr/webapp/web` — the SQL screen's result grid
   logs a 404 for it in production too, and grid icons render as boxes.
   Workaround: the console-error assertion filters this 404.



--
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