testcontainers-rs
rustsec
testcontainers-rs | rustsec | |
---|---|---|
6 | 33 | |
591 | 1,527 | |
8.8% | 1.4% | |
7.7 | 9.5 | |
5 days ago | 1 day ago | |
Rust | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
testcontainers-rs
-
Rust Tooling: 8 tools that will increase your productivity
Testing with added infrastructure can be quite tricky. testcontainers aims to solve this by providing an open-source framework for providing local, lightweight containers for your application that can be immediately thrown away after use. It also has a Rust SDK!
-
Writing a REST API in Rust
Add tests! You can use testcontainers to spin up Docker containers for Postgres and other infrastructure which makes testing your database extremely easy. You can find more about this here.
-
Writing Better Integration Tests with RAII
You didn't mention how do you start Postgres for the tests. Is it assumed it runs in the background? A cool crate I use lately for this kind of thing is test_containers that can start docker containers from code, for example - Postgres
-
Tokio's Axum web framework - not new, but new to me
Do you manually spin up the containers or do you use testcontainers?
-
Using rust for REST-API microservices
For the repo testing, that’s simple. https://github.com/testcontainers/testcontainers-rs will start a Docker image and you just use that when instantiating the repo.
-
httpmock - A Rust library and tool for mocking and prototyping HTTP endpoints.
Thanks for sharing! I'm still a beginner with Rust and still pretty new to testing in general - is there any benefit to using something like this over bringing up the service as a separate container using something like testcontainers? I suppose the biggest one is this is in-memory and doesn't require the party running tests to have Docker available locally. The tradeoff is the extra work to create all the mocks (i.e. my library has several dozen endpoints).
rustsec
-
Rust Tooling: 8 tools that will increase your productivity
cargo-audit is a simple Cargo tool for detecting vulnerable Rust crates. You can install it with cargo install cargo-audit, use cargo audit and you’re done! Any vulnerable crates will appear below, like so:
-
Rust Offline?
Further we use cargo-auditable and cargo-audit as part of both our pipeline and regular scanning of all deployed services. This makes our InfoSec and Legal super happy since it means they can also monitor compliance with licenses and patch/update timings.
-
Sudo and Su Being Rewritten in Rust for Memory Safety
Yeah your decade old single header libs get so many audits by comparison.
https://github.com/RustSec/rustsec/tree/main/cargo-audit
https://mozilla.github.io/cargo-vet/
cargo is not npm
-
A CVE has been issued for hyper. Denial of Service possible
PSA: before filing CVEs for other people's projects, file an issue with https://rustsec.org instead
-
Should atomics be unsafe?
Historically, such serious bugs get communicated broadly and addressed very quickly via security advisory blog posts and on https://rustsec.org.
-
Rust from a security perspective, where is it vulnerable?
For known vulnerabilities we have the rustsec vulnerability database. You could have a look over there for inspiration. There's also the related cargo-audit for checking dependencies for known vulnerabilities.
-
capnproto-rust: out-of-bound memory access bug
Would be cool if this was also reported to https://rustsec.org/ that way cargo audit could pick up and alert the users about it.
-
`cargo audit` can now scan compiled binaries
P.S. I also made scanning binaries 5x faster in the latest release of cargo audit.
-
My Rust development workflow (after 3+ years)
Thanks to cargo and the community, project maintenance is straightforward in rust. You'll need to install cargo-outdated and cargo-audit:
-
Mental models for learning Rust
Use the automated tools to assist you in the maintenance of your projects: rustfmt, clippy, cargo update, cargo outdated and cargo-audit.
What are some alternatives?
libreddit - Private front-end for Reddit
opensnitch - OpenSnitch is a GNU/Linux interactive application firewall inspired by Little Snitch.
RustScan - 🤖 The Modern Port Scanner 🤖
vulndb - [mirror] The Go Vulnerability Database
vaultwarden - Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs
gosec - Go security checker
sea-orm - 🐚 An async & dynamic ORM for Rust
crates.io - The Rust package registry
httpmock - HTTP mocking library for Rust.
ripasso - A simple password manager written in Rust
axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper
advisory-db - Security advisory database for Rust crates published through crates.io