## Abstract

Conformance testing of systems that claim certification to the OneRoster 1.2 CSV Japan Profile 1.0 for `Bulk Rostering Import` MUST use the CSV Reference Test Set described in this document. An implementation MUST demonstrate the importing of each of the zip files described herein. The Reference Test-set consists of seven zip files: composed of two with NO errors and five with known errors. The set of errors are described and the equivalent conformance testing report from the 1EdTech OneRoster CSV Validator are supplied.

## Overview of the Reference Test-set

The list of CSV test files in this reference test-set is given in Table 1. A link to the corresponding zip file is supplied. Also provided is the corresponding conformance report from the 1EdTech OneRoster 1.2 CSV Validator (https://onerostervalidator.imsglobal.org:8443/oneroster-server-cts-webapp/fileValidation/1). Note that it is NOT a requirement for a system that is claiming certification to provide the equivalent level of detail and format provided by these validator reports.

List of CSV files in the Reference Test-set
File Set Name | Description
--- | ---
or1p2csv_jsprofilev1p0_valid01.zip | A set of valid CSV files supporting the BULK transfer of all of the Rostering data-set. THERE ARE NO ERRORS IN THIS FILE-SET. It contains the files: academicSessions.csv classes.csv courses.csv demographics.csv enrollments.csv manifest.csv orgs.csv roles.csv userProfiles.csv users.csv The test file set is available at or1p2csv_jsprofilev1p0_valid01.zip and the accompanying CSV validation report is available at or1p2csv_jsprofilev1p0_valid01.pdf.
or1p2csv_jsprofilev1p0_valid02.zip | A set of valid CSV files supporting the BULK transfer of the core Rostering data-set. THERE ARE NO ERRORS IN THIS FILE-SET. It contains the files: academicSessions.csv classes.csv courses.csv enrollments.csv manifest.csv orgs.csv roles.csv users.csv The test file set is available at or1p2csv_jsprofilev1p0_valid02.zip and the accompanying CSV validation report is available at or1p2csv_jsprofilev1p0_valid02.pdf.
or1p2csv_jsprofilev1p0_invalid01.zip | A set of invalid CSV files supporting the BULK transfer of the core Rostering data-set. THERE ARE KNOWN ERRORS IN THIS FILE-SET. It contains the files: academicSessions.csv classes.csv courses.csv enrollments.csv manifest.csv orgs.csv roles.csv users.csv Further details on the KNOWN ERRORS are available in Table 2.1. The test file set is available at or1p2csv_jsprofilev1p0_invalid01.zip and the accompanying CSV validation report is available at or1p2csv_jsprofilev1p0_invalid01.pdf.
or1p2csv_jsprofilev1p0_invalid02.zip | A set of invalid CSV files supporting the BULK transfer of the core Rostering data-set. THERE ARE KNOWN ERRORS IN THIS FILE-SET. It contains the files: academicSessions.csv classes.csv courses.csv enrollments.csv manifest.csv orgs.csv roles.csv users.csv Further details on the KNOWN ERRORS are available in Table 2.2. The test file set is available at or1p2csv_jsprofilev1p0_invalid02.zip and the accompanying CSV validation report is available at or1p2csv_jsprofilev1p0_invalid02.pdf.
or1p2csv_jsprofilev1p0_invalid03.zip | A set of invalid CSV files supporting the BULK transfer of all of the Rostering data-set. THERE ARE KNOWN ERRORS IN THIS FILE-SET. It contains the files: academicSessions.csv classes.csv courses.csv demographics.csv enrollments.csv manifest.csv orgs.csv roles.csv userProfiles.csv users.csv Further details on the KNOWN ERRORS are available inTable 2.3. The test file set is available at or1p2csv_jsprofilev1p0_invalid03.zip and the accompanying CSV validation report is available at or1p2csv_jsprofilev1p0_invalid03.pdf.
or1p2csv_jsprofilev1p0_invalid04.zip | A set of invalid CSV files supporting the BULK transfer of all of the Rostering data-set. THERE ARE KNOWN ERRORS IN THIS FILE-SET. It contains the files: academicSessions.csv classes.csv courses.csv demographics.csv enrollments.csv manifest.csv orgs.csv roles.csv userProfiles.csv users.csv Further details on the KNOWN ERRORS are available in Table 2.4. The test file set is available at or1p2csv_jsprofilev1p0_invalid04.zip and the accompanying CSV validation report is available at or1p2csv_jsprofilev1p0_invalid04.pdf.
or1p2csv_jsprofilev1p0_invalid05.zip | A set of invalid CSV files supporting the BULK transfer of all of the Rostering data-set. THERE ARE KNOWN ERRORS IN THIS FILE-SET. It contains the files: academicSessions.csv classes.csv courses.csv demographics.csv enrollments.csv manifest.csv orgs.csv roles.csv userProfiles.csv users.csv Further details on the KNOWN ERRORS are available in Table 2.5. The test file set is available at or1p2csv_jsprofilev1p0_invalid05.zip and the accompanying CSV validation report is available at or1p2csv_jsprofilev1p0_invalid05.pdf.

## Detailed Descriptions of the Test-sets

ALL of the reference test sets described in this Section contain ERRORS.

### Details of the File-set 'or1p2csv_jsprofilev1p0_invalid01.zip'

The description of the errors in this invalid file-set are described in Table 2.1. There are three errors.

Details of the errors in the invalid Test-set (or1p2csv_jsprofilev1p0_invalid01.zip)
File Name | Description of Errors
--- | ---
manifest.csv | A syntax error. The REQUIRED row `"file.results","absent"` has been removed.
academicSessions.csv | There are NO errors in this file.
classes.csv | There are NO errors in this file.
courses.csv | There are NO errors in this file.
enrollments.csv | There are NO errors in this file.
orgs.csv | Semantic inconsistency error. The 'org' with 'sourcedId' value `C9920C5C-8CB2-43B5-91F9-528C96AED5EB` has been changed to `C9920C5C-8CB2-43B5-91F9-528C96AED5AA` and so there is inconsistency in the file-set.
roles.csv | A syntax error. The column header `userProfileSourcedId` is incorrectly labelled `userProfileId`.
users.csv | There are NO errors in this file.

The test file set is available at or1p2csv_jsprofilev1p0_invalid01.zip and the accompanying CSV validation report is available at or1p2csv_jsprofilev1p0_invalid01.pdf.

### Details of the File-set 'or1p2csv_jsprofilev1p0_invalid02.zip'

The description of the errors in this invalid file-set are described in Table 2.2.

Details of the errors in the invalid Test-set (or1p2csv_jsprofilev1p0_invalid02.zip)
File Name | Description of Errors
--- | ---
manifest.csv | There are NO errors in this file.
academicSessions.csv | A syntax error. In the second row the value of the 'type' field is incorrectly set as `term` and MUST be a value of `schoolYear`. Semantic inconsistency error. An unused 'academicSession' record with a 'sourcedId' value of `"C0C0EA41-40F4-44A7-99E0-5E90452D77BA"` is present.
classes.csv | Semantic inconsistency error. In row 3 the 'courseSourcedId' value references a 'course' that DOES NOT EXIST i.e. `"E41F89E1-462F-43B0-A1EA-FFFFFFFFFFFF"`. Syntax error. In row 5 the value for the 'metadata.jp.specialNeeds' column is incorrectly set as `False`. The correct value is `false`.
courses.csv | Semantic inconsistency error. The record for the 'course' with a 'sourcedId' value of `"87122285-88F3-4EF3-9182-234E721ED901"` is missing.
enrollments.csv | Syntax error. The two extensions column labels `metadata.jp.ShussekiNo` and `metadata.jp.PublicFlg` are in the wrong order (the data in each row is in the correct order).. Semantic inconsistency. There is NO user defined with a 'userSoucedId' value of `"05639ECC-33D6-4C65-AD13-1F1C66A7632C"`.
orgs.csv | Semantic inconsistency error. In row 1 there is use of a 'parentSourcedId' to an 'org' that DOES NOT exist (a value of `None`). Syntax error. In row 3 the value of the 'type' column is incorrectly set as `state` when is MUST be either `district` or `school`.
roles.csv | There are NO errors in this file.
users.csv | Syntax error. The 'metadata.jp.homeClass' column is in the wrong position i.e. it is column 23 when it MUST be column 26. Semantic inconsistency. The user record with a 'sourcedId' value of `"05639ECC-33D6-4C65-AD13-1F1C66A7632C"` is missing.

The test file set is available at or1p2csv_jsprofilev1p0_invalid02.zip and the accompanying CSV validation report is available at or1p2csv_jsprofilev1p0_invalid02.pdf.

### Details of the File-set 'or1p2csv_jsprofilev1p0_invalid03.zip'

The description of the errors in this invalid file-set are described in Table 2.3.

Details of the errors in the invalid Test-set (or1p2csv_jsprofilev1p0_invalid03.zip)
File Name | Description of Errors
--- | ---
manifest.csv | There are NO errors in this file.
academicSessions.csv | There are NO errors in this file.
classes.csv | A semantic error. The class with the "sourcedId" value of `1AC3A5D8-6A47-4AC5-8265-450CA2E491E2` (the first record) has been deleted.
courses.csv | There are NO errors in this file.
demographics.csv | This file is MISSING.
enrollments.csv | There are NO errors in this file.
orgs.csv | There are NO errors in this file.
roles.csv | There are NO errors in this file.
userProfiles.csv | There are NO errors in this file.
users.csv | A syntax error. The NEW column header `metadata.jp.kanaPreferredGivenName` is incorrectly labelled as `metadata.jp.kanaPreferredGivneName`.

The test file set is available at or1p2csv_jsprofilev1p0_invalid03.zip and the accompanying CSV validation report is available at or1p2csv_jsprofilev1p0_invalid03.pdf.

### Details of the File-set 'or1p2csv_jsprofilev1p0_invalid04.zip'

The description of the errors in this invalid file-set are described in Table 2.4.

Details of the errors in the invalid Test-set (or1p2csv_jsprofilev1p0_invalid04.zip)
File Name | Description of Errors
--- | ---
manifest.csv | There are NO errors in this file.
academicSessions.csv | A syntax error. In the second row the value of the 'type' field is incorrectly set as `term` and MUST be a value of `schoolYear`. Semantic inconsistency error. An unused 'academicSession' record with a 'sourcedId' value of `"C0C0EA41-40F4-44A7-99E0-5E90452D77BA"` is present.
classes.csv | Syntax error. The new column `metadata.jp.specialNeeds` is MISSING. Semantic inconsistency. The 'class' with 'sourcedId' value `"B4BB4C21-29B0-463E-9CE5-9E6929CBA49F"` is MISSING.
courses.csv | Syntax error. There is an invalid value of `"UNKNOWN"` in the column 'courseCode' (this MUST be blank). Semantic inconsistency. In row 6 there is reference to a 'schoolYearSourcedId' of value `"C0C0EA41-40F4-44A7-99E0-5FFFFFFFFFFF"` that is MISSING.
demographics.csv | Syntax error. In the second row the record has a prohibited entry in the `cityOfBirth` column (this MUST be blank). Semantic inconsistency. There is a record with a 'sourcedId' value of `"C58FBC26-7DE7-4E90-BDCC-FFFAFFFFFFFF"` that DOES NOT have an associated entry in the 'users.csv' file.
enrollments.csv | Syntax error. In row 10 there is an invalid value of `proctor` for the column 'role'. Semantic inconsistency. Reference to the 'class' with 'sourcedId' `"B4BB4C21-29B0-463E-9CE5-9E6929CBA49F"` results in an error.
orgs.csv | Semantic inconsistency error. In row 1 there is use of a 'parentSourcedId' to an 'org' that DOES NOT exist (a value of `None`). Syntax error. In row 3 the value of the 'type' column is incorrectly set as `state` when is MUST be either `district` or `school`.
roles.csv | Syntax error. In row 15 there is an invalid value of `studen` for the column 'role' (it MUST be 'student'). Semantic inconsistency. In row 1525 there is reference to an unknown 'userProfileSourcedId' of `"266F1EA2-32F4-4ADE-9392-AFFFFFFFFFFF"`.
userProfiles.csv | Syntax error. In row 2 there is a value of `active`in the 'status' column. In bulk exchange this MUST be blank. Semantic inconsistency. In row 1512 there is reference to a 'userSourcedId' value `"14FB74F7-6F45-47CA-85F4-EFFFFFFFFFFF"` to a user that does NOT have an entry in the 'users.csv' file.
users.csv | Syntax error. The order of the two columns `metadata.jp.kanaGivenName` and `metadata.jp.kanaFamilyName` is reversed. Semantic inconsistency. In row 3 there is reference to an 'agentSourcedId' with a value of `"20D9D7AB-814C-4DDD-AAAA-E873D21B2FFF"` to an UNKNOWN 'user'.

The test file set is available at or1p2csv_jsprofilev1p0_invalid04.zip and the accompanying CSV validation report is available at or1p2csv_jsprofilev1p0_invalid04.pdf.

### Details of the File-set 'or1p2csv_jsprofilev1p0_invalid05.zip'

The description of the errors in this invalid file-set are described in Table 2.5.

Details of the errors in the invalid Test-set (or1p2csv_jsprofilev1p0_invalid05.zip)
File Name | Description of Errors
--- | ---
manifest.csv | There are NO errors in this file but it contains a value of `bulk` for the UNSUPPORTED 'resources.csv' file.
academicSessions.csv | A syntax error. In the second row the value of the 'type' field is incorrectly set as `term` and MUST be a value of `schoolYear`. Semantic inconsistency error. An unused 'academicSession' record with a 'sourcedId' value of `"C0C0EA41-40F4-44A7-99E0-5E90452D77BA"` is present.
classes.csv | Syntax error. The new column `metadata.jp.specialNeeds` is MISSING. Semantic inconsistency. The 'class' with 'sourcedId' value `"B4BB4C21-29B0-463E-9CE5-9E6929CBA49F"` is MISSING.
courses.csv | Syntax error. There is an invalid value of `"UNKNOWN"` in the column 'courseCode' (this MUST be blank). Semantic inconsistency. In row 6 there is reference to a 'schoolYearSourcedId' of value `"C0C0EA41-40F4-44A7-99E0-5FFFFFFFFFFF"` that is MISSING.
demographics.csv | Syntax error. In the second row the record has a prohibited entry in the `cityOfBirth` column (this MUST be blank). Semantic inconsistency. There is a record with a 'sourcedId' value of `"C58FBC26-7DE7-4E90-BDCC-FFFAFFFFFFFF"` that DOES NOT have an associated entry in the 'users.csv' file.
enrollments.csv | Syntax error. In row 10 there is an invalid value of `proctor` for the column 'role'. Semantic inconsistency. Reference to the 'class' with 'sourcedId' `"B4BB4C21-29B0-463E-9CE5-9E6929CBA49F"` results in an error.
orgs.csv | Semantic inconsistency error. In row 1 there is use of a 'parentSourcedId' to an 'org' that DOES NOT exist (a value of `None`). Syntax error. In row 3 the value of the 'type' column is incorrectly set as `state` when is MUST be either `district` or `school`.
resources.csv | This is an UNSUPPORTED FILE (it is a valid OR 1.2 CSV file).
roles.csv | Syntax error. In row 15 there is an invalid value of `studen` for the column 'role' (it MUST be 'student'). Semantic inconsistency. In row 1525 there is reference to an unknown 'userProfileSourcedId' of `"266F1EA2-32F4-4ADE-9392-AFFFFFFFFFFF"`.
userProfiles.csv | Syntax error. In row 2 there is a value of `active`in the 'status' column. In bulk exchange this MUST be blank. Semantic inconsistency. In row 1512 there is reference to a 'userSourcedId' value `"14FB74F7-6F45-47CA-85F4-EFFFFFFFFFFF"` to a user that does NOT have an entry in the 'users.csv' file.
users.csv | Syntax error. The order of the two columns `metadata.jp.kanaGivenName` and `metadata.jp.kanaFamilyName` is reversed. Semantic inconsistency. In row 3 there is reference to an 'agentSourcedId' with a value of `"20D9D7AB-814C-4DDD-AAAA-E873D21B2FFF"` to an UNKNOWN 'user'.
zextensions.csv | This is an UNSUPPORTED FILE (it is not a known OR 1.2 CSV file).

The test file set is available at or1p2csv_jsprofilev1p0_invalid05.zip and the accompanying CSV validation report is available at or1p2csv_jsprofilev1p0_invalid05.pdf.