Commit graph

92 commits

Author SHA1 Message Date
781f9e8043 feat(fs)!: Reader now supports non-utf8 files
All checks were successful
Test / build (map[name:nightly]) (push) Successful in 5m53s
Test / build (map[name:stable]) (push) Successful in 8m19s
Release Please / Release-plz (push) Successful in 37s
- reader() now returns a Result
- Reader::as_str() now returns a Result
- Reader::lines() now returns a Result
2024-12-15 14:01:18 +00:00
089a050ac5 feat(net): trace log the body of a request
All checks were successful
Test / build (map[name:nightly]) (push) Successful in 3m51s
Test / build (map[name:stable]) (push) Successful in 5m46s
Release Please / Release-plz (push) Successful in 42s
2024-12-12 15:17:46 +00:00
8534eca219 feat(net): don't use panic to signal test should fail
All checks were successful
Test / build (map[name:nightly]) (push) Successful in 4m43s
Test / build (map[name:stable]) (push) Successful in 5m3s
Release Please / Release-plz (push) Successful in 40s
2024-12-12 15:17:46 +00:00
b6a236ab74 feat(print): add print module
All checks were successful
Test / build (map[name:nightly]) (push) Successful in 4m6s
Test / build (map[name:stable]) (push) Successful in 6m1s
Release Please / Release-plz (push) Successful in 31s
2024-12-12 09:02:21 +00:00
436ad890d8 feat(net): add tracing
All checks were successful
Test / build (map[name:nightly]) (push) Successful in 3m38s
Test / build (map[name:stable]) (push) Successful in 5m4s
Release Please / Release-plz (push) Successful in 38s
2024-12-07 16:41:42 +00:00
6e5ea556a9 feat(fs): add tracing
Some checks are pending
Test / build (map[name:nightly]) (push) Successful in 3m30s
Test / build (map[name:stable]) (push) Successful in 4m8s
Release Please / Release-plz (push) Waiting to run
2024-12-07 16:41:42 +00:00
4cb841f9f4 feat(net): add bearer_auth helper to MockNet
All checks were successful
Test / build (map[name:nightly]) (push) Successful in 6m1s
Test / build (map[name:stable]) (push) Successful in 6m39s
Release Please / Release-plz (push) Successful in 1m35s
2024-12-03 19:59:42 +00:00
17dc1dbe30 feat(net): add basic_auth helper to MockNet
All checks were successful
Test / build (map[name:stable]) (push) Successful in 6m52s
Test / build (map[name:nightly]) (push) Successful in 5m49s
Release Please / Release-plz (push) Successful in 1m36s
chore(deps): add base64@0.22
2024-12-03 19:52:16 +00:00
3b8b260b65 feat(net): add user_agent helper to MockNet
All checks were successful
Test / build (map[name:nightly]) (push) Successful in 8m33s
Test / build (map[name:stable]) (push) Successful in 7m0s
Release Please / Release-plz (push) Successful in 1m18s
2024-12-03 19:35:02 +00:00
41973abe18 feat(net): mock requests based on query parameters
All checks were successful
Test / build (map[name:nightly]) (push) Successful in 7m10s
Test / build (map[name:stable]) (push) Successful in 13m3s
Release Please / Release-plz (push) Successful in 1m54s
Changed the way URLs were matched, by breaking them down into their component parts, so that we can match query parameters when they are speciifed in either the URL string, or via the `query` method, or both.
2024-12-03 19:15:36 +00:00
eb761b0973 refactor(net): elide lifetime
All checks were successful
Test / build (map[name:nightly]) (push) Successful in 3m50s
Test / build (map[name:stable]) (push) Successful in 4m33s
Release Please / Release-plz (push) Successful in 38s
2024-12-03 06:44:08 +00:00
ed590552c7 feat(net): mock request builder adds .with and .with_{option,result}
Some checks failed
Release Please / Release-plz (push) Successful in 1m39s
Rust / build (map[name:nightly]) (push) Has been cancelled
Rust / build (map[name:stable]) (push) Has been cancelled
Support for specifying conditional clauses fluently.
2024-11-21 20:44:52 +00:00
5169da03dc docs(example): clean up get example
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 3m33s
Rust / build (map[name:stable]) (push) Successful in 7m40s
Release Please / Release-plz (push) Successful in 39s
2024-11-21 09:06:53 +00:00
c0cb868dc5 fix: impl Display for path, file and dir
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 3m40s
Rust / build (map[name:stable]) (push) Successful in 7m22s
Release Please / Release-plz (push) Successful in 38s
2024-11-21 09:06:53 +00:00
fab5c1ba11 feat(net)!: net api: net.{get,post,etc..}(url) alternative to net.send(request)
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 4m31s
Rust / build (map[name:nightly]) (push) Successful in 7m6s
Release Please / Release-plz (push) Successful in 49s
2024-11-20 22:23:29 +00:00
e25531df61 feat(fs): add TempFileSystem::as_real()
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 5m36s
Rust / build (map[name:stable]) (push) Successful in 5m59s
Release Please / Release-plz (push) Successful in 2m37s
2024-11-20 20:31:08 +00:00
d58ec0eba2 feat(net)!: new api: .on().respond().{status,header{s},body}(_)?, replacing respond(response)
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 4m3s
Rust / build (map[name:stable]) (push) Successful in 5m41s
Release Please / Release-plz (push) Successful in 2m38s
2024-11-20 20:31:08 +00:00
7da221bfde feat(net)!: new api: .on().{get,post, etc}(url), replacing .on(method).get(url)
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 7m20s
Rust / build (map[name:stable]) (push) Successful in 4m11s
Release Please / Release-plz (push) Successful in 1m39s
The `http::Method` parameter is not needed as we now use named methods that the methods on the underlying `reqwest` client.

The `url` parameter can be a `String` or `&str` rather than a parsed, and error handled `url::Url`.
2024-11-20 19:38:05 +00:00
a84643e6ae fix(net)!: Remove MatchOn
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 6m3s
Rust / build (map[name:nightly]) (push) Successful in 8m15s
Release Please / Release-plz (push) Successful in 59s
`MatchOn` was left behind from the v1 implementation and isn't used by
anything in the v2 implementation.
2024-11-20 19:37:06 +00:00
711c76a600 feat: re-export http::HeaderMap
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 4m33s
Rust / build (map[name:stable]) (push) Successful in 5m29s
Release Please / Release-plz (push) Successful in 1m15s
2024-11-20 19:37:06 +00:00
2ddc79d826 feat: Add Debug, Clone, Default, PartialEq, Eq, Send, Sync to as many or our types as possible.
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 3m13s
Rust / build (map[name:nightly]) (push) Successful in 6m25s
Release Please / Release-plz (push) Successful in 30s
- adds tokio::sync as a dependency to provide an async Mutex for Clone of Net and MockNet

## ƒs

- adds `Clone` to `DirItem`
- adds `Default`, `PartialEq` and `Eq` to `FileSystem`, `PathMarker`, `FileMarker` and `DirMarker`
- adds `Default` to `PathReal`
- adds `Clone`, `Debug`, `Default`, `PartialEq` and `Eq` to `Reader`

## net

- `MockNet::try_from` now returns a `Future`, so should be `await`ed
- adds `Debug` to `Plan`
- adds `Debug` and `Default` to `Net`
- adds `Debug`, `Clone` and `Default` to `MockNet`
- adds `Debug`, `Clone`, `PartialEq` and `Eq` to `MatchRequest`
- adds `Debug` and `Clone` to `WhenRequest`

WIP: mutation tests
2024-11-16 12:18:21 +00:00
89f39b8ad4 fix: impl Clone for Net
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 4m33s
Rust / build (map[name:stable]) (push) Successful in 8m57s
Release Please / Release-plz (push) Successful in 45s
2024-11-15 21:10:14 +00:00
40a45f32da feat: re-export Method, Url, Request, Response and RequestBuilder from http, url and reqwest crates
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 6m3s
Rust / build (map[name:stable]) (push) Successful in 2m42s
Release Please / Release-plz (push) Successful in 30s
- Closes kemitix/kxio#46
- Closes kemitix/kxio#47
- Closes kemitix/kxio#48
2024-11-15 09:13:14 +00:00
32ba3c00c7 docs: remove duplicated section
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 3m46s
Rust / build (map[name:nightly]) (push) Successful in 5m48s
Release Please / Release-plz (push) Successful in 47s
2024-11-15 09:10:09 +00:00
212aa7e0ae feat(net): mock matcher no longer uses a prebuilt request
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 2m3s
Rust / build (map[name:nightly]) (push) Successful in 4m15s
Release Please / Release-plz (push) Successful in 44s
2024-11-14 07:31:42 +00:00
8b6bfefbf2 docs(net): fix gramar
Some checks failed
Rust / build (map[name:stable]) (push) Successful in 2m12s
Rust / build (map[name:nightly]) (push) Successful in 4m15s
Release Please / Release-plz (push) Failing after 1m7s
2024-11-12 07:14:56 +00:00
415c37a700 refactor(net): remove inner from Net
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 2m7s
Rust / build (map[name:nightly]) (push) Successful in 3m59s
Release Please / Release-plz (push) Successful in 1m35s
2024-11-11 22:27:42 +00:00
dd61d39635 doc(net): added
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 2m1s
Rust / build (map[name:nightly]) (push) Successful in 3m33s
Release Please / Release-plz (push) Successful in 39s
2024-11-11 22:27:42 +00:00
dc74920dc8 feat(net): cleaner mock.on syntax
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 1m48s
Rust / build (map[name:stable]) (push) Successful in 6m28s
Release Please / Release-plz (push) Successful in 49s
2024-11-11 21:41:32 +00:00
aad02be6cb feat(net): be more permisive in what parameters are accepted
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 1m57s
Rust / build (map[name:stable]) (push) Successful in 2m12s
Release Please / Release-plz (push) Successful in 1m20s
2024-11-10 12:29:31 +00:00
7285cff6e7 doc(fs): minor tidy up broken links
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 4m3s
Rust / build (map[name:nightly]) (push) Successful in 1m42s
Release Please / Release-plz (push) Successful in 1m30s
2024-11-10 12:06:53 +00:00
ff8b6c64b6 fix(fs): make TempFileSystem public
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 2m19s
Rust / build (map[name:stable]) (push) Successful in 4m25s
Release Please / Release-plz (push) Successful in 51s
2024-11-10 12:06:53 +00:00
a0262a4d05 feat(fs): kxio::fs::new(...) now accepts impl Into<PathBuf>
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 1m22s
Rust / build (map[name:nightly]) (push) Successful in 3m50s
Release Please / Release-plz (push) Successful in 32s
2024-11-09 19:35:03 +00:00
4594a792e0 fix: use Default to create reqwest client
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 1m52s
Rust / build (map[name:stable]) (push) Successful in 4m19s
Release Please / Release-plz (push) Successful in 1m37s
2024-11-09 17:30:18 +00:00
ac3527ce90 feat: Net and MockNet wrappers for InnerNet<Mocker> and InnerNet<Unmocked>
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 1m27s
Rust / build (map[name:nightly]) (push) Successful in 1m43s
Release Please / Release-plz (push) Successful in 37s
2024-11-09 15:42:53 +00:00
69c1ac8565 feat: Net<Mocked> uses internal mutability
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 1m24s
Rust / build (map[name:nightly]) (push) Successful in 3m52s
Release Please / Release-plz (push) Successful in 1m36s
2024-11-09 15:42:53 +00:00
17c1b4ff6d feat: add kxio::Result;
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 2m12s
Rust / build (map[name:stable]) (push) Successful in 4m14s
Release Please / Release-plz (push) Successful in 1m23s
2024-11-09 08:02:50 +00:00
742924e44c build: remove unlinked files
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 3m1s
Rust / build (map[name:nightly]) (push) Successful in 4m43s
Release Please / Release-plz (push) Successful in 44s
UNLINK
2024-11-08 19:26:03 +00:00
74f4954535 feat(network)!: remove legacy network interface
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 2m12s
Rust / build (map[name:stable]) (push) Successful in 4m4s
Release Please / Release-plz (push) Successful in 42s
2024-11-08 19:26:03 +00:00
c81fe6753f feat(net)!: fluent api
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 1m37s
Rust / build (map[name:nightly]) (push) Successful in 1m57s
Release Please / Release-plz (push) Successful in 27s
Closes kemitix/kxio#43
2024-11-08 19:11:23 +00:00
ed6d83cb7b tests(fs): add more test
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 2m1s
Rust / build (map[name:stable]) (push) Successful in 4m5s
Release Please / Release-plz (push) Successful in 42s
2024-11-08 18:12:12 +00:00
838ae0755b feat(fs): add .path(path).read_link()
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 2m2s
Rust / build (map[name:nightly]) (push) Successful in 6m24s
Release Please / Release-plz (push) Successful in 1m19s
2024-11-04 07:18:57 +00:00
b512b0a0d8 refactor(fs): PathReal owns its own data
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 2m4s
Rust / build (map[name:nightly]) (push) Successful in 4m2s
Release Please / Release-plz (push) Successful in 1m25s
2024-11-04 07:18:57 +00:00
de46ff57c1 feat(fs): add .path(path).set_permissions(perms)
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 3m56s
Rust / build (map[name:stable]) (push) Successful in 5m42s
Release Please / Release-plz (push) Successful in 45s
2024-11-04 07:18:57 +00:00
abd854f749 docs(fs): make it clearer what the std::fs functions map to
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 1m52s
Rust / build (map[name:nightly]) (push) Successful in 6m6s
Release Please / Release-plz (push) Successful in 39s
2024-11-04 07:18:57 +00:00
ecb61490f7 docs(fs): move checklist/std::fs mapping to rustdoc
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 3m50s
Rust / build (map[name:stable]) (push) Successful in 5m52s
Release Please / Release-plz (push) Successful in 1m23s
2024-11-04 07:18:57 +00:00
c0e40e6c2d feat(fs): add .path(path).symlink_metadata()
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 1m55s
Rust / build (map[name:nightly]) (push) Successful in 3m52s
Release Please / Release-plz (push) Successful in 41s
2024-11-04 07:18:57 +00:00
f810927faf feat(fs): add .path(path).canonicalize()
All checks were successful
Rust / build (map[name:stable]) (push) Successful in 1m51s
Rust / build (map[name:nightly]) (push) Successful in 3m33s
Release Please / Release-plz (push) Successful in 2m24s
2024-11-04 07:18:57 +00:00
c4df3d18c7 feat(fs): add .path(path).soft_link(other), .path(path).is_link()
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 2m4s
Rust / build (map[name:stable]) (push) Successful in 3m41s
Release Please / Release-plz (push) Successful in 38s
2024-11-03 22:10:34 +00:00
d3f3a9e909 feat(fs): add .path(path).metadata()
All checks were successful
Rust / build (map[name:nightly]) (push) Successful in 2m2s
Rust / build (map[name:stable]) (push) Successful in 3m41s
Release Please / Release-plz (push) Successful in 42s
2024-11-03 22:09:40 +00:00