
Product
Rust Support in Socket Is Now Generally Available
Socket’s Rust and Cargo support is now generally available, providing dependency analysis and supply chain visibility for Rust projects.
testarmada-locks
Advanced tools
Locks is a virtual machine traffic control service for SauceLabs users.
It ensures a test is never waiting to acquire a virtual machine. This allows orchestration software to avoid killing tests early for reasons unrelated to failure (i.e. a test should never be punished for running too long if it was merely waiting for a VM to become available).
The preferred method for installing locks is as a global module:
npm install -g testarmada-locks
export SAUCE_ACCESS_KEY='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
export SAUCE_USERNAME='xxxxxxxxxxxx'
# optionally configure statsd
export LOCKS_STATSD_URL=hostname.of.statsd.server.com
export LOCKS_STATSD_PREFIX=locks
# optionally configure locks' listener port (default 4765)
export LOCKS_PORT=4567
locks
Check out our Dockerfile here
# docker build . -t testarmada/locks
# docker run -e SAUCE_ACCESS_KEY='YOUR_KEY' \
-e SAUCE_USERNAME='YOUR_USER' \
--restart=always \
--publish=4765:4765 \
--detach=true \
--name=locks \
-d testarmada/locks
To communicate with locks, open a websocket to your locks URL and use the claim and release API, outlined below:
Send the following to locks to attempt to claim a VM:
{
"type": "claim"
}
If locks accepts your claim, you will eventually receive the following message:
{
"accepted": true,
"token": <string>
}
The locks websocket API will always try to satisfy as many claims as you've recently made until it runs out of capacity. If this happens, your client will receive a rejection. If a claim is rejected, the return message will look like this:
{
"accepted": false
}
If your claim is rejected, locks is no longer attempting to claim a VM for you, and your client must poll again.
To more accurately track VM supply, your client can send a courtesy message informing locks that you are no longer using a recently-claimed VM. Simply send a release message along with the token of the claim. Note that this is a safe operation even if locks has already expired the corresponding claim token.
{
"type": "release",
"token": <string>
}
To use a proxy to reach Saucelabs when querying the Saucelabs API, locks checks the presence of an environment variable called SAUCE_OUTBOUND_PROXY in the sauce provider.
$ export SAUCE_OUTBOUND_PROXY=http://your-internal-proxy-host:8080
$ locks
FAQs
VM provisioning for automated testing
The npm package testarmada-locks receives a total of 3 weekly downloads. As such, testarmada-locks popularity was classified as not popular.
We found that testarmada-locks demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket’s Rust and Cargo support is now generally available, providing dependency analysis and supply chain visibility for Rust projects.

Security News
Chrome 144 introduces the Temporal API, a modern approach to date and time handling designed to fix long-standing issues with JavaScript’s Date object.

Research
Five coordinated Chrome extensions enable session hijacking and block security controls across enterprise HR and ERP platforms.