onelson / estuary

33 stars 8 forks source link

Partial webserver implementation: login, publish, yank/unyank, download. #4

Closed onelson closed 3 years ago

onelson commented 3 years ago

This diff adds support for the endpoints required to publish crates to the index, and download them. These are the fundamentals needed for crate distribution - the rest can follow later.

codecov[bot] commented 3 years ago

Codecov Report

Merging #4 (fcd79c2) into main (6b48740) will decrease coverage by 20.54%. The diff coverage is 11.60%.

Impacted file tree graph

@@             Coverage Diff             @@
##             main       #4       +/-   ##
===========================================
- Coverage   94.75%   74.20%   -20.55%     
===========================================
  Files           2        5        +3     
  Lines         343      442       +99     
===========================================
+ Hits          325      328        +3     
- Misses         18      114       +96     
Impacted Files Coverage Δ
src/errors.rs 0.00% <0.00%> (ø)
src/handlers/registry.rs 0.00% <0.00%> (ø)
src/main.rs 0.00% <0.00%> (ø)
src/storage.rs 0.00% <0.00%> (ø)
src/package_index.rs 94.52% <68.42%> (-1.35%) :arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 6b48740...fcd79c2. Read the comment docs.

onelson commented 3 years ago

Taking a bit hit on the coverage % over this.

Since cargo is the main client for these new endpoints, it makes it a little tricky to author tests. Maybe the thing to do will be to spy on comms between cargo and estuary using a proxy or something, then we can replay the requests in tests.

Tests will come in a follow-up PR.