Skip to content

Admin UI Release Preflight

Mika edited this page Nov 30, 2016 · 7 revisions

Admin UI Release Preflight

To ensure that the full functionality of the CrateDB Admin UI is tested the person who is doing the Admin UI release needs to go through this preflight checklist.

If one or more tests fail, the Admin UI must not be released.

Setup

To be able to run the tests you need to start 3 instances of CrateDB locally. Since the Admin UI is bound to a specific CrateDB version, Crate needs to be built from source from the correspoding version branch (e.g. 0.56).

The easies way to do this is adding a Bash function to your bashrc (or zshrc, or whatever other shell you're using).

function run_crate() {
  echo "Running crate from local checkout: $(git rev-parse --abbrev-ref HEAD)"
	local JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
	./gradlew installDist && \
      JAVA_OPTS=$JAVA_OPTS ./app/build/install/crate/bin/crate \
          -Ccluster.name=admin-ui-test \
          -Cdiscovery.zen.multicast.enabled=false \
          -Cdiscovery.zen.ping.unicast.hosts=localhost:4300 \
          -Cnetwork.bind_host=0.0.0.0 \
          -Chttp.cors.enabled=true \
          -Chttp.cors.allow-origin="*" \
          -Ces.api.enabled=true \
          -Cpsql.enabled=true \
          -Cstats.enabled=true
}

Then run 3 times run_crate in the console and open the Admin UI on http://localhost:4200/admin.

Tests

Toolbar

  • Cluster name must be ADMIN-UI-TEST
  • Version must correspond to branch version from which Crate was started

Overview

  • Toggle Load 1, Load 5, Load 15 in Cluster Load graph
  • Resizing the window must not throw any d3.js errors

Get Started

  • Import tweets for testing and and stop it again after ~ 10000 imported tweets
  • The Overview page should have updated the Total Records field to reflect this imported data.

Console

  • Type SELECT * FROM tweets; in the console and hit the execute button. LIMIT 100 must be applied automatically.
  • Type SELECT * FROM sys.summits; in the console and hit SHIFT+ENTER LIMIT 100 must be applied automatically.
  • Hit ARROW-UP key in console input field. SELECT * FROM sys.summits; must be loaded into console. Another ARROW-UP reveals SELECT * FROM tweets;
  • Test ARROW-DOWN functionality to test browsing the console history.

Tables

  • tweets table must appear in Docs Tables section.

Cluster

  • The master node must be indicated with a blue square.

Clone this wiki locally