GitXplorerGitXplorer
r

infra-smoke-tests

public
0 stars
2 forks
0 issues

Commits

List of commits on branch main.
Verified
5eeb99f5fdaf7033111a80f39a3396f0417ccb96

Update Rust crate async-trait to v0.1.84 (#115)

rrenovate[bot] committed 15 days ago
Verified
baa5af955ab2af4e1f3292db37c1646e82686f3a

Update Rust crate reqwest to v0.12.12 (#114)

rrenovate[bot] committed 18 days ago
Verified
041632bfe1f054ece9c6d61e58bf1daa131993eb

Update swatinem/rust-cache action to v2.7.7 (#113)

rrenovate[bot] committed 20 days ago
Verified
b2f454fbafca086887721656a831017be07ad6f5

Update swatinem/rust-cache action to v2.7.6 (#112)

rrenovate[bot] committed 21 days ago
Verified
1ee801a658f2cef7a3db287a36aea2f8de7f7caf

Update Rust crate reqwest to v0.12.11 (#111)

rrenovate[bot] committed 22 days ago
Verified
ad6cb9dd8fe17c28dee2a25ae516595653fd2937

Update Rust crate reqwest to v0.12.10 (#110)

rrenovate[bot] committed 23 days ago

README

The README file for this repository.

✔️ Smoke Tests for Rust Infrastructure

This repository contains a collection of smoke tests for the infrastructure of the Rust project. The tests mostly check that the Content Delivery Networks that the project uses for its releases and crates return the expected responses.

$ just run
✅ crates.io
  ✅ rust-lang/crates.io#4891 - Encoded + character
    ✅ CloudFront encoded
    ✅ CloudFront unencoded
    ✅ CloudFront with space
    ✅ Fastly encoded
    ✅ Fastly unencoded
    ✅ Fastly with space
  ✅ rust-lang/crates.io#6164 - CORS headers
    ✅ CloudFront
    ✅ Fastly
  ✅ Database dumps
    ✅ CloudFront
    ✅ Fastly

✅ rustup
  ✅ rustup.sh
    ✅ CloudFront
    ✅ Fastly
  ✅ win.rustup.rs
    ✅ aarch64
    ✅ i686
    ✅ x86_64

Usage

This project uses Just as a command runner. It is recommended to install and use it with this project, but the commands that just runs can also be copied from the Justfile at the root of the repository.

The smoke tests can be run with the following command:

just run

The tests can be run against either the staging or production environment by specifying it as an argument. By default, tests are run against staging.

just run --env production

The smoke tests are organized in the following way:

  • Test suites execute tests for a specific service, for example crates.io orrustup.
  • Each test suite has one or more test groups, which are collections of tests that check a specific aspect of the service. Usually, they correspond to a feature or a bug that was fixed in the past.
  • Each test group has one or more tests, which usually execute a single HTTP request and check the response. A common pattern is to have a test for each CDN, for example.

If a test fails, the test failure and its error message will be bubbled up the chain and mark the whole test suite as failed.

Development

The repository contains a set of tools that enforce a consistent coding style, run automated tests, and check for common programming errors. Pre-commit hooks run these checks on the local machine when committing changes, while GitHub Actions run the same checks when a pull request is opened.

The pre-commit hooks are managed by pre-commit and can be installed with the following command:

pre-commit install

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.