- Notifications
You must be signed in to change notification settings - Fork0
topcoder-platform/topcoder-autopilot-tester
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
A Node.js + TypeScript web app that automates and validates the autopilot service flow for Topcoder’s v6 APIs. The app creates, runs, and monitors a challenge end-to-end, while providing a GUI for configuration, progress tracking, and live logs.
The challenge is created using a timeline template that has 1 minute phases for: registration, submission, review, appeals, and appeals response. Registration and submission will be scheduled to open immediately and close at the same time.
pnpm installpnpm run install:all
Copy the sample file:
cp server/secrets/m2m.sample.json server/secrets/m2m.json
Editm2m.json with your Client ID and Client Secret:
{"tokenUrl":"https://topcoder-dev.auth0.com/oauth/token","audience":"https://m2m.topcoder-dev.com/","clientId":"YOUR_CLIENT_ID","clientSecret":"YOUR_CLIENT_SECRET"}This file is ignored by git and must never be committed.
pnpm run dev
- Server:http://localhost:5055
- Client:http://localhost:5173 (proxies
/api/*to the server)
Configuration Management
- Set challenge name prefix, project ID, type/track, timeline template, prize settings, copilot/reviewer/submitter handles.
Flow Execution
- Full challenge lifecycle steps:
- Generate M2M token
- Create → Draft → Activate challenge
- Monitor Registration** & Submission phases
- Assign copilot, reviewers, and submitters
- Add submissions
- Wait for phases → Review → Appeals → Appeals Response
- Auto-generate reviews with randomized answers/comments
- Create appeals & randomized responses
- Track phase transitions (with 15s grace tolerance)
- Verify challenge completion & winner assignment
- Run full flow orstop at a chosen step.
- Full challenge lifecycle steps:
Available Flows
- Full Challenge
- First2Finish
- Topgear Task
- Topgear Task (Late)
- Design Challenge
Persistence
- Saves challenge ID, submission IDs, review IDs, and appeal IDs to
server/data/last-run.jsonfor reuse/debugging.
- Saves challenge ID, submission IDs, review IDs, and appeal IDs to
UI
- Config display & editor
- Run actions:
- Run full flow
- Run to a specific step
- Live progress bar
- Streaming log viewer with request/response details
- Navigate to the UI and clickEdit configuration.
- Select challenge type, track, scorecard, set handles, submissions count, and prize settings.
- Save to persist into
server/data/config.json.
- Run full flow → executes all steps.
- Run to step → stops after the selected step (useful for testing Autopilot at specific phases).
- Progress and logs stream live in the UI.
After a run,server/data/last-run.json contains:
{"challengeId":"abc123","submissions": {"submitter1": ["sub1","sub2"] },"reviews": {"reviewer1:submitter1:sub1":"reviewId" },"appeals": ["appealId1","appealId2"]}This helps with debugging, replaying, or continuing partial runs.
About
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Contributors2
Uh oh!
There was an error while loading.Please reload this page.
