GitXplorerGitXplorer
r

infra-smoke-tests

public
0 stars
2 forks
0 issues

Commits

List of commits on branch main.
Verified
1cbba686f021796cf7146e18882fe479219ebd4c

Update Rust crate clap to v4.5.26 (#121)

rrenovate[bot] committed 8 days ago
Verified
eccd7ebe1a72900d23e7dda78b6a7cabfd139ed7

Update dependency rust to v1.84.0 (#120)

rrenovate[bot] committed 9 days ago
Verified
20026bff1839e50042341e63127a25e59fd0925e

Update Rust crate clap to v4.5.25 (#119)

rrenovate[bot] committed 9 days ago
Verified
15920f066a0c8f0f6ea9006a81fc67615b49233c

Update Rust crate tokio to v1.43.0 (#118)

rrenovate[bot] committed 10 days ago
Verified
321fb894e1d13879ebaf8779667fc920b0724a6f

Update Rust crate clap to v4.5.24 (#117)

rrenovate[bot] committed 10 days ago
Verified
4c1a14206319f29795565b718cdd5cc8b9a17b0a

Update Rust crate async-trait to v0.1.85 (#116)

rrenovate[bot] committed 12 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.