Redo the Review Bot extension configuration.
Review Request #8487 — Created Oct. 24, 2016 and submitted — Latest diff uploaded
Most of the Review Bot "configuration" now exists in integration configs (which
specify which tools should run under which conditions), but there are two
pieces of global configuration for the extension that still need to happen.
Specifically, Review Bot needs a user account (to use for posting reviews and
other API requests), and the URL of the AMQP broker.We had an existing settings form that was capable of doing that, but it was
kind of terrible. It used a<select>
widget pre-populated with all the users
on the system, which isn't scalable, plus it required people to manually create
a user account through the database UI first. It also had no feedback about
whether the broker URL was correct.This change replaces that with a new form which is submitted asynchronously.
The user selector uses selectize with similar styling to the new multi-user
select field that we added recently, and includes a "create" option for making
a new Review Bot user. Once the settings are configured, it will attempt to
refresh the tools list on each worker, to show some feedback. Right now the
feedback includes the connection state and the list of workers (but not what
tools are available). If everything is configured correctly (the user and
broker are set, the broker is available, and there are running workers), this
will then link to the integration list to set up individual tool
configurations.
- Loaded the form with various states of configuration. Saw that the form
fields were always properly populated. - Created a reviewbot user through the form and saw that the User was created
and properly set in the extension settings. - Updated the user through the form and saw that the extension settings were
changed. - Filled out the broker URL field and saw that the extension settings were
changed. - Verified that the broker status was updated on initial page load and any
time the configuration settings changed. - Tested broker status (and worker status) feedback for the different cases of
"unable to connect", "connected without workers", and "connected with
workers".