-
Notifications
You must be signed in to change notification settings - Fork 15
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
Automation: Research protocol for communicating “per-test” status updates #818
Comments
In order to bring anyone following this issue up to speed, I'm going to post a quick summary of the API in the app for storing statuses / automation jobs (as is). We have defined a The App API:
|
Proposal for updatesApp/Database Side:
Frontend
Automation side
|
Thanks for taking the time to summarize here, @gnarf. I lost some context over the months since we built the first iteration, so the refresher has been helpful. Automatic transition from "queued"
I'm on the fence about automatically transitioning to "CANCELLED". I'm tempted to set all the "QUEUED" test statuses to "ERROR" instead. Reason being: reserving "CANCELLED" for explicit human-initiated requests makes it easier to understand how/why tests do not reach the "COMPLETED" state. On the other hand, that approach will implicate individual tests in a way that's misleading (e.g. if the harness crashes during the first test due to an OOM error, it's hardly right to report that there was an error in the eight test). Taking a step back, this distinction would be moot if the UI surfaced the overall job status--users could recognize what had happened regardless of whether the "automatic test transition" ended up on "ERROR" or "CANCELLED". Do you think we ought to request a refinement on the design of the interface? Following RESTGiven the coordination that deploying this change will require (between ARIA-AT App and the harness), I'm interested in using this as an opportunity to make more severe changes if they make the API more conventional and/or easier to understand. Specifically:
The first change is mostly for aesthetics. The semantics of an "update" operation are implied by the HTTP verb "POST", so the word's presence in the URL is redundant. The second change has a few more practical motivations. First, it drops the term "results", which will be less appropriate when we implement the rest of your proposal (i.e. the route will perform modifications other than setting results). Second, it makes it more clear which conceptual resource is actually being modified. Third, it promotes the required "id" attribute to its traditional position in the URL itself. This isn't just REST for REST's sake--I can imagine situations where being able to see resource IDs in service logs would be helpful. (Come to think of it, including these more drastic HTTP API improvements might even reduce coordination pressure since ARIA-AT could support both APIs for a transitional period... Though preserving the current semantics might admittedly be more trouble than it's worth.) What do you think? |
my reasoning for picking cancelled over error was more about not marking tests as "error" when there hadn't been an error in that particular test, just the harness. "Cancelled" seemed to fit the state of the test better in this "one collection job runs all the tests" plan. The "error" status from the job with a "cancelled" test could be rendered as "cancelled due to error" on the frontend as opposed to just "cancelled" (by human hand) Either way, automatically moving from queued -> cancel/error state I'm happy to implement.
I agree with both of these, and think that the backward compatible URLs are possible though because these URLs are provided to the test harness, only need the back compat for I only slightly lean toward NOT appending the |
Yeah, let's stick with "cancelled."
Given that Node ships with a built-in URL parser, I think this is just a comparison between the presumed utility of more meaningful URLs and the expected inconvenience of testing those URLs. Given that your preference for simpler URLs is weak, I'd like to go with the more expressive design. |
#1000 is a PR for the app-side changes - currently only implementing the backend portions |
Issues addressed: * #1105, addresses w3c/aria-at#1070 * #1053, addresses w3c/aria-practices#2971 * #1097, addresses #977 * #1095, addresses #991 * #1093, addresses #934 * #1000, addresses #818 * #1089, addresses #992 * #1067, addresses #993 * #1056, addresses w3c/wai-aria-practices#212 --------- Co-authored-by: alflennik <[email protected]> Co-authored-by: Paul Clue <[email protected]> Co-authored-by: Mx Corey Frang <[email protected]> Co-authored-by: Mx. Corey Frang <[email protected]> Co-authored-by: Erika Miguel <[email protected]> Co-authored-by: Mike Pennisi <[email protected]>
The objective of this tasks is to research and define what the best protocol will be to communicate "per-test"status updates.
The text was updated successfully, but these errors were encountered: