Skip to content

Commit 3d4f946

Browse files
R2-3182: Remove wrangler Banner from R2 GetObject in Pipe Mode (#9800)
* R2-3182: remove wrangler banner from r2 getobject in pipe mode * add testing for banner being hidden --------- Co-authored-by: helloimalastair <[email protected]>
1 parent c5b291d commit 3d4f946

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed

.changeset/easy-bikes-cut.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"wrangler": patch
3+
---
4+
5+
remove banner from r2 getobject in pipe mode
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import { writeFileSync } from "node:fs";
2+
import { mockConsoleMethods } from "../helpers/mock-console";
3+
import { runInTempDir } from "../helpers/run-in-tmp";
4+
import { runWrangler } from "../helpers/run-wrangler";
5+
6+
vi.unmock("../../wrangler-banner");
7+
const decoder = new TextDecoder();
8+
describe("pipe test", () => {
9+
const consoleSpy = mockConsoleMethods();
10+
const stdSpy = vi
11+
.spyOn(process.stdout, "write")
12+
.mockImplementation(() => true);
13+
runInTempDir();
14+
15+
it("should display banner", async () => {
16+
writeFileSync("wormhole.txt", "passageway");
17+
await runWrangler(
18+
`r2 object put bucket-object-test/wormhole.txt --file ./wormhole.txt `
19+
);
20+
await runWrangler("r2 object get bucket-object-test/wormhole.txt");
21+
22+
expect(stdSpy).not.toBeCalled();
23+
expect(consoleSpy.out).toMatchInlineSnapshot(`
24+
"
25+
⛅️ wrangler x.x.x
26+
──────────────────
27+
Resource location: local
28+
Use --remote if you want to access the remote instance.
29+
30+
Creating object \\"wormhole.txt\\" in bucket \\"bucket-object-test\\".
31+
Upload complete.
32+
33+
⛅️ wrangler x.x.x
34+
──────────────────
35+
Resource location: local
36+
Use --remote if you want to access the remote instance.
37+
38+
Downloading \\"wormhole.txt\\" from \\"bucket-object-test\\".
39+
Download complete."
40+
`);
41+
});
42+
43+
it("should not display banner in pipe mode", async () => {
44+
writeFileSync("wormhole.txt", "passageway");
45+
await runWrangler(
46+
`r2 object put bucket-object-test/wormhole.txt --file ./wormhole.txt `
47+
);
48+
await runWrangler("r2 object get bucket-object-test/wormhole.txt --pipe");
49+
50+
expect(
51+
decoder.decode(stdSpy.mock.calls[0][0] as unknown as Uint8Array)
52+
).toMatchInlineSnapshot(`"passageway"`);
53+
});
54+
});

packages/wrangler/src/r2/object.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ export const r2ObjectGetCommand = createCommand({
7575
},
7676
},
7777
behaviour: {
78+
printBanner({ pipe }) {
79+
return !pipe;
80+
},
7881
printResourceLocation(args) {
7982
return !args?.pipe;
8083
},

0 commit comments

Comments
 (0)