cli: test rad patch delete
No tests for `rad patch delete` existed. Add a test where two peers interact on a patch and one decides to delete the patch. It ensures that the patch is still visible to the peer that did not delete the patch. Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com> X-Clacks-Overhead: GNU Terry Pratchett
This commit is contained in:
parent
73c120d8d4
commit
3bba7d1634
|
|
@ -0,0 +1,123 @@
|
|||
``` ~alice
|
||||
$ git checkout -b prepare-license
|
||||
$ touch LICENSE
|
||||
$ git add LICENSE
|
||||
$ git commit -m "Introduce license"
|
||||
[prepare-license 717c900] Introduce license
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
create mode 100644 LICENSE
|
||||
```
|
||||
|
||||
``` ~alice (stderr)
|
||||
$ git push rad -o patch.draft -o patch.message="Define LICENSE for project" HEAD:refs/patches
|
||||
✓ Patch 6c61ef1716ad8a5c11e04dd7a3fec51e01fba70b drafted
|
||||
✓ Synced with 1 node(s)
|
||||
To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
|
||||
* [new reference] HEAD -> refs/patches
|
||||
```
|
||||
|
||||
``` ~bob
|
||||
$ cd heartwood
|
||||
$ rad sync -f
|
||||
✓ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from z6MknSL…StBU8Vi..
|
||||
✓ Fetched repository from 1 seed(s)
|
||||
$ rad patch comment 6c61ef1 -m "I think we should use MIT"
|
||||
╭───────────────────────────╮
|
||||
│ bob (you) now 833db19 │
|
||||
│ I think we should use MIT │
|
||||
╰───────────────────────────╯
|
||||
✓ Synced with 1 node(s)
|
||||
```
|
||||
|
||||
``` ~alice
|
||||
$ rad patch show 6c61ef1 -v
|
||||
╭────────────────────────────────────────────────────╮
|
||||
│ Title Define LICENSE for project │
|
||||
│ Patch 6c61ef1716ad8a5c11e04dd7a3fec51e01fba70b │
|
||||
│ Author alice (you) │
|
||||
│ Head 717c900ec17735639587325e0fd9fe09991c9edd │
|
||||
│ Base f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 │
|
||||
│ Branches prepare-license │
|
||||
│ Commits ahead 1, behind 0 │
|
||||
│ Status draft │
|
||||
├────────────────────────────────────────────────────┤
|
||||
│ 717c900 Introduce license │
|
||||
├────────────────────────────────────────────────────┤
|
||||
│ ● opened by alice (you) (717c900) now │
|
||||
├────────────────────────────────────────────────────┤
|
||||
│ bob z6Mkt67…v4N1tRk now 833db19 │
|
||||
│ I think we should use MIT │
|
||||
╰────────────────────────────────────────────────────╯
|
||||
$ rad patch comment 6c61ef1 --reply-to 833db19 -m "Thanks, I'll add it!"
|
||||
╭─────────────────────────╮
|
||||
│ alice (you) now 1803a38 │
|
||||
│ Thanks, I'll add it! │
|
||||
╰─────────────────────────╯
|
||||
✓ Synced with 1 node(s)
|
||||
```
|
||||
|
||||
``` ~alice
|
||||
$ touch MIT
|
||||
$ ln MIT LICENSE -f
|
||||
$ git add MIT
|
||||
$ git commit -am "Add MIT License"
|
||||
[prepare-license 1cc8cd9] Add MIT License
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
create mode 100644 MIT
|
||||
```
|
||||
|
||||
``` ~alice (stderr)
|
||||
$ git push -f
|
||||
✓ Patch 6c61ef1 updated to revision 93915b9afa94a9dc4f52f12cdf077d4613ea3eb3
|
||||
✓ Synced with 1 node(s)
|
||||
To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
|
||||
717c900..1cc8cd9 prepare-license -> patches/6c61ef1716ad8a5c11e04dd7a3fec51e01fba70b
|
||||
```
|
||||
|
||||
``` ~bob
|
||||
$ rad patch review 6c61ef1 --accept -m "LGTM!"
|
||||
✓ Patch 6c61ef1 accepted
|
||||
✓ Synced with 1 node(s)
|
||||
$ rad patch show 6c61ef1 -v
|
||||
╭─────────────────────────────────────────────────────────────────────╮
|
||||
│ Title Define LICENSE for project │
|
||||
│ Patch 6c61ef1716ad8a5c11e04dd7a3fec51e01fba70b │
|
||||
│ Author alice z6MknSL…StBU8Vi │
|
||||
│ Head 1cc8cd9de8ccc44b4fe3876f2dbd2cd1cf9ddc0e │
|
||||
│ Base f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 │
|
||||
│ Commits ahead 2, behind 0 │
|
||||
│ Status draft │
|
||||
├─────────────────────────────────────────────────────────────────────┤
|
||||
│ 1cc8cd9 Add MIT License │
|
||||
│ 717c900 Introduce license │
|
||||
├─────────────────────────────────────────────────────────────────────┤
|
||||
│ ● opened by alice z6MknSL…StBU8Vi (717c900) now │
|
||||
│ ↑ updated to 93915b9afa94a9dc4f52f12cdf077d4613ea3eb3 (1cc8cd9) now │
|
||||
│ └─ ✓ accepted by bob (you) now │
|
||||
╰─────────────────────────────────────────────────────────────────────╯
|
||||
```
|
||||
|
||||
``` ~bob
|
||||
$ rad patch delete 6c61ef1
|
||||
✓ Synced with 1 node(s)
|
||||
```
|
||||
|
||||
``` ~alice
|
||||
$ rad patch show 6c61ef1 -v
|
||||
╭─────────────────────────────────────────────────────────────────────╮
|
||||
│ Title Define LICENSE for project │
|
||||
│ Patch 6c61ef1716ad8a5c11e04dd7a3fec51e01fba70b │
|
||||
│ Author alice (you) │
|
||||
│ Head 1cc8cd9de8ccc44b4fe3876f2dbd2cd1cf9ddc0e │
|
||||
│ Base f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 │
|
||||
│ Branches prepare-license │
|
||||
│ Commits ahead 2, behind 0 │
|
||||
│ Status draft │
|
||||
├─────────────────────────────────────────────────────────────────────┤
|
||||
│ 1cc8cd9 Add MIT License │
|
||||
│ 717c900 Introduce license │
|
||||
├─────────────────────────────────────────────────────────────────────┤
|
||||
│ ● opened by alice (you) (717c900) now │
|
||||
│ ↑ updated to 93915b9afa94a9dc4f52f12cdf077d4613ea3eb3 (1cc8cd9) now │
|
||||
╰─────────────────────────────────────────────────────────────────────╯
|
||||
```
|
||||
|
|
@ -897,6 +897,55 @@ fn rad_review_by_hunk() {
|
|||
.unwrap();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn rad_patch_delete() {
|
||||
let mut environment = Environment::new();
|
||||
let alice = environment.node(Config::test(Alias::new("alice")));
|
||||
let bob = environment.node(Config::test(Alias::new("bob")));
|
||||
let working = environment.tmp().join("working");
|
||||
let acme = RepoId::from_str("z42hL2jL4XNk6K8oHQaSWfMgCL7ji").unwrap();
|
||||
|
||||
// Setup a test repository.
|
||||
fixtures::repository(working.join("alice"));
|
||||
|
||||
test(
|
||||
"examples/rad-init.md",
|
||||
working.join("alice"),
|
||||
Some(&alice.home),
|
||||
[],
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
let mut alice = alice.spawn();
|
||||
let mut bob = bob.spawn();
|
||||
|
||||
bob.handle.seed(acme, Scope::All).unwrap();
|
||||
alice.connect(&bob).converge([&bob]);
|
||||
|
||||
test(
|
||||
"examples/rad-clone.md",
|
||||
working.join("bob"),
|
||||
Some(&bob.home),
|
||||
[],
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
formula(&environment.tmp(), "examples/rad-patch-delete.md")
|
||||
.unwrap()
|
||||
.home(
|
||||
"alice",
|
||||
working.join("alice"),
|
||||
[("RAD_HOME", alice.home.path().display())],
|
||||
)
|
||||
.home(
|
||||
"bob",
|
||||
working.join("bob"),
|
||||
[("RAD_HOME", bob.home.path().display())],
|
||||
)
|
||||
.run()
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn rad_clean() {
|
||||
let mut environment = Environment::new();
|
||||
|
|
|
|||
Loading…
Reference in New Issue