Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
bfbc1a1
codegen metadata
stainless-app[bot] Apr 8, 2026
1844952
codegen metadata
stainless-app[bot] Apr 8, 2026
0835904
codegen metadata
stainless-app[bot] Apr 8, 2026
4d5878c
codegen metadata
stainless-app[bot] Apr 8, 2026
5375791
codegen metadata
stainless-app[bot] Apr 8, 2026
7197e8f
feat(api): api update
stainless-app[bot] Apr 8, 2026
0793c19
codegen metadata
stainless-app[bot] Apr 8, 2026
b955a4a
codegen metadata
stainless-app[bot] Apr 8, 2026
e9ca828
codegen metadata
stainless-app[bot] Apr 9, 2026
5a0010a
chore(cli): let `--format raw` be used in conjunction with `--transform`
stainless-app[bot] Apr 9, 2026
0aa1243
codegen metadata
stainless-app[bot] Apr 9, 2026
607c495
feat(api): api update
stainless-app[bot] Apr 9, 2026
6090962
codegen metadata
stainless-app[bot] Apr 10, 2026
e9d6bea
feat(api): api update
stainless-app[bot] Apr 10, 2026
691f160
codegen metadata
stainless-app[bot] Apr 10, 2026
3d20d69
chore(cli): additional test cases for `ShowJSONIterator`
stainless-app[bot] Apr 10, 2026
a086faf
fix: fix for failing to drop invalid module replace in link script
stainless-app[bot] Apr 10, 2026
858c8fa
codegen metadata
stainless-app[bot] Apr 11, 2026
8ebcb7c
codegen metadata
stainless-app[bot] Apr 12, 2026
1fe38e3
chore: add documentation for ./scripts/link
stainless-app[bot] Apr 14, 2026
f48c1f0
chore(cli): fall back to JSON when using default "explore" with non-TTY
stainless-app[bot] Apr 15, 2026
96d1bfc
feat(cli): alias parameters in data with `x-stainless-cli-data-alias`
stainless-app[bot] Apr 15, 2026
21a0bc9
chore(cli): switch long lists of positional args over to param structs
stainless-app[bot] Apr 16, 2026
c947c68
chore(ci): support manually triggering release workflow
stainless-app[bot] Apr 17, 2026
4dc5824
feat(cli): send filename and content type when reading input from files
stainless-app[bot] Apr 17, 2026
28be4fa
feat(cli): add `--raw-output`/`-r` option to print raw (non-JSON) str…
stainless-app[bot] Apr 17, 2026
9a34472
chore(cli): use `ShowJSONOpts` as argument to `formatJSON` instead of…
stainless-app[bot] Apr 18, 2026
0f0687b
chore: sync OpenAPI spec
stainless-app[bot] Apr 22, 2026
d46e8ec
chore: wire production_repo for all targets
stainless-app[bot] Apr 22, 2026
6d5da37
fix: escape ampersand in OpenAPI summaries for C# XML docs
stainless-app[bot] Apr 22, 2026
f783c02
chore(internal): codegen related update
stainless-app[bot] Apr 23, 2026
262e4d3
chore(internal): more robust bootstrap script
stainless-app[bot] Apr 23, 2026
e3afe9b
release: 0.4.0
stainless-app[bot] Apr 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
- name: Link staging branch
if: github.repository == 'stainless-sdks/x-twitter-scraper-cli'
run: |
./scripts/link 'github.com/stainless-sdks/x-twitter-scraper-go@${{ github.ref_name }}' || go mod edit -dropreplace='github.com/stainless-sdks/x-twitter-scraper-go'
./scripts/link 'github.com/stainless-sdks/x-twitter-scraper-go@${{ github.ref_name }}' || true

- name: Bootstrap
run: ./scripts/bootstrap
Expand All @@ -60,7 +60,7 @@ jobs:
- name: Link staging branch
if: github.repository == 'stainless-sdks/x-twitter-scraper-cli'
run: |
./scripts/link 'github.com/stainless-sdks/x-twitter-scraper-go@${{ github.ref_name }}' || go mod edit -dropreplace='github.com/stainless-sdks/x-twitter-scraper-go'
./scripts/link 'github.com/stainless-sdks/x-twitter-scraper-go@${{ github.ref_name }}' || true

- name: Bootstrap
run: ./scripts/bootstrap
Expand Down Expand Up @@ -107,7 +107,7 @@ jobs:
- name: Link staging branch
if: github.repository == 'stainless-sdks/x-twitter-scraper-cli'
run: |
./scripts/link 'github.com/stainless-sdks/x-twitter-scraper-go@${{ github.ref_name }}' || go mod edit -dropreplace='github.com/stainless-sdks/x-twitter-scraper-go'
./scripts/link 'github.com/stainless-sdks/x-twitter-scraper-go@${{ github.ref_name }}' || true

- name: Bootstrap
run: ./scripts/bootstrap
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
push:
tags:
- "v*"
workflow_dispatch: {}
jobs:
goreleaser:
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.3.0"
".": "0.4.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 117
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/xquik%2Fx-twitter-scraper-d40c57a05527faf060d21c0e013729f371d88017b10680cea7c8fd6780ffaef5.yml
openapi_spec_hash: 597ebc460cf86740b9f6f7c95478dece
config_hash: 30ce23c9cfbf8fb8be9e5dd28a2124fa
configured_endpoints: 110
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/xquik%2Fx-twitter-scraper-2adc33156b4b42a4be18cc20c0205b38f0432d7958da99c65ee9b3f6a555ea0e.yml
openapi_spec_hash: be760f5620a268521d6793f65576a61f
config_hash: 320a9cb2f1293d1a7b73c63ab5865af5
39 changes: 39 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,44 @@
# Changelog

## 0.4.0 (2026-04-25)

Full Changelog: [v0.3.0...v0.4.0](https://github.com/Xquik-dev/x-twitter-scraper-cli/compare/v0.3.0...v0.4.0)

### Features

* **api:** api update ([e9d6bea](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/e9d6beaf3b434b0c063fb0a25d92da9aebc8c970))
* **api:** api update ([607c495](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/607c49591bc8d2f0c93a99ba360f46540373b4c4))
* **api:** api update ([7197e8f](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/7197e8f7ae0b37957eec880dd03a9786eb23caa8))
* **cli:** add `--raw-output`/`-r` option to print raw (non-JSON) strings ([28be4fa](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/28be4fac015d4fa532e8714b15634baafab111c0))
* **cli:** alias parameters in data with `x-stainless-cli-data-alias` ([96d1bfc](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/96d1bfca315fcfa3b602b6007e6452efc7ef869b))
* **cli:** send filename and content type when reading input from files ([4dc5824](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/4dc58248eec53b50faf98eb2869e27ddf15618d4))


### Bug Fixes

* escape ampersand in OpenAPI summaries for C# XML docs ([6d5da37](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/6d5da374e3a40fcaf3d31945666770843d537ee5))
* fix for failing to drop invalid module replace in link script ([a086faf](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/a086fafbb77d57fb4b2c1330e526c299b2c8e0de))


### Chores

* add documentation for ./scripts/link ([1fe38e3](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/1fe38e359d3863fc12c588dcd2db8164a67a10e1))
* **ci:** support manually triggering release workflow ([c947c68](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/c947c68b51f8141b8ed6030b641f34ef783c53e3))
* **cli:** additional test cases for `ShowJSONIterator` ([3d20d69](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/3d20d69c87f77ece9fb46b3f58da0948fa21f601))
* **cli:** fall back to JSON when using default "explore" with non-TTY ([f48c1f0](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/f48c1f013e9c850b7780e4d1760dca7ac16f62b8))
* **cli:** let `--format raw` be used in conjunction with `--transform` ([5a0010a](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/5a0010abd09ae3e5d51b8a3536a4b662b328bd8e))
* **cli:** switch long lists of positional args over to param structs ([21a0bc9](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/21a0bc997e853879adc640cc2114861ab9f4018a))
* **cli:** use `ShowJSONOpts` as argument to `formatJSON` instead of many positionals ([9a34472](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/9a344724e7f20169211f27eb1f3d3122a7aa78ca))
* **internal:** codegen related update ([f783c02](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/f783c028f7ca4fbd5dd87b83488930c007598a8f))
* **internal:** more robust bootstrap script ([262e4d3](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/262e4d3ee4b8d64258ffda8ca1f8d283bdbc35bf))
* sync OpenAPI spec ([0f0687b](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/0f0687b9a0ea1e35149eb38d2899c649a1991195))
* wire production_repo for all targets ([d46e8ec](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/d46e8ecbc08aac3f02d31b6d2674a19f27393662))


### Documentation

* add Contributor Covenant 2.1 Code of Conduct ([#2192](https://github.com/Xquik-dev/x-twitter-scraper-cli/issues/2192)) ([c253bcb](https://github.com/Xquik-dev/x-twitter-scraper-cli/commit/c253bcbbef2f104a891f63807058763a505162a3))

## 0.3.0 (2026-04-08)

Full Changelog: [v0.2.0...v0.3.0](https://github.com/Xquik-dev/x-twitter-scraper-cli/compare/v0.2.0...v0.3.0)
Expand Down
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,23 @@ base64-encoding). Note that absolute paths will begin with `@file://` or
```bash
x-twitter-scraper <command> --arg @data://file.txt
```

## Linking different Go SDK versions

You can link the CLI against a different version of the X Twitter Scraper Go SDK
for development purposes using the `./scripts/link` script.

To link to a specific version from a repository (version can be a branch,
git tag, or commit hash):

```bash
./scripts/link github.com/org/repo@version
```

To link to a local copy of the SDK:

```bash
./scripts/link ../path/to/xtwitterscraper-go
```

If you run the link script without any arguments, it will default to `../xtwitterscraper-go`.
7 changes: 6 additions & 1 deletion cmd/x-twitter-scraper/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,12 @@ func main() {
fmt.Fprintf(os.Stderr, "%s %q: %d %s\n", apierr.Request.Method, apierr.Request.URL, apierr.Response.StatusCode, http.StatusText(apierr.Response.StatusCode))
format := app.String("format-error")
json := gjson.Parse(apierr.RawJSON())
show_err := cmd.ShowJSON(os.Stdout, "Error", json, format, app.String("transform-error"))
show_err := cmd.ShowJSON(json, cmd.ShowJSONOpts{
ExplicitFormat: app.IsSet("format-error"),
Format: format,
Title: "Error",
Transform: app.String("transform-error"),
})
if show_err != nil {
// Just print the original error:
fmt.Fprintf(os.Stderr, "%s\n", err.Error())
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/Xquik-dev/x-twitter-scraper-cli
go 1.25

require (
github.com/Xquik-dev/x-twitter-scraper-go v0.3.0
github.com/Xquik-dev/x-twitter-scraper-go v0.4.0
github.com/charmbracelet/bubbles v0.21.0
github.com/charmbracelet/bubbletea v1.3.6
github.com/charmbracelet/lipgloss v1.1.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
github.com/Xquik-dev/x-twitter-scraper-go v0.3.0 h1:Iu2ejXyVKqikAWAlCgfGNeav5Q+3/V6lscdmUKYGB/8=
github.com/Xquik-dev/x-twitter-scraper-go v0.3.0/go.mod h1:OHW3aIR8E3+ANa/mjFTZs1sG7ePzrBEmW0a8JUN+NvI=
github.com/Xquik-dev/x-twitter-scraper-go v0.4.0 h1:np1LceO4i48617H41xpm6kH7e57ZV11RMwCAdeVhTzc=
github.com/Xquik-dev/x-twitter-scraper-go v0.4.0/go.mod h1:OHW3aIR8E3+ANa/mjFTZs1sG7ePzrBEmW0a8JUN+NvI=
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/aymanbagabas/go-udiff v0.2.0 h1:TK0fH4MteXUDspT88n8CKzvK0X9O2xu9yQjWpi6yML8=
Expand Down
19 changes: 17 additions & 2 deletions internal/requestflag/innerflag.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,29 @@ type InnerFlag[
Aliases []string // aliases that are allowed for this flag
Validator func(T) error // custom function to validate this flag value

OuterFlag cli.Flag // The flag on which this inner flag will set values
InnerField string // The inner field which this flag will set
OuterFlag cli.Flag // The flag on which this inner flag will set values
InnerField string // The inner field which this flag will set
DataAliases []string // alternate names recognized in YAML values passed as the outer flag
}

// GetDataAliases returns the aliases recognized when parsing inner field keys from piped or flag YAML.
func (f *InnerFlag[T]) GetDataAliases() []string {
return f.DataAliases
}

// GetInnerField returns the API field name that this inner flag sets on its outer flag's value.
// For example, the flag --parent.foo targeting a parameter whose OpenAPI property name is "foo"
// would return "foo". This is distinct from the flag's CLI name and from any DataAliases entries.
func (f *InnerFlag[T]) GetInnerField() string {
return f.InnerField
}

type HasOuterFlag interface {
cli.Flag
SetOuterFlag(cli.Flag)
GetOuterFlag() cli.Flag
GetInnerField() string
GetDataAliases() []string
}

func (f *InnerFlag[T]) SetOuterFlag(flag cli.Flag) {
Expand Down
9 changes: 9 additions & 0 deletions internal/requestflag/requestflag.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ type Flag[
// binary` in the OpenAPI spec.
FileInput bool

// DataAliases is a list of alternate names for this parameter recognized when parsing piped YAML/JSON
// input. Values keyed by any alias are translated to the canonical API name before being sent.
DataAliases []string

// unexported fields for internal use
count int // number of times the flag has been set
hasBeenSet bool // whether the flag has been set from env or file
Expand All @@ -65,6 +69,7 @@ type InRequest interface {
GetBodyPath() string
IsBodyRoot() bool
IsFileInput() bool
GetDataAliases() []string
}

func (f Flag[T]) GetQueryPath() string {
Expand All @@ -87,6 +92,10 @@ func (f Flag[T]) IsFileInput() bool {
return f.FileInput
}

func (f Flag[T]) GetDataAliases() []string {
return f.DataAliases
}

// The values that will be sent in different parts of a request.
type RequestContents struct {
Queries map[string]any
Expand Down
28 changes: 24 additions & 4 deletions pkg/cmd/account.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ package cmd
import (
"context"
"fmt"
"os"

"github.com/Xquik-dev/x-twitter-scraper-cli/internal/apiquery"
"github.com/Xquik-dev/x-twitter-scraper-cli/internal/requestflag"
Expand Down Expand Up @@ -84,8 +83,15 @@ func handleAccountRetrieve(ctx context.Context, cmd *cli.Command) error {

obj := gjson.ParseBytes(res)
format := cmd.Root().String("format")
explicitFormat := cmd.Root().IsSet("format")
transform := cmd.Root().String("transform")
return ShowJSON(os.Stdout, "account retrieve", obj, format, transform)
return ShowJSON(obj, ShowJSONOpts{
ExplicitFormat: explicitFormat,
Format: format,
RawOutput: cmd.Root().Bool("raw-output"),
Title: "account retrieve",
Transform: transform,
})
}

func handleAccountSetXUsername(ctx context.Context, cmd *cli.Command) error {
Expand Down Expand Up @@ -118,8 +124,15 @@ func handleAccountSetXUsername(ctx context.Context, cmd *cli.Command) error {

obj := gjson.ParseBytes(res)
format := cmd.Root().String("format")
explicitFormat := cmd.Root().IsSet("format")
transform := cmd.Root().String("transform")
return ShowJSON(os.Stdout, "account set-x-username", obj, format, transform)
return ShowJSON(obj, ShowJSONOpts{
ExplicitFormat: explicitFormat,
Format: format,
RawOutput: cmd.Root().Bool("raw-output"),
Title: "account set-x-username",
Transform: transform,
})
}

func handleAccountUpdateLocale(ctx context.Context, cmd *cli.Command) error {
Expand Down Expand Up @@ -152,6 +165,13 @@ func handleAccountUpdateLocale(ctx context.Context, cmd *cli.Command) error {

obj := gjson.ParseBytes(res)
format := cmd.Root().String("format")
explicitFormat := cmd.Root().IsSet("format")
transform := cmd.Root().String("transform")
return ShowJSON(os.Stdout, "account update-locale", obj, format, transform)
return ShowJSON(obj, ShowJSONOpts{
ExplicitFormat: explicitFormat,
Format: format,
RawOutput: cmd.Root().Bool("raw-output"),
Title: "account update-locale",
Transform: transform,
})
}
5 changes: 0 additions & 5 deletions pkg/cmd/account_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ func TestAccountRetrieve(t *testing.T) {
mocktest.TestRunMockTestWithFlags(
t,
"--api-key", "string",
"--bearer-token", "string",
"account", "retrieve",
)
})
Expand All @@ -26,7 +25,6 @@ func TestAccountSetXUsername(t *testing.T) {
mocktest.TestRunMockTestWithFlags(
t,
"--api-key", "string",
"--bearer-token", "string",
"account", "set-x-username",
"--username", "elonmusk",
)
Expand All @@ -38,7 +36,6 @@ func TestAccountSetXUsername(t *testing.T) {
mocktest.TestRunMockTestWithPipeAndFlags(
t, pipeData,
"--api-key", "string",
"--bearer-token", "string",
"account", "set-x-username",
)
})
Expand All @@ -50,7 +47,6 @@ func TestAccountUpdateLocale(t *testing.T) {
mocktest.TestRunMockTestWithFlags(
t,
"--api-key", "string",
"--bearer-token", "string",
"account", "update-locale",
"--locale", "en",
)
Expand All @@ -62,7 +58,6 @@ func TestAccountUpdateLocale(t *testing.T) {
mocktest.TestRunMockTestWithPipeAndFlags(
t, pipeData,
"--api-key", "string",
"--bearer-token", "string",
"account", "update-locale",
)
})
Expand Down
28 changes: 24 additions & 4 deletions pkg/cmd/apikey.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ package cmd
import (
"context"
"fmt"
"os"

"github.com/Xquik-dev/x-twitter-scraper-cli/internal/apiquery"
"github.com/Xquik-dev/x-twitter-scraper-cli/internal/requestflag"
Expand Down Expand Up @@ -82,8 +81,15 @@ func handleAPIKeysCreate(ctx context.Context, cmd *cli.Command) error {

obj := gjson.ParseBytes(res)
format := cmd.Root().String("format")
explicitFormat := cmd.Root().IsSet("format")
transform := cmd.Root().String("transform")
return ShowJSON(os.Stdout, "api-keys create", obj, format, transform)
return ShowJSON(obj, ShowJSONOpts{
ExplicitFormat: explicitFormat,
Format: format,
RawOutput: cmd.Root().Bool("raw-output"),
Title: "api-keys create",
Transform: transform,
})
}

func handleAPIKeysList(ctx context.Context, cmd *cli.Command) error {
Expand Down Expand Up @@ -114,8 +120,15 @@ func handleAPIKeysList(ctx context.Context, cmd *cli.Command) error {

obj := gjson.ParseBytes(res)
format := cmd.Root().String("format")
explicitFormat := cmd.Root().IsSet("format")
transform := cmd.Root().String("transform")
return ShowJSON(os.Stdout, "api-keys list", obj, format, transform)
return ShowJSON(obj, ShowJSONOpts{
ExplicitFormat: explicitFormat,
Format: format,
RawOutput: cmd.Root().Bool("raw-output"),
Title: "api-keys list",
Transform: transform,
})
}

func handleAPIKeysRevoke(ctx context.Context, cmd *cli.Command) error {
Expand Down Expand Up @@ -149,6 +162,13 @@ func handleAPIKeysRevoke(ctx context.Context, cmd *cli.Command) error {

obj := gjson.ParseBytes(res)
format := cmd.Root().String("format")
explicitFormat := cmd.Root().IsSet("format")
transform := cmd.Root().String("transform")
return ShowJSON(os.Stdout, "api-keys revoke", obj, format, transform)
return ShowJSON(obj, ShowJSONOpts{
ExplicitFormat: explicitFormat,
Format: format,
RawOutput: cmd.Root().Bool("raw-output"),
Title: "api-keys revoke",
Transform: transform,
})
}
4 changes: 0 additions & 4 deletions pkg/cmd/apikey_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ func TestAPIKeysCreate(t *testing.T) {
mocktest.TestRunMockTestWithFlags(
t,
"--api-key", "string",
"--bearer-token", "string",
"api-keys", "create",
"--name", "My API Key",
)
Expand All @@ -26,7 +25,6 @@ func TestAPIKeysCreate(t *testing.T) {
mocktest.TestRunMockTestWithPipeAndFlags(
t, pipeData,
"--api-key", "string",
"--bearer-token", "string",
"api-keys", "create",
)
})
Expand All @@ -38,7 +36,6 @@ func TestAPIKeysList(t *testing.T) {
mocktest.TestRunMockTestWithFlags(
t,
"--api-key", "string",
"--bearer-token", "string",
"api-keys", "list",
)
})
Expand All @@ -50,7 +47,6 @@ func TestAPIKeysRevoke(t *testing.T) {
mocktest.TestRunMockTestWithFlags(
t,
"--api-key", "string",
"--bearer-token", "string",
"api-keys", "revoke",
"--id", "id",
)
Expand Down
Loading
Loading