11package test
22
33import (
4+ "context"
5+ "os"
46 "testing"
57 "time"
8+
9+ "github.com/ghodss/yaml"
10+ "github.com/pivotal/kpack/pkg/logs"
11+ "github.com/stretchr/testify/require"
12+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
613)
714
815func eventually (t * testing.T , fun func () bool , interval time.Duration , duration time.Duration ) {
@@ -19,3 +26,55 @@ func eventually(t *testing.T, fun func() bool, interval time.Duration, duration
1926 }
2027 }
2128}
29+
30+ func printObject (t * testing.T , obj interface {}) {
31+ data , err := yaml .Marshal (obj )
32+ require .NoError (t , err )
33+
34+ t .Log (string (data ))
35+ }
36+
37+ func dumpK8s (t * testing.T , ctx context.Context , clients * clients , namespace string ) {
38+ const header = "=================%v=================\n "
39+
40+ t .Logf (header , "ClusterBuilders" )
41+ clusterBuilders , err := clients .client .KpackV1alpha2 ().ClusterBuilders ().List (ctx , metav1.ListOptions {})
42+ require .NoError (t , err )
43+ for _ , cb := range clusterBuilders .Items {
44+ printObject (t , cb )
45+ }
46+
47+ t .Logf (header , "Builders" )
48+ builders , err := clients .client .KpackV1alpha2 ().Builders (namespace ).List (ctx , metav1.ListOptions {})
49+ require .NoError (t , err )
50+ for _ , b := range builders .Items {
51+ printObject (t , b )
52+ }
53+
54+ t .Logf (header , "Images" )
55+ images , err := clients .client .KpackV1alpha2 ().Images (namespace ).List (ctx , metav1.ListOptions {})
56+ require .NoError (t , err )
57+ for _ , i := range images .Items {
58+ printObject (t , i )
59+ }
60+
61+ t .Logf (header , "SourceResolvers" )
62+ sourceResolvers , err := clients .client .KpackV1alpha2 ().SourceResolvers (namespace ).List (ctx , metav1.ListOptions {})
63+ require .NoError (t , err )
64+ for _ , sr := range sourceResolvers .Items {
65+ printObject (t , sr )
66+ }
67+
68+ t .Logf (header , "Pods" )
69+ pods , err := clients .k8sClient .CoreV1 ().Pods (namespace ).List (ctx , metav1.ListOptions {})
70+ require .NoError (t , err )
71+ for _ , p := range pods .Items {
72+ printObject (t , p )
73+ }
74+
75+ t .Logf (header , "Image logs" )
76+ for _ , i := range images .Items {
77+ err = logs .NewBuildLogsClient (clients .k8sClient ).GetImageLogs (ctx , os .Stdout , i .Name , i .Namespace )
78+ require .NoError (t , err )
79+ }
80+ }
0 commit comments