Unverified Commit d0ee5ae0 authored by Matt Pryor's avatar Matt Pryor Committed by GitHub
Browse files

Merge pull request #62 from ESGF/issue/56/testing-guide

Issue/56/testing guide
parents a0901c7e 6aec9010
Loading
Loading
Loading
Loading
+97 −85
Original line number Diff line number Diff line
@@ -13,105 +13,114 @@ GEM
      execjs
    coffee-script-source (1.11.1)
    colorator (1.1.0)
    commonmarker (0.17.7.1)
    commonmarker (0.17.9)
      ruby-enum (~> 0.5)
    concurrent-ruby (1.0.5)
    dnsruby (1.60.2)
    em-websocket (0.5.1)
      eventmachine (>= 0.12.9)
      http_parser.rb (~> 0.6.0)
    ethon (0.11.0)
      ffi (>= 1.3.0)
    eventmachine (1.2.5)
    execjs (2.7.0)
    faraday (0.14.0)
    faraday (0.15.0)
      multipart-post (>= 1.2, < 3)
    ffi (1.9.18)
    ffi (1.9.23)
    forwardable-extended (2.6.0)
    gemoji (3.0.0)
    github-pages (175)
    github-pages (183)
      activesupport (= 4.2.9)
      github-pages-health-check (= 1.3.5)
      jekyll (= 3.6.2)
      github-pages-health-check (= 1.7.3)
      jekyll (= 3.7.3)
      jekyll-avatar (= 0.5.0)
      jekyll-coffeescript (= 1.0.2)
      jekyll-commonmark-ghpages (= 0.1.3)
      jekyll-coffeescript (= 1.1.1)
      jekyll-commonmark-ghpages (= 0.1.5)
      jekyll-default-layout (= 0.1.4)
      jekyll-feed (= 0.9.2)
      jekyll-gist (= 1.4.1)
      jekyll-github-metadata (= 2.9.3)
      jekyll-mentions (= 1.2.0)
      jekyll-feed (= 0.9.3)
      jekyll-gist (= 1.5.0)
      jekyll-github-metadata (= 2.9.4)
      jekyll-mentions (= 1.3.0)
      jekyll-optional-front-matter (= 0.3.0)
      jekyll-paginate (= 1.1.0)
      jekyll-readme-index (= 0.2.0)
      jekyll-redirect-from (= 0.12.1)
      jekyll-relative-links (= 0.5.2)
      jekyll-redirect-from (= 0.13.0)
      jekyll-relative-links (= 0.5.3)
      jekyll-remote-theme (= 0.2.3)
      jekyll-sass-converter (= 1.5.0)
      jekyll-seo-tag (= 2.3.0)
      jekyll-sitemap (= 1.1.1)
      jekyll-sass-converter (= 1.5.2)
      jekyll-seo-tag (= 2.4.0)
      jekyll-sitemap (= 1.2.0)
      jekyll-swiss (= 0.4.0)
      jekyll-theme-architect (= 0.1.0)
      jekyll-theme-cayman (= 0.1.0)
      jekyll-theme-dinky (= 0.1.0)
      jekyll-theme-hacker (= 0.1.0)
      jekyll-theme-leap-day (= 0.1.0)
      jekyll-theme-merlot (= 0.1.0)
      jekyll-theme-midnight (= 0.1.0)
      jekyll-theme-minimal (= 0.1.0)
      jekyll-theme-modernist (= 0.1.0)
      jekyll-theme-primer (= 0.5.2)
      jekyll-theme-slate (= 0.1.0)
      jekyll-theme-tactile (= 0.1.0)
      jekyll-theme-time-machine (= 0.1.0)
      jekyll-titles-from-headings (= 0.5.0)
      jemoji (= 0.8.1)
      jekyll-theme-architect (= 0.1.1)
      jekyll-theme-cayman (= 0.1.1)
      jekyll-theme-dinky (= 0.1.1)
      jekyll-theme-hacker (= 0.1.1)
      jekyll-theme-leap-day (= 0.1.1)
      jekyll-theme-merlot (= 0.1.1)
      jekyll-theme-midnight (= 0.1.1)
      jekyll-theme-minimal (= 0.1.1)
      jekyll-theme-modernist (= 0.1.1)
      jekyll-theme-primer (= 0.5.3)
      jekyll-theme-slate (= 0.1.1)
      jekyll-theme-tactile (= 0.1.1)
      jekyll-theme-time-machine (= 0.1.1)
      jekyll-titles-from-headings (= 0.5.1)
      jemoji (= 0.9.0)
      kramdown (= 1.16.2)
      liquid (= 4.0.0)
      listen (= 3.0.6)
      listen (= 3.1.5)
      mercenary (~> 0.3)
      minima (= 2.1.1)
      minima (= 2.4.1)
      nokogiri (>= 1.8.1, < 2.0)
      rouge (= 2.2.1)
      terminal-table (~> 1.4)
    github-pages-health-check (1.3.5)
    github-pages-health-check (1.7.3)
      addressable (~> 2.3)
      net-dns (~> 0.8)
      dnsruby (~> 1.60)
      octokit (~> 4.0)
      public_suffix (~> 2.0)
      typhoeus (~> 0.7)
    html-pipeline (2.7.1)
      typhoeus (~> 1.3)
    html-pipeline (2.7.2)
      activesupport (>= 2)
      nokogiri (>= 1.4)
    i18n (0.9.3)
    http_parser.rb (0.6.0)
    i18n (0.9.5)
      concurrent-ruby (~> 1.0)
    jekyll (3.6.2)
    jekyll (3.7.3)
      addressable (~> 2.4)
      colorator (~> 1.0)
      em-websocket (~> 0.5)
      i18n (~> 0.7)
      jekyll-sass-converter (~> 1.0)
      jekyll-watch (~> 1.1)
      jekyll-watch (~> 2.0)
      kramdown (~> 1.14)
      liquid (~> 4.0)
      mercenary (~> 0.3.3)
      pathutil (~> 0.9)
      rouge (>= 1.7, < 3)
      rouge (>= 1.7, < 4)
      safe_yaml (~> 1.0)
    jekyll-avatar (0.5.0)
      jekyll (~> 3.0)
    jekyll-coffeescript (1.0.2)
    jekyll-coffeescript (1.1.1)
      coffee-script (~> 2.2)
      coffee-script-source (~> 1.11.1)
    jekyll-commonmark (1.1.0)
    jekyll-commonmark (1.2.0)
      commonmarker (~> 0.14)
      jekyll (>= 3.0, < 4.0)
    jekyll-commonmark-ghpages (0.1.3)
    jekyll-commonmark-ghpages (0.1.5)
      commonmarker (~> 0.17.6)
      jekyll-commonmark (~> 1)
      rouge (~> 2)
    jekyll-default-layout (0.1.4)
      jekyll (~> 3.0)
    jekyll-feed (0.9.2)
    jekyll-feed (0.9.3)
      jekyll (~> 3.3)
    jekyll-gist (1.4.1)
    jekyll-gist (1.5.0)
      octokit (~> 4.2)
    jekyll-github-metadata (2.9.3)
    jekyll-github-metadata (2.9.4)
      jekyll (~> 3.1)
      octokit (~> 4.0, != 4.4.0)
    jekyll-mentions (1.2.0)
    jekyll-mentions (1.3.0)
      activesupport (~> 4.0)
      html-pipeline (~> 2.3)
      jekyll (~> 3.0)
@@ -120,82 +129,84 @@ GEM
    jekyll-paginate (1.1.0)
    jekyll-readme-index (0.2.0)
      jekyll (~> 3.0)
    jekyll-redirect-from (0.12.1)
    jekyll-redirect-from (0.13.0)
      jekyll (~> 3.3)
    jekyll-relative-links (0.5.2)
    jekyll-relative-links (0.5.3)
      jekyll (~> 3.3)
    jekyll-remote-theme (0.2.3)
      jekyll (~> 3.5)
      rubyzip (>= 1.2.1, < 3.0)
      typhoeus (>= 0.7, < 2.0)
    jekyll-sass-converter (1.5.0)
    jekyll-sass-converter (1.5.2)
      sass (~> 3.4)
    jekyll-seo-tag (2.3.0)
    jekyll-seo-tag (2.4.0)
      jekyll (~> 3.3)
    jekyll-sitemap (1.1.1)
    jekyll-sitemap (1.2.0)
      jekyll (~> 3.3)
    jekyll-swiss (0.4.0)
    jekyll-theme-architect (0.1.0)
    jekyll-theme-architect (0.1.1)
      jekyll (~> 3.5)
      jekyll-seo-tag (~> 2.0)
    jekyll-theme-cayman (0.1.0)
    jekyll-theme-cayman (0.1.1)
      jekyll (~> 3.5)
      jekyll-seo-tag (~> 2.0)
    jekyll-theme-dinky (0.1.0)
    jekyll-theme-dinky (0.1.1)
      jekyll (~> 3.5)
      jekyll-seo-tag (~> 2.0)
    jekyll-theme-hacker (0.1.0)
    jekyll-theme-hacker (0.1.1)
      jekyll (~> 3.5)
      jekyll-seo-tag (~> 2.0)
    jekyll-theme-leap-day (0.1.0)
    jekyll-theme-leap-day (0.1.1)
      jekyll (~> 3.5)
      jekyll-seo-tag (~> 2.0)
    jekyll-theme-merlot (0.1.0)
    jekyll-theme-merlot (0.1.1)
      jekyll (~> 3.5)
      jekyll-seo-tag (~> 2.0)
    jekyll-theme-midnight (0.1.0)
    jekyll-theme-midnight (0.1.1)
      jekyll (~> 3.5)
      jekyll-seo-tag (~> 2.0)
    jekyll-theme-minimal (0.1.0)
    jekyll-theme-minimal (0.1.1)
      jekyll (~> 3.5)
      jekyll-seo-tag (~> 2.0)
    jekyll-theme-modernist (0.1.0)
    jekyll-theme-modernist (0.1.1)
      jekyll (~> 3.5)
      jekyll-seo-tag (~> 2.0)
    jekyll-theme-primer (0.5.2)
    jekyll-theme-primer (0.5.3)
      jekyll (~> 3.5)
      jekyll-github-metadata (~> 2.9)
      jekyll-seo-tag (~> 2.2)
    jekyll-theme-slate (0.1.0)
      jekyll-seo-tag (~> 2.0)
    jekyll-theme-slate (0.1.1)
      jekyll (~> 3.5)
      jekyll-seo-tag (~> 2.0)
    jekyll-theme-tactile (0.1.0)
    jekyll-theme-tactile (0.1.1)
      jekyll (~> 3.5)
      jekyll-seo-tag (~> 2.0)
    jekyll-theme-time-machine (0.1.0)
    jekyll-theme-time-machine (0.1.1)
      jekyll (~> 3.5)
      jekyll-seo-tag (~> 2.0)
    jekyll-titles-from-headings (0.5.0)
    jekyll-titles-from-headings (0.5.1)
      jekyll (~> 3.3)
    jekyll-watch (1.5.1)
    jekyll-watch (2.0.0)
      listen (~> 3.0)
    jemoji (0.8.1)
    jemoji (0.9.0)
      activesupport (~> 4.0, >= 4.2.9)
      gemoji (~> 3.0)
      html-pipeline (~> 2.2)
      jekyll (>= 3.0)
      jekyll (~> 3.0)
    kramdown (1.16.2)
    liquid (4.0.0)
    listen (3.0.6)
      rb-fsevent (>= 0.9.3)
      rb-inotify (>= 0.9.7)
    listen (3.1.5)
      rb-fsevent (~> 0.9, >= 0.9.4)
      rb-inotify (~> 0.9, >= 0.9.7)
      ruby_dep (~> 1.2)
    mercenary (0.3.6)
    mini_portile2 (2.3.0)
    minima (2.1.1)
      jekyll (~> 3.3)
    minima (2.4.1)
      jekyll (~> 3.5)
      jekyll-feed (~> 0.9)
      jekyll-seo-tag (~> 2.1)
    minitest (5.11.3)
    multipart-post (2.0.0)
    net-dns (0.8.0)
    nokogiri (1.8.2)
      mini_portile2 (~> 2.3.0)
    octokit (4.8.0)
@@ -203,15 +214,16 @@ GEM
    pathutil (0.16.1)
      forwardable-extended (~> 2.6)
    public_suffix (2.0.5)
    rb-fsevent (0.10.2)
    rb-fsevent (0.10.3)
    rb-inotify (0.9.10)
      ffi (>= 0.5.0, < 2)
    rouge (2.2.1)
    ruby-enum (0.7.1)
    ruby-enum (0.7.2)
      i18n
    ruby_dep (1.5.0)
    rubyzip (1.2.1)
    safe_yaml (1.0.4)
    sass (3.5.5)
    sass (3.5.6)
      sass-listen (~> 4.0.0)
    sass-listen (4.0.0)
      rb-fsevent (~> 0.9, >= 0.9.4)
@@ -222,11 +234,11 @@ GEM
    terminal-table (1.8.0)
      unicode-display_width (~> 1.1, >= 1.1.1)
    thread_safe (0.3.6)
    typhoeus (0.8.0)
      ethon (>= 0.8.0)
    tzinfo (1.2.4)
    typhoeus (1.3.0)
      ethon (>= 0.9.0)
    tzinfo (1.2.5)
      thread_safe (~> 0.1)
    unicode-display_width (1.3.0)
    unicode-display_width (1.3.2)

PLATFORMS
  ruby
+1 −1
Original line number Diff line number Diff line
---
title: Data Publishing
category: Usage
order: 1.3
order: 1.4
---

## Test publication
+60 −0
Original line number Diff line number Diff line
---
title: Testing
category: Usage
order: 1.3
---

## Testing

These instructions describe how to test an ESGF node installation. They assume
the ESGF node has been started using `docker-compose` or `docker helm`.

We *recommend* that each developer executes these tests before issuing a pull request into the *devel* branch.
These tests *must* be executed before issuing a pull request into the *master* branch. 
In what follows, replace `my-node.esgf.org` with the specific hostname assigned to your node.

### Manual Testing

The following procedure can be used to manually test an ESGF node installation using a browser.

* `CoG` home project: 
	* <https://my-node.esgf.org/projects/testproject/>
	* Check you can login with the local credentials below, and with at least one other external openid:
		* openid=https://my-node.esgf.org/esgf-idp/openid/rootAdmin
		* password=<value from cat $ESGF_CONFIG/secrets/rootadmin-password>

* `Solr` admin interface: 
	* <https://my-node.esgf.org/solr/#/>
	* Check you can perform a basic search.

* `ESGF search` API: 
	* <http://my-node.esgf.org/esg-search/search>

* `ESGF IdP`: 
	* <https://my-node.esgf.org/esgf-idp/>
 
* `ESGF ORP`: 
	* <https://my-node.esgf.org/esg-orp/>
	* Check you can login with the credentials above.

* `TDS`: 
	* <https://my-node.esgf.org/thredds> 
	* Check you can browse the catalogs, and download one file after logging in.

* `ESGF-Auth` web client: 
	* <https://my-node.esgf.org/esgf-auth/home/>
	* Check you can login with the openid and password above, and with at least one other external openid.

* `SLCS`: 
	* <https://my-node.esgf.org/esgf-slcs/admin/> 
	* Check you can log in as root administrator using:
		* username=rootAdmin
		* password=<value from cat $ESGF_CONFIG/secrets/rootadmin-password>

* Test publishing a test dataset following the instructions at [Data Publishing](/usage/publishing/)

### Automatic Testing

The following process can be used to automatically execute some basic tests versus an ESGF node installation.

TO BE COMPLETED.
 No newline at end of file