Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Oaisys] Resolve final testing issues #1888

Closed
ConnorSheremeta opened this issue Sep 24, 2020 · 1 comment
Closed

[Oaisys] Resolve final testing issues #1888

ConnorSheremeta opened this issue Sep 24, 2020 · 1 comment
Assignees
Labels

Comments

@ConnorSheremeta
Copy link
Contributor

ConnorSheremeta commented Sep 24, 2020

Perl validator found these issues with oaisys. These are edge case error issues (first can be ignored becasue the baseURL will match once on prod.)

RUNNING VALIDATION FOR https://era-app-stg-1.library.ualberta.ca/oai

Checking Identify response

REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=Identify GET
PASS: Administrator email address is '[email protected]'
PASS: Correctly reports OAI-PMH protocol version 2.0
FAIL: baseURL supplied 'https://era-app-stg-1.library.ualberta.ca/oai' does not match the baseURL in the Identify response 'https://era.library.ualberta.ca/oai'. The baseURL you enter must EXACTLY match the baseURL returned in the Identify response. It must match in case (http://Wibble.org/ does not match http://wibble.org/) and include any trailing slashes etc.
PASS: Datestamp granularity is 'seconds'
PASS: Extracted earliestDatestamp 2018-06-22T13:06:50Z

Checking ListSets response

REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListSets GET
PASS: responseDate has correct format: 2020-09-21T16:28:39Z
PASS: Extracted 150 set names: { b41cdbfd-6af2-4a13-8ba6-59725565d445:adbab43d-b35d-4493-a3a5-bd228863cc36 560f321f-a8c7-4884-adb3-326433a61688:17bd1d5d-7d41-40ed-8ea2-97c2ec63896b f7766168-d234-491a-b27c-2c4a5eecbc99:d7e84f98-9931-435b-89fd-80f713d5ca47 ... }, will use setSpec &set=b41cdbfd-6af2-4a13-8ba6-59725565d445:adbab43d-b35d-4493-a3a5-bd228863cc36 in tests

Checking ListIdentifiers response

REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&set=b41cdbfd-6af2-4a13-8ba6-59725565d445:adbab43d-b35d-4493-a3a5-bd228863cc36 GET
PASS: responseDate has correct format: 2020-09-21T16:28:40Z
NOTE: Tried empty set, will look for set with items...
NOTE: Trying set &set=560f321f-a8c7-4884-adb3-326433a61688:17bd1d5d-7d41-40ed-8ea2-97c2ec63896b
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&set=560f321f-a8c7-4884-adb3-326433a61688:17bd1d5d-7d41-40ed-8ea2-97c2ec63896b GET
PASS: responseDate has correct format: 2020-09-21T16:28:41Z
PASS: Good ListIdentifiers response, extracted id 'oai:era.library.ualberta.ca:2cb91317-d9e3-4b6a-b3a1-7f96aa812a6e' for use in future tests.

Checking ListMetadataFormats response

REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListMetadataFormats&identifier=oai%3Aera%2Elibrary%2Eualberta%2Eca%3A2cb91317-d9e3-4b6a-b3a1-7f96aa812a6e GET
PASS: responseDate has correct format: 2020-09-21T16:28:42Z
PASS: Good ListMetadataFormats response, includes oai_dc
PASS: Data provider supports oai_dc metadataPrefix

Checking GetRecord response

REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=GetRecord&identifier=oai%3Aera%2Elibrary%2Eualberta%2Eca%3A2cb91317-d9e3-4b6a-b3a1-7f96aa812a6e&metadataPrefix=oai_dc GET
PASS: responseDate has correct format: 2020-09-21T16:28:43Z
PASS: Datestamp in GetRecord response (2020-09-03T19:06:35Z) has the correct form for seconds granularity.
PASS: Datestamp in GetRecord response (2020-09-03T19:06:35Z) matched the seconds granularity specified in the Identify response.
PASS: Expected setSpec was returned in the response

Checking ListRecords response

REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListRecords&from=2020-09-03T19:06:35Z&until=2020-09-03T19:06:35Z&metadataPrefix=oai_dc GET
PASS: responseDate has correct format: 2020-09-21T16:28:44Z
PASS: Response is well formed
PASS: ListRecords response correctly included record with identifier oai:era.library.ualberta.ca:2cb91317-d9e3-4b6a-b3a1-7f96aa812a6e

Checking exception handling (errors)

REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?junk GET
PASS: Error response correctly includes error code 'badVerb'
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=junk GET
PASS: Error response correctly includes error code 'badVerb'
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=GetRecord&metadataPrefix=oai_dc GET
PASS: Error response correctly includes error code 'badArgument'
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=GetRecord&identifier=oai:era.library.ualberta.ca:2cb91317-d9e3-4b6a-b3a1-7f96aa812a6e GET
PASS: Error response correctly includes error code 'badArgument'
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=GetRecord&identifier=invalid"id&metadataPrefix=oai_dc GET
PASS: Error response correctly includes error code 'idDoesNotExist'
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListIdentifiers&until=junk GET
PASS: Error response correctly includes error code 'badArgument'
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListIdentifiers&from=junk GET
PASS: Error response correctly includes error code 'badArgument'
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListIdentifiers&resumptionToken=junk&until=2000-02-05 GET
PASS: Error response correctly includes error code 'badResumptionToken'
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListRecords&metadataPrefix=oai_dc&from=junk GET
WARN: Bad HTTP status code from server: 500
FAIL: Can't parse malformed response.
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListRecords&resumptionToken=junk GET
PASS: Error response correctly includes error code 'badResumptionToken'
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListRecords&metadataPrefix=oai_dc&resumptionToken=junk&until=1990-01-10 GET
PASS: Error response correctly includes error code 'badResumptionToken'
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListRecords&metadataPrefix=oai_dc&until=junk GET
FAIL: Exception/error response did not contain error code 'badArgument'
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListRecords GET
PASS: Error response correctly includes error code 'badArgument'
WARN: Only 11 out of 13 error requests properly handled

Checking for version 2.0 specific exceptions

REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListRecords&metadataPrefix=oai_dc&from=2002-02-05&until=2002-02-06T05:35:00Z GET
FAIL: Error code badArgument not found in response but should be given to the request: verb=ListRecords&metadataPrefix=oai_dc&from=2002-02-05&until=2002-02-06T05:35:00Z The request has different granularities for the from and until parameters.
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListRecords&metadataPrefix=oai_dc&until=2017-06-22T13:06:50Z GET
PASS: Error response correctly includes error code 'noRecordsMatch'

Checking that HTTP POST requests are handled correctly

REQUEST: https://era-app-stg-1.library.ualberta.ca/oai POST verb:Identify
FAIL: POST test 1 was unsuccessful. Server returned HTTP Status: '422 Unprocessable Entity'
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai POST identifier:oai:era.library.ualberta.ca:2cb91317-d9e3-4b6a-b3a1-7f96aa812a6e metadataPrefix:oai_dc verb:GetRecord
FAIL: POST test 2 was unsuccessful. Server returned HTTP Status: '422 Unprocessable Entity'

Checking for correct use of resumptionToken (if used)

REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListRecords&metadataPrefix=oai_dc GET
NOTE: Got resumptionToken vOT6kOeC8cqfv1zljKAHbj
REQUEST: https://era-app-stg-1.library.ualberta.ca/oai?verb=ListRecords&resumptionToken=vOT6kOeC8cqfv1zljKAHbj GET
PASS: Resumption tokens appear to work

Validation status of data provider https://era-app-stg-1.library.ualberta.ca/oai is FAILED

Please note that this ticket also includes removing the ore part of the list metadata formats response as it is not supported.

This can be split up into multiple tickets if needed.

@pgwillia
Copy link
Member

@ConnorSheremeta will double check and close. We think it's done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants