machine-readable output for broker (#1124)

Signed-off-by: Arghya Sadhu <arghya88@gmail.com>
This commit is contained in:
Arghya Sadhu 2020-11-18 18:41:51 +05:30 committed by GitHub
parent 4539ee8f33
commit 33d4dfd468
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 34 additions and 3 deletions

View File

@ -27,6 +27,11 @@
| https://github.com/knative/client/pull/1118[#1118] | https://github.com/knative/client/pull/1118[#1118]
|=== |===
| 🎁
| Add machine readable output (-o flag) to kn broker describe
| https://github.com/knative/client/pull/1124[#1124]
|===
### v0.19.0 (2020-11-11) ### v0.19.0 (2020-11-11)
[cols="1,10,3", options="header", width="100%"] [cols="1,10,3", options="header", width="100%"]
|=== |===

View File

@ -20,6 +20,9 @@ kn broker describe NAME
# Describe broker 'mybroker' in the 'myproject' namespace # Describe broker 'mybroker' in the 'myproject' namespace
kn broker describe mybroker --namespace myproject kn broker describe mybroker --namespace myproject
# Describe broker 'mybroker' in YAML format
kn broker describe mybroker -o yaml
# Print only broker URL # Print only broker URL
kn broker describe mybroker -o url kn broker describe mybroker -o url
``` ```

View File

@ -225,11 +225,15 @@ func (c *knEventingClient) CreateBroker(broker *v1beta1.Broker) error {
// GetBroker is used to get an instance of broker // GetBroker is used to get an instance of broker
func (c *knEventingClient) GetBroker(name string) (*v1beta1.Broker, error) { func (c *knEventingClient) GetBroker(name string) (*v1beta1.Broker, error) {
trigger, err := c.client.Brokers(c.namespace).Get(context.TODO(), name, apis_v1.GetOptions{}) broker, err := c.client.Brokers(c.namespace).Get(context.TODO(), name, apis_v1.GetOptions{})
if err != nil { if err != nil {
return nil, kn_errors.GetError(err) return nil, kn_errors.GetError(err)
} }
return trigger, nil err = updateEventingGVK(broker)
if err != nil {
return nil, err
}
return broker, nil
} }
// WatchBroker is used to create watcher object // WatchBroker is used to create watcher object

View File

@ -39,6 +39,9 @@ var describeExample = `
# Describe broker 'mybroker' in the 'myproject' namespace # Describe broker 'mybroker' in the 'myproject' namespace
kn broker describe mybroker --namespace myproject kn broker describe mybroker --namespace myproject
# Describe broker 'mybroker' in YAML format
kn broker describe mybroker -o yaml
# Print only broker URL # Print only broker URL
kn broker describe mybroker -o url` kn broker describe mybroker -o url`

View File

@ -86,9 +86,25 @@ func TestBrokerDescribeURL(t *testing.T) {
recorder.Validate() recorder.Validate()
} }
func TestTriggerDescribeMachineReadable(t *testing.T) {
client := clientv1beta1.NewMockKnEventingClient(t, "mynamespace")
recorder := client.Recorder()
recorder.GetBroker("foo", getBroker(), nil)
out, err := executeBrokerCommand(client, "describe", "foo", "-o", "yaml")
assert.NilError(t, err)
assert.Assert(t, util.ContainsAll(out, "kind: Broker", "spec:", "status:", "metadata:"))
recorder.Validate()
}
func getBroker() *v1beta1.Broker { func getBroker() *v1beta1.Broker {
return &v1beta1.Broker{ return &v1beta1.Broker{
TypeMeta: v1.TypeMeta{}, TypeMeta: v1.TypeMeta{
Kind: "Broker",
APIVersion: "eventing.knative.dev/v1beta1",
},
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
Name: "foo", Name: "foo",
Namespace: "default", Namespace: "default",