Testing Blocker Tickets

None

Testing Plan

Prepare installation (build from source)

git clone https://github.com/vivo-project/Vitro.git Vitro
git clone https://github.com/vivo-project/VIVO.git VIVO


cd Vitro
git checkout rel-1.11.0-RC-1

cd ../VIVO
git checkout rel-1.11.0-RC-1


cp ./installer/example-settings.xml local-settings.xml
# Update local-settings.xml with appropriate `vivo-dir` and `tomcat-dir`

Sanity Builds

CommandPlatformTested bySuccess?Notes

mvn clean install -s local-settings.xml

Linux(tick)

mvn clean install -s local-settings.xml

Mac

Mac





mvn clean install -s local-settings.xml

Windows

(tick)

(tick)

Used version of settings that I already had (with appropriate directories specified).

New Installation Tests

  1. Prepare installation, see above
  2. Empty MySQL database

    mysql -u root -p
    mysql> drop database vitrodb;
    mysql> CREATE DATABASE vitrodb CHARACTER SET utf8;
    mysql> GRANT ALL ON vitrodb.* TO 'vitrodbUsername'@'localhost' IDENTIFIED BY 'vitrodbPassword';
    
    *Note: For MySQL 8, the commands for setting up the user and granting permissions are separated:
    mysql> CREATE USER'vitrodbUsername'@'localhost' IDENTIFIED BY 'vitrodbPassword';
    mysql> GRANT ALL ON vitrodb.* TO 'vitrodbUsername'@'localhost';
  3. Remove application data

    rm -rf ${VIVO_HOME}/tdbModels/*
    rm -rf ${SOLR_HOME}/server/solr/vivocore/data/*

    3.5.  Ensure runtime.properties is set up in ${VIVO_HOME}/config by copying over example,runtime.properties and specifying the URL of the Solr instance you wish to use with this VIVO deployment. Also you've copied over example.applicationSetup.n3 to applicationSetup.n3 in the same folder.

  4. Start Tomcat

    sudo service tomcat8 restart

UI Tests 

note these are run manually, it might be possible to reconcile these test with this automated test suite : https://github.com/vivo-community/vivo-acceptance-tests


TestPlatformTested bySuccess?Notes
1

Smoke tests do not produce error

(warning about email server is OK)

Mac

Linux

Windows


(tick)

(tick)

(tick)


Linux Mint 19 Cinnamon

2

Home page displays correctly

Mac

Linux

Win/Lnx

Windows


(tick)

(tick)

(tick)


3Log in as admin

Mac

Linux

Win/Lnx

Windows


(tick)

(tick)

(tick)


4Site Admin page displays correctly

Mac

Linux

Win/Lnx


(tick)

(tick)


5Each function on site admin display correctly

Mac

Linux

Win/Lnx

Windows


(tick)

(tick)

(tick)

All 24 links (including Data Input Pull down) display normally. Ontology list All looks good
6

Site Admin - Add Individual of this class:

Faculty Member (People)

Project (Activities)

Course (Courses)

Academic Article (Research)

Presentation (Events)

Academic Department (Organizations)

Populated Place (Locations)

Mac

Linux

Win/Lnx

Windows


(tick)

(tick)

(tick)


Creation of a FacultyMember without a middle name results in extra whitespace attached to the end of rdfs:label value. 

The default list view for publications doesn't show the issue number for articles, which seems weird, but it appears to have been this way since at least 1.9 (as with the rds:label bug above).



7Check required fields in creating classes

Mac

Linux

Win/Lnx 

Windows


(tick)

(tick)

(tick)


8

Check menu entries

(Home, People, Organizations, Events, Capability Map)

Mac

Linux

Win/Lnx

Windows


(tick)

(tick)

(tick)


9

Check Person display

(logged out, logged in)

Mac

Linux

Windows


Brian Lowe

(tick)


(tick)


10Add values to all Person attributesMac

 (tick)

All is a heavy lift. 64 attributes accessible from the person page, some of which lead to entities (publications, positions, etc)) each with their own attributes.

Recommended: Add photo, overview, URL, research areas, position. Each exercises different functionality.

11Add research areas using vocabulary servicesMac

UMLS service requires registration key. See Release Notes. Unclear where this key would go. Other services respond as expected.

BG: Created Jira issue for UMLS Unable to locate Jira server for this macro. It may be due to Application Link configuration.

12

Check tabs on Person display

(overview, publications, contact, etc.)

Mac

Linux

Win/Lnx

(tick)


13

Add new publication to person

(check required fields)

Mac

Linux

Win/Lnx

(tick)


14Check publication sparklineMac

(tick)


15

Check manage publications

(hide / show publications)

Mac

Linux

(tick)
16

Check Publication view

Mac

Linux

Win/Lnx

(tick)


17

Check AltMetric badge

(e.g. doi: 10.1038/nrmicro2331)

Mac

Win/Lnx



Poor UI experience. I copied in the link, which copied in the HTML tagging, which led to showing the HTML tagging in the display. The edit form is open ended HTML, should be plain text. Should indicate what form of DOI is expected , or should accept with or without http:// without without "doi".
18Add author(s) to publication

Mac

Linux

Win/Lnx

(tick)
19Check Person has co-author network

Mac

Linux

Win/Lnx

(tick)
20Check co-author network display

Mac

Linux

Win/Lnx

(tick)
21Add grants to Person

Mac

Linux

Win/Lnx

(tick)
22Add co-investigators to grants

Mac

Linux

Win/Lnx

(tick)
23Check Person has co-investigator network

Mac

Linux

Win/Lnx

(tick)
24Check co-investigator network display

Mac

Linux

Win/Lnx

(tick)


25Load Sample Data

Mac

Linux


(tick)



26Check Capability Map

Mac

Linux

(tick)Need more sample data with more concepts for more extensive tests.
27Check Map of Science

Mac


Win/Lnx

(tick)


28Check Temporal Graph

Mac

Linux




29Search for "Derrida"

Mac

Linux

(tick)


30Check index page

Mac

Linux

Win/Lnx

 (tick)


31Create self editor login associated with profile

Mac

Linux


(tick)

Updated documentation to describe how this is done. See Creating and Managing User Accounts#AssociatingUserAccountswithProfilePages
32Log in as self editor. Verify can edit self, cannot edit others.

Mac

Linux


(tick)


33Add and confirm an ORCiD

Mac

Linux


(tick)

ORCiD API configuration requires clientId and clientPassword and public VIVO. See Activating the ORCID integration
34Create editor and assign proxy editing

Mac

Windows



Created user account with editor role and assigned proxy editing.  Also switched to self-editor role.

35Log in as proxy editor. Verify can edit proxied profile, cannot edit others.

Mac

Windows



When logged in as self-editor designated as a proxy editor, I can only edit the proxied profile and not a different profile.  When logged in as editor (i.e. the editor role which is different from self-editor), I can edit the proxied profile but also other profiles. Works as it should.

36

Check TPF endpoint

(enable if necessary)

Mac

Linux

Windows


(tick)

Works as designed. 45,279 triples with VIVO data, sample data, and some manually entered test data. Design needs work.

/tpf/core displayed triples and enabled triple pattern matching by subject,predicate, or object.  (43,173 triples in total)

37Run a SPARQL query

Mac

Linux

Windows


(tick)

(tick)

curl -i -d 'email=vivo_root@mydomain.edu' -d 'password=xxx' -d 'query=SELECT ?p ?o WHERE {<http://vivoweb.org/ontology/core#FacultyMember> ?p ?o} LIMIT 5' -H 'Accept: application/sparql-results+json' 'http://localhost:8080/vivo/api/sparqlQuery'

API Tests (reference: VIVO APIs)


TestPlatformTested bySuccess?Notes
1

Linked Open Data

LinuxRalph O'Flinn(tick)

# From Site Admin: Create a new `Faculty Member` (Add individual)
** Record the new URI: http://localhost:8080/vivo/individual/n1323
# Verify `individual` endpoint:

curl http://localhost:8080/vivo/individual/n1323/n1323.ttl
curl http://localhost:8080/vivo/individual/n1323/n1323.n3
curl http://localhost:8080/vivo/individual/n1323 -L -H "Accept: text/turtle"

for windows using cURL for Windows 7.46


ListRDFLinuxRalph O'Flinn(tick)

curl http://localhost:8080/vivo/listrdf -d 'vclass=http://vivoweb.org/ontology/core#Continent'

curl http://localhost:8080/vivo/listrdf -d vclass=http://vivoweb.org/ontology/core#Continent

3

Triple Pattern Fragments

http://localhost:8080/vivo/tpf/core

http://localhost:8080/vivo/tpf

curl http://localhost:8080/vivo/tpf/core

Linux(tick)

# Verify browsing:
http://localhost:8080/vivo/tpf/core
http://localhost:8080/vivo/tpf

Minor observation:  When TPF is disabled, it's great that the exception thrown explains how to enable it, but returning a 500 code with a stacktrace doesn't necessarily seem like the most graceful way of handling the situation.  I might expect a 404 (TPF server simply doesn't exist on the site) or maybe a 501? (Request is valid, but functionality is not implemented.)  The 500/stacktrace suggests to me that something is wrong with my installation.

# Verify direct access:
curl http://localhost:8080/vivo/tpf/core?subject=http://localhost:8080/vivo/individual/n1323

4SPARQL Query API

Linux

Windows

(tick)

(tick)

5SPARQL Update API

Linux

Windows

(tick)

(tick)


API works.  In the course of loading approx. 90K triples via the API, this search index-related warning appeared in the log a handful of times: 2019-09-26 16:26:39,453 WARN [ConcurrentUpdateSolrClient] No more runners, but queue still has 1 adding more runners to process remaining requests on queue

6Search Indexing APILinux(warning)

This works in the UI, but unable to get "curl" to work. Using:

curl -i -XPOST -d 'email=vivo_root@mydomain.edu' -d 'password=xxx' -d 'datafile=@uriList.txt' 'http://localhost:8080/vivo/searchService/updateUrisInSearch'


See: Search indexing service

7Data Distribution API

macOs

Linux

(warning)

Did not work following instructions for 1.10. Changing the DDAPI version from 1.1 to 1.1.1 DID work. Following instructions for building a snapshot version, which involved adding a repository tag, also worked. 

Pull request submitted to DDAPI repo to update documentation: https://github.com/vivo-community/vivo-data-distribution-api/pull/9

8Direct2Experts API

Linux

Mac




9Json-ld and rdf/xml individual pages



Unload/Load Tests


TestPlatformTested bySuccess?Notes
1Load data using the HarvesterLinux


2

Unload using jena2tools -e

(using jena3tools -e Andrew Woods )

Windows | Linux


3Load using jena3tools -iWindows | Linux


4Load sample data to a named graphWindows | LinuxRalph O'Flinn(tick)
5Remove sample data named graphWindows | LinuxRalph O'Flinn(tick)

Triplestores Tests


TestPlatformTested bySuccess?Notes
1SDB



2TDBWindowsBrian Lowe(tick)
3BlazeGraph



Upgrade Tests

  1. Install previous release
  2. Prepare installation per instructions above for previous release
  3. Start Tomcat - check that smoke test passes
  4. Stop Tomcat
  5. Export data with jena2tools

    java -jar jena2tools.jar -e -d /usr/local/vivo/home
  6. Empty MySQL

    mysql -u root -p
    mysql> drop database vitrodb;
    mysql> CREATE DATABASE vitrodb CHARACTER SET utf8;
    mysql> GRANT ALL ON vitrodb.* TO 'vitrodbUsername'@'localhost' IDENTIFIED BY 'vitrodbPassword';
  7. Remove application data

    rm -rf ${VIVO_DIR}/tdbModels/*
    rm -rf ${VIVO_DIR}/solr/data/*
  8. Import data with jena3tools

    java -jar jena3tools.jar -i -d /usr/local/vivo/home
  9. Start Tomcat
  10. Verify application per `UI Tests` above

    TestPlatformTested bySuccess?Notes
    All UI TestsWindows | Linux


    All API TestsWindows | Linux


    All Unload/Load testsWindows | Linux


    All performance tests



Vagrant Tests

  1. Clone VIVO Vagrant

    git clone https://github.com/vivo-community/vivo-vagrant.git
  2. Checkout release candidate 

    cd vivo-vagrant
    git checkout rel-1.11.0-RC-1
  3. Load local or sample data

  4. Verify application per `UI Tests` above
TestPlatformTested bySuccess?Notes
All UI TestsLinux | Mac | Windows


All API Tests



All Unload/Load Tests



All performance tests



Performance Tests

Performance tests should compare run times for a 1.10 vs a 1.11 on same hardware, same data.
Timing collection may be facilitated by enabling The Developer Panel.


TestPlatformTested bySuccess?Notes
1Compare firsttime starttime timeLinux | Mac | Windows


2Compare performance data load time



3Compare profile display time



4Compare SPARQL query time



5Compare Search Index rebuild time



6Compare Inferencer rebuild time



7Compare jenatools export time



8Compare jenatoools import time



9Compare Data Distribution API response time



  • No labels