Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/kaladoodotlua/LRhub/llms.txt

Use this file to discover all available pages before exploring further.

Testing Tool is menu option 2. It automates interaction with NWEA MAP Growth test sessions via the MAP Proctor API at test.mapnwea.org/proctor. After joining a session with a name and password, it offers two sub-operations: scraping student data to a local file, or marking every enrolled student as ready to be confirmed by the proctor.
This tool is provided for educational and administrative use only. Misuse against test sessions you do not own or administer may violate NWEA’s terms of service.

How It Works

1

Launch

Select option 2 from the LRhub main menu. LRhub will change directory into tools/testingtool/ and run python3 -u main.py.
2

Enter Session Credentials

You will be prompted for the MAP session name and session password:
! Session Name: MyTestSession
! Session Pass: hunter2
The tool calls POST /joinTestSession with these credentials. If the server returns NOT_AUTHORIZED, the tool prints an error and exits.
3

Choose a Sub-Operation

On successful authentication, a sub-menu appears:
1 Scrape Student IDs & Student Names
2 Set All Students Ready
> 
4

Run the Operation

Select 1 to extract student records, or 2 to mark all students ready. See the sections below for details on each option.

Sub-Operations

1 — Scrape Student IDs & Names

Re-joins the session and iterates through studentSessionList in the API response. For each student, it prints the extracted data to the terminal and appends a line to tools/testingtool/output/students.txt.Output format (one student per line):
studentNumber:firstName:lastName

2 — Set All Students Ready

Continuously re-joins the session, reads the Set-Auth-Token response header, and calls POST /setStudentReadyToBeConfirmed for every student in the session list. Prints the API response text for each student.

API Endpoints

Both operations communicate with the NWEA MAP Proctor API:
MethodEndpointPurpose
POSThttps://test.mapnwea.org/proctor/joinTestSessionJoin a session and retrieve the student list
POSThttps://test.mapnwea.org/proctor/setStudentReadyToBeConfirmedMark a student as ready to be confirmed
The setStudentReadyToBeConfirmed request requires an Auth-Token header whose value is taken from the Set-Auth-Token header of the joinTestSession response.

Configuration

input/config.json

{
  "manual_test_name": ""
}
The manual_test_name field provides a fallback test name. When a student’s assignedTest.testName field is null in the API response, this value is used instead. Set it to the expected test name if your session returns null test names.

input/proxies.txt

List one HTTP proxy per line in host:port format:
203.0.113.10:8080
198.51.100.5:3128
Leave the file empty to connect directly without a proxy. When proxies are present, a random one is selected for the session.

Output File

Student data scraped by option 1 is appended to:
tools/testingtool/output/students.txt
Each line follows the studentNumber:firstName:lastName format:
1042:Jane:Smith
1099:John:Doe
1201:Alex:Rivera

Error Handling

ConditionBehavior
errorMessage: NOT_AUTHORIZEDPrints “Invalid Session Name Or Password” and exits
JSON key missing for a studentPrints which key was not found and skips that student
Set-Auth-Token header absentPrints “Invalid Session” and exits the ready-loop

Requirements

The Testing Tool requires Python 3 and the following packages:
pip install requests colorama
Python 3 must be installed and available as python3 on your PATH. LRhub invokes the tool with python3 -u main.py.

Build docs developers (and LLMs) love