kn source-list types: adding column to specify built-in source (#1246)

* # This is a combination of 9 commits.
# This is the 1st commit message:
adding BUILT-IN SOURCE column for kn source list-types

# The commit message #2 will be skipped:

#	changing list test to check for BUILT-IN SOURCE column

# The commit message #3 will be skipped:

#	changing e2e source list test to check for BUILT-IN SOURCE column

# The commit message #4 will be skipped:

#	adding CHANGELOG entry

# The commit message #5 will be skipped:

#	kn source list-types: changing BUILT-IN SOURCE to BUILT-IN and moving DESCRIPTION column to the end

# The commit message #6 will be skipped:

#	changing BUILT-IN SOURCE to BUILT-IN in changelog

# The commit message #7 will be skipped:

#	Update CHANGELOG.adoc
#
#	Co-authored-by: David Simansky <dsimansk@redhat.com>

# The commit message #8 will be skipped:

#	kn source list-types: changing column header to S, values to X, and moving to second column

# The commit message #9 will be skipped:

#	fixing CHANGELOG merge conflict

* adding BUILT-IN SOURCE column for kn source list-types
This commit is contained in:
Tonia Elengikal 2021-03-09 05:45:25 -05:00 committed by GitHub
parent 9fa8d6b96e
commit a9687c6417
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 5 deletions

View File

@ -25,6 +25,9 @@
| Fix kn export to always honor mode irrespective of revisions flag and have Export as the default mode | Fix kn export to always honor mode irrespective of revisions flag and have Export as the default mode
| https://github.com/knative/client/pull/1212[#1212] | https://github.com/knative/client/pull/1212[#1212]
| 🎁
| Add S column to specify built-in sources in kn source list-types
| https://github.com/knative/client/pull/1246[#1246]
|=== |===
## v0.21.0 (2021-02-23) ## v0.21.0 (2021-02-23)

View File

@ -37,10 +37,19 @@ var sourceTypeDescription = map[string]string{
"KafkaSource": "Route events from Apache Kafka Server to addressable", "KafkaSource": "Route events from Apache Kafka Server to addressable",
} }
var sourceTypeSupported = map[string]string{
"ApiServerSource": "X",
"SinkBinding": "X",
"PingSource": "X",
"ContainerSource": "X",
"KafkaSource": "",
}
// ListTypesHandlers handles printing human readable table for `kn source list-types` // ListTypesHandlers handles printing human readable table for `kn source list-types`
func ListTypesHandlers(h printers.PrintHandler) { func ListTypesHandlers(h printers.PrintHandler) {
sourceTypesColumnDefinitions := []metav1beta1.TableColumnDefinition{ sourceTypesColumnDefinitions := []metav1beta1.TableColumnDefinition{
{Name: "Type", Type: "string", Description: "Kind / Type of the source type", Priority: 1}, {Name: "Type", Type: "string", Description: "Kind / Type of the source type", Priority: 1},
{Name: "S", Type: "string", Description: "Supported source", Priority: 1},
{Name: "Name", Type: "string", Description: "Name of the source type", Priority: 1}, {Name: "Name", Type: "string", Description: "Name of the source type", Priority: 1},
{Name: "Description", Type: "string", Description: "Description of the source type", Priority: 1}, {Name: "Description", Type: "string", Description: "Description of the source type", Priority: 1},
} }
@ -78,7 +87,7 @@ func printSourceTypes(sourceType unstructured.Unstructured, options printers.Pri
row := metav1beta1.TableRow{ row := metav1beta1.TableRow{
Object: runtime.RawExtension{Object: &sourceType}, Object: runtime.RawExtension{Object: &sourceType},
} }
row.Cells = append(row.Cells, kind, name, sourceTypeDescription[kind]) row.Cells = append(row.Cells, kind, sourceTypeSupported[kind], name, sourceTypeDescription[kind])
return []metav1beta1.TableRow{row}, nil return []metav1beta1.TableRow{row}, nil
} }

View File

@ -64,9 +64,9 @@ func TestSourceListTypes(t *testing.T) {
newSourceCRDObjWithSpec("apiserversources", "sources.knative.dev", "v1alpha1", "ApiServerSource"), newSourceCRDObjWithSpec("apiserversources", "sources.knative.dev", "v1alpha1", "ApiServerSource"),
) )
assert.NilError(t, err) assert.NilError(t, err)
assert.Check(t, util.ContainsAll(output[0], "TYPE", "NAME", "DESCRIPTION")) assert.Check(t, util.ContainsAll(output[0], "TYPE", "S", "NAME", "DESCRIPTION"))
assert.Check(t, util.ContainsAll(output[1], "ApiServerSource", "apiserversources")) assert.Check(t, util.ContainsAll(output[1], "ApiServerSource", "X", "apiserversources"))
assert.Check(t, util.ContainsAll(output[2], "PingSource", "pingsources")) assert.Check(t, util.ContainsAll(output[2], "PingSource", "X", "pingsources"))
} }
func TestSourceListTypesNoHeaders(t *testing.T) { func TestSourceListTypesNoHeaders(t *testing.T) {

View File

@ -39,7 +39,7 @@ func TestSourceListTypes(t *testing.T) {
t.Log("List available source types") t.Log("List available source types")
output := sourceListTypes(r) output := sourceListTypes(r)
assert.Check(t, util.ContainsAll(output, "TYPE", "NAME", "DESCRIPTION", "Ping", "ApiServer")) assert.Check(t, util.ContainsAll(output, "TYPE", "S", "NAME", "DESCRIPTION", "Ping", "ApiServer"))
t.Log("List available source types in YAML format") t.Log("List available source types in YAML format")