Skip to content

Commit

Permalink
Merge pull request #252 from adlnet/LRS-2.0
Browse files Browse the repository at this point in the history
Initial xAPI 2.0 Compatibility + Test Directory
  • Loading branch information
vbhayden authored Aug 25, 2023
2 parents 14778f9 + d17a26a commit 1298bd5
Show file tree
Hide file tree
Showing 204 changed files with 39,407 additions and 1,943 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ build/Release
# Deployed apps should consider commenting this line out:
# see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git
node_modules
package-lock.json

.idea

Expand All @@ -32,3 +33,4 @@ node_modules
/local/super-request/.npmignore
/local/supertest/.gitignore
/package-lock.json
/scratch
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,18 @@ LRS Conformance Test Suite

This is a NodeJS project that tests the 'MUST' requirements of the [xAPI Spec](https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-About.md#experience-api) and is based on the ADL [testing requirements](https://adl.gitbooks.io/xapi-lrs-conformance-requirements/content/) repository. This is actively being developed and new tests will be periodically added based on the testing requirements. Currently, this test suite only supports basic authentication. This test suite should also not run against a production LRS endpoint because the data is persisted and never voided.

### xAPI 2.0 Update

xAPI 2.0 changed a number of requirements for the LRS from previous versions; most of these are additions supporting new features, while others have been removed. The details of the changes may be seen in the updated xAPI Spec.

The following are the major changes that warranted the creation of additional tests in the conformance suite:
- Full support and validation for context agents and context groups
- 2.0.x is a valid set of xAPI versions
- Timestamps may be represented in the RFC 3339 format (changed from strict ISO 8601)
- If a timestamp is not formatted to UTC, the LRS will convert the timestamp instead of rejecting the statement
- Alternate Request Syntax is no longer supported and therefore not tested
- LRS responses now include `Last-Modified` headers

### Installation

Dependency
Expand Down Expand Up @@ -40,6 +52,7 @@ $ node bin/console_runner.js --help
-l, --authorization_path [string] Path to OAuth user authorization endpoint (relative to endpoint)
-g, --grep [string] Only run tests that match the given pattern
-b, --bail Abort the battery if one test fails
-x, --xapiVersion [string] 🌟 New: Version of the xAPI spec to test against
-d, --directory [value] Specific directories of tests (as a comma seperated list with no spaces)
-z, --errors Results log of failing tests only
```
Expand Down
Loading

0 comments on commit 1298bd5

Please sign in to comment.