fixing tests

mine
derailed 2019-02-18 22:43:40 -07:00
parent d8721bd4b1
commit 9176b10d31
26 changed files with 280 additions and 1215 deletions

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -18,7 +18,6 @@ func TestCMHeader(t *testing.T) {
)
}
func TestCMHeaderAllNS(t *testing.T) {
assert.Equal(t,
resource.Row{"NAMESPACE", "NAME", "DATA", "AGE"},
@ -184,30 +183,14 @@ func k8sCM() *v1.ConfigMap {
}
func cmYaml() string {
return `typemeta:
kind: ConfigMap
apiversion: v1
objectmeta:
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
return `apiVersion: v1
data:
blee: blee
duh: duh
binarydata: {}
kind: ConfigMap
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
namespace: blee
`
}
}

View File

@ -3,8 +3,8 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/client-go/tools/clientcmd/api"
@ -17,14 +17,6 @@ func TestCTXHeader(t *testing.T) {
)
}
// BOZO!! Need Mocks!
// func TestCTXFieldsAllNS(t *testing.T) {
// r := newContext().Fields(resource.AllNamespaces)
// assert.Equal(t, "test", r[0])
// assert.Equal(t, "blee", r[1])
// assert.Equal(t, "secret", r[2])
// }
func TestCTXSwitch(t *testing.T) {
setup(t)
@ -109,31 +101,6 @@ func TestCTXListDescribe(t *testing.T) {
ca.VerifyWasCalledOnce().Get("blee", "fred")
}
// BOZO!! Need mocks
// func TestCTXListData(t *testing.T) {
// setup(t)
// ca := NewMockSwitchableRes()
// m.When(ca.List(resource.NotNamespaced)).ThenReturn(k8s.Collection{*k8sNamedCTX()}, nil)
// l := resource.NewContextListWithArgs("blee", resource.NewContextWithArgs(ca))
// // Make sure we can get deltas!
// for i := 0; i < 2; i++ {
// assert.Nil(t, l.Reconcile())
// }
// ca.VerifyWasCalled(m.Times(2)).List(resource.NotNamespaced)
// td := l.Data()
// assert.Equal(t, 1, len(td.Rows))
// assert.False(t, l.HasXRay())
// row := td.Rows["test"]
// assert.Equal(t, 4, len(row.Deltas))
// for _, d := range row.Deltas {
// assert.Equal(t, "", d)
// }
// assert.Equal(t, resource.Row{"test", "blee", "secret", ""}, row.Fields)
// }
// Helpers...
func newContext() resource.Columnar {

View File

@ -3,8 +3,8 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
rbacv1 "k8s.io/api/rbac/v1"
@ -84,35 +84,19 @@ func newCRB() resource.Columnar {
}
func crbYaml() string {
return `typemeta:
kind: ClusterRoleBinding
apiversion: rbac.authorization.k8s.io/v1
objectmeta:
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
subjects:
- kind: test
apigroup: ""
return `apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
namespace: blee
roleref:
apigroup: ""
roleRef:
apiGroup: ""
kind: ""
name: ""
subjects:
- kind: test
name: fred
namespace: blee
`
}

View File

@ -128,37 +128,19 @@ func testTime() time.Time {
}
func crYaml() string {
return `typemeta:
kind: ClusterRole
apiversion: rbac.authorization.k8s.io/v1
objectmeta:
return `apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
rules:
- verbs:
- apiGroups:
- ""
resourceNames:
- pod
verbs:
- get
- list
apigroups:
- ""
resources: []
resourcenames:
- pod
nonresourceurls: []
aggregationrule: null
`
}

View File

@ -5,6 +5,7 @@ import (
"github.com/derailed/k9s/internal/k8s"
log "github.com/sirupsen/logrus"
yaml "gopkg.in/yaml.v2"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
)
@ -67,7 +68,13 @@ func (r *CRD) Marshal(path string) (string, error) {
return "", err
}
return r.marshalObject(i.(*unstructured.Unstructured))
raw, err := yaml.Marshal(i)
if err != nil {
return "", err
}
return string(raw), nil
// BOZO!! Need to figure out apiGroup+Version
// return r.marshalObject(i.(*unstructured.Unstructured))
}
// Header return the resource header.

View File

@ -3,8 +3,8 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"

View File

@ -3,8 +3,8 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
batchv1beta1 "k8s.io/api/batch/v1beta1"
@ -109,113 +109,25 @@ func newCronJob() resource.Columnar {
}
func cronjobYaml() string {
return `typemeta:
kind: CronJob
apiversion: extensions/batchv1beta1
objectmeta:
return `apiVersion: extensions/batchv1beta1
kind: CronJob
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
spec:
schedule: '*/1 * * * *'
startingdeadlineseconds: null
concurrencypolicy: ""
suspend: false
jobtemplate:
objectmeta:
name: ""
generatename: ""
namespace: ""
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "0001-01-01T00:00:00Z"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
jobTemplate:
metadata:
creationTimestamp: null
spec:
parallelism: null
completions: null
activedeadlineseconds: null
backofflimit: null
selector: null
manualselector: null
template:
objectmeta:
name: ""
generatename: ""
namespace: ""
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "0001-01-01T00:00:00Z"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
metadata:
creationTimestamp: null
spec:
volumes: []
initcontainers: []
containers: []
restartpolicy: ""
terminationgraceperiodseconds: null
activedeadlineseconds: null
dnspolicy: ""
nodeselector: {}
serviceaccountname: ""
deprecatedserviceaccount: ""
automountserviceaccounttoken: null
nodename: ""
hostnetwork: false
hostpid: false
hostipc: false
shareprocessnamespace: null
securitycontext: null
imagepullsecrets: []
hostname: ""
subdomain: ""
affinity: null
schedulername: ""
tolerations: []
hostaliases: []
priorityclassname: ""
priority: null
dnsconfig: null
readinessgates: []
runtimeclassname: null
enableservicelinks: null
ttlsecondsafterfinished: null
successfuljobshistorylimit: null
failedjobshistorylimit: null
containers: null
schedule: '*/1 * * * *'
suspend: false
status:
active: []
lastscheduletime: "2018-12-14T10:36:43.326972-07:00"
lastScheduleTime: "2018-12-14T17:36:43Z"
`
}

View File

@ -3,8 +3,8 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
appsv1 "k8s.io/api/apps/v1"
@ -105,95 +105,21 @@ func newDeployment() resource.Columnar {
}
func dpYaml() string {
return `typemeta:
kind: Deployment
apiversion: apps/v1
objectmeta:
return `apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
spec:
replicas: 1
selector: null
strategy: {}
template:
objectmeta:
name: ""
generatename: ""
namespace: ""
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "0001-01-01T00:00:00Z"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
metadata:
creationTimestamp: null
spec:
volumes: []
initcontainers: []
containers: []
restartpolicy: ""
terminationgraceperiodseconds: null
activedeadlineseconds: null
dnspolicy: ""
nodeselector: {}
serviceaccountname: ""
deprecatedserviceaccount: ""
automountserviceaccounttoken: null
nodename: ""
hostnetwork: false
hostpid: false
hostipc: false
shareprocessnamespace: null
securitycontext: null
imagepullsecrets: []
hostname: ""
subdomain: ""
affinity: null
schedulername: ""
tolerations: []
hostaliases: []
priorityclassname: ""
priority: null
dnsconfig: null
readinessgates: []
runtimeclassname: null
enableservicelinks: null
strategy:
type: ""
rollingupdate: null
minreadyseconds: 0
revisionhistorylimit: null
paused: false
progressdeadlineseconds: null
status:
observedgeneration: 0
replicas: 0
updatedreplicas: 0
readyreplicas: 0
availablereplicas: 0
unavailablereplicas: 0
conditions: []
collisioncount: null
containers: null
status: {}
`
}

View File

@ -3,8 +3,8 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
extv1beta1 "k8s.io/api/extensions/v1beta1"
@ -112,98 +112,27 @@ func newDS() resource.Columnar {
}
func dsYaml() string {
return `typemeta:
kind: DaemonSet
apiversion: extensions/v1beta1
objectmeta:
return `apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
spec:
selector:
matchlabels:
matchLabels:
fred: blee
matchexpressions: []
template:
objectmeta:
name: ""
generatename: ""
namespace: ""
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "0001-01-01T00:00:00Z"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
metadata:
creationTimestamp: null
spec:
volumes: []
initcontainers: []
containers: []
restartpolicy: ""
terminationgraceperiodseconds: null
activedeadlineseconds: null
dnspolicy: ""
nodeselector: {}
serviceaccountname: ""
deprecatedserviceaccount: ""
automountserviceaccounttoken: null
nodename: ""
hostnetwork: false
hostpid: false
hostipc: false
shareprocessnamespace: null
securitycontext: null
imagepullsecrets: []
hostname: ""
subdomain: ""
affinity: null
schedulername: ""
tolerations: []
hostaliases: []
priorityclassname: ""
priority: null
dnsconfig: null
readinessgates: []
runtimeclassname: null
enableservicelinks: null
updatestrategy:
type: ""
rollingupdate: null
minreadyseconds: 0
templategeneration: 0
revisionhistorylimit: null
containers: null
updateStrategy: {}
status:
currentnumberscheduled: 1
numbermisscheduled: 0
desirednumberscheduled: 1
numberready: 1
observedgeneration: 0
updatednumberscheduled: 0
numberavailable: 1
numberunavailable: 0
collisioncount: null
conditions: []
currentNumberScheduled: 1
desiredNumberScheduled: 1
numberAvailable: 1
numberMisscheduled: 0
numberReady: 1
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -111,37 +111,17 @@ func newEndpoints() resource.Columnar {
}
func epYaml() string {
return `typemeta:
kind: Endpoints
apiversion: v1
objectmeta:
return `apiVersion: v1
kind: Endpoint
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
subsets:
- addresses:
- ip: 1.1.1.1
hostname: ""
nodename: null
targetref: null
notreadyaddresses: []
ports:
- name: ""
port: 80
- port: 80
protocol: TCP
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -104,49 +104,21 @@ func newEvent() resource.Columnar {
}
func evYaml() string {
return `typemeta:
kind: Event
apiversion: v1
objectmeta:
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
involvedobject:
kind: ""
namespace: ""
name: ""
uid: ""
apiversion: ""
resourceversion: ""
fieldpath: ""
reason: blah
message: blee
source:
component: ""
host: ""
firsttimestamp: "0001-01-01T00:00:00Z"
lasttimestamp: "0001-01-01T00:00:00Z"
return `apiVersion: v1
count: 1
type: ""
eventtime: "0001-01-01T00:00:00Z"
series: null
action: ""
related: null
reportingcontroller: ""
reportinginstance: ""
eventTime: null
firstTimestamp: null
involvedObject: {}
kind: Event
lastTimestamp: null
message: blee
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
namespace: blee
reason: blah
reportingComponent: ""
reportingInstance: ""
source: {}
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/autoscaling/v1"
v1 "k8s.io/api/autoscaling/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -115,40 +115,22 @@ func newHPA() resource.Columnar {
}
func hpaYaml() string {
return `typemeta:
kind: HPA
apiversion: autoscaling/v1
objectmeta:
return `apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
spec:
scaletargetref:
maxReplicas: 1
minReplicas: 1
scaleTargetRef:
kind: fred
name: blee
apiversion: ""
minreplicas: 1
maxreplicas: 1
targetcpuutilizationpercentage: 1
targetCPUUtilizationPercentage: 1
status:
observedgeneration: null
lastscaletime: null
currentreplicas: 1
desiredreplicas: 0
currentcpuutilizationpercentage: 1
currentCPUUtilizationPercentage: 1
currentReplicas: 1
desiredReplicas: 0
`
}

View File

@ -3,8 +3,8 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/extensions/v1beta1"
@ -106,36 +106,16 @@ func newIngress() resource.Columnar {
}
func ingYaml() string {
return `typemeta:
kind: Ingress
apiversion: extensions/v1beta1
objectmeta:
return `apiVersion: extensions/v1beta1
kind: Ingress
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
spec:
backend: null
tls: []
rules:
- host: blee
ingressrulevalue:
http: null
status:
loadbalancer:
ingress: []
loadBalancer: {}
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/batch/v1"
v1 "k8s.io/api/batch/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -110,91 +110,22 @@ func newJob() resource.Columnar {
}
func jobYaml() string {
return `typemeta:
kind: Job
apiversion: extensions/v1beta1
objectmeta:
return `apiVersion: extensions/v1beta1
kind: Job
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
spec:
parallelism: 0
completions: 0
activedeadlineseconds: null
backofflimit: null
selector: null
manualselector: null
parallelism: 0
template:
objectmeta:
name: ""
generatename: ""
namespace: ""
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "0001-01-01T00:00:00Z"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
metadata:
creationTimestamp: null
spec:
volumes: []
initcontainers: []
containers: []
restartpolicy: ""
terminationgraceperiodseconds: null
activedeadlineseconds: null
dnspolicy: ""
nodeselector: {}
serviceaccountname: ""
deprecatedserviceaccount: ""
automountserviceaccounttoken: null
nodename: ""
hostnetwork: false
hostpid: false
hostipc: false
shareprocessnamespace: null
securitycontext: null
imagepullsecrets: []
hostname: ""
subdomain: ""
affinity: null
schedulername: ""
tolerations: []
hostaliases: []
priorityclassname: ""
priority: null
dnsconfig: null
readinessgates: []
runtimeclassname: null
enableservicelinks: null
ttlsecondsafterfinished: null
containers: null
status:
conditions: []
starttime: "2018-12-14T10:36:43.326972-07:00"
completiontime: "2018-12-14T10:36:43.326972-07:00"
active: 0
succeeded: 0
failed: 0
completionTime: "2018-12-14T17:36:43Z"
startTime: "2018-12-14T17:36:43Z"
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -111,59 +111,29 @@ func newNode() resource.Columnar {
}
func noYaml() string {
return `typemeta:
kind: Node
apiversion: v1
objectmeta:
return `apiVersion: v1
kind: Node
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: ""
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
spec:
podcidr: ""
providerid: ""
unschedulable: false
taints: []
configsource: null
donotuse_externalid: ""
spec: {}
status:
capacity: {}
allocatable: {}
phase: ""
conditions: []
addresses:
- type: ""
address: 1.1.1.1
daemonendpoints:
kubeletendpoint:
port: 0
nodeinfo:
machineid: ""
systemuuid: ""
bootid: ""
kernelversion: ""
osimage: ""
containerruntimeversion: ""
kubeletversion: ""
kubeproxyversion: ""
operatingsystem: ""
- address: 1.1.1.1
type: ""
daemonEndpoints:
kubeletEndpoint:
Port: 0
nodeInfo:
architecture: ""
images: []
volumesinuse: []
volumesattached: []
config: null
bootID: ""
containerRuntimeVersion: ""
kernelVersion: ""
kubeProxyVersion: ""
kubeletVersion: ""
machineID: ""
operatingSystem: ""
osImage: ""
systemUUID: ""
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -101,30 +101,13 @@ func newNamespace() resource.Columnar {
}
func nsYaml() string {
return `typemeta:
kind: Namespace
apiversion: v1
objectmeta:
return `apiVersion: v1
kind: Namespace
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
spec:
finalizers: []
status:
phase: ""
spec: {}
status: {}
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -150,150 +150,43 @@ func newPod() resource.Columnar {
}
func poYaml() string {
return `typemeta:
kind: Pod
apiversion: v1
objectmeta:
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
return `apiVersion: v1
kind: Pod
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
labels:
blee: duh
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
name: fred
namespace: blee
spec:
volumes:
- name: fred
volumesource:
hostpath:
path: /blee
type: Directory
emptydir: null
gcepersistentdisk: null
awselasticblockstore: null
gitrepo: null
secret: null
nfs: null
iscsi: null
glusterfs: null
persistentvolumeclaim: null
rbd: null
flexvolume: null
cinder: null
cephfs: null
flocker: null
downwardapi: null
fc: null
azurefile: null
configmap: null
vspherevolume: null
quobyte: null
azuredisk: null
photonpersistentdisk: null
projected: null
portworxvolume: null
scaleio: null
storageos: null
initcontainers: []
containers:
- name: fred
image: blee
command: []
args: []
workingdir: ""
ports: []
envfrom: []
env:
- env:
- name: fred
value: "1"
valuefrom:
fieldref: null
resourcefieldref: null
configmapkeyref:
localobjectreference:
name: ""
valueFrom:
configMapKeyRef:
key: blee
optional: null
secretkeyref: null
resources:
limits: {}
requests: {}
volumemounts: []
volumedevices: []
livenessprobe: null
readinessprobe: null
lifecycle: null
terminationmessagepath: ""
terminationmessagepolicy: ""
imagepullpolicy: ""
securitycontext: null
stdin: false
stdinonce: false
tty: false
restartpolicy: ""
terminationgraceperiodseconds: null
activedeadlineseconds: null
dnspolicy: ""
nodeselector: {}
serviceaccountname: ""
deprecatedserviceaccount: ""
automountserviceaccounttoken: null
nodename: ""
hostnetwork: false
hostpid: false
hostipc: false
shareprocessnamespace: null
securitycontext: null
imagepullsecrets: []
hostname: ""
subdomain: ""
affinity: null
schedulername: ""
tolerations: []
hostaliases: []
priorityclassname: bozo
image: blee
name: fred
resources: {}
priority: 1
dnsconfig: null
readinessgates: []
runtimeclassname: null
enableservicelinks: null
priorityClassName: bozo
volumes:
- hostPath:
path: /blee
type: Directory
name: fred
status:
phase: Running
conditions: []
message: ""
reason: ""
nominatednodename: ""
hostip: ""
podip: ""
starttime: null
initcontainerstatuses: []
containerstatuses:
- name: fred
state:
waiting: null
running:
startedat: "0001-01-01T00:00:00Z"
terminated: null
lastterminationstate:
waiting: null
running: null
terminated: null
containerStatuses:
- image: ""
imageID: ""
lastState: {}
name: fred
ready: false
restartcount: 0
image: ""
imageid: ""
containerid: ""
qosclass: ""
restartCount: 0
state:
running:
startedAt: null
phase: Running
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -102,62 +102,13 @@ func newPV() resource.Columnar {
}
func pvYaml() string {
return `typemeta:
kind: PV
apiversion: v1
objectmeta:
return `apiVersion: v1
kind: PeristentVolume
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
spec:
capacity: {}
persistentvolumesource:
gcepersistentdisk: null
awselasticblockstore: null
hostpath: null
glusterfs: null
nfs: null
rbd: null
iscsi: null
cinder: null
cephfs: null
fc: null
flocker: null
flexvolume: null
azurefile: null
vspherevolume: null
quobyte: null
azuredisk: null
photonpersistentdisk: null
portworxvolume: null
scaleio: null
local: null
storageos: null
csi: null
accessmodes: []
claimref: null
persistentvolumereclaimpolicy: ""
storageclassname: ""
mountoptions: []
volumemode: null
nodeaffinity: null
status:
phase: ""
message: ""
reason: ""
spec: {}
status: {}
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
resv1 "k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -110,43 +110,18 @@ func newPVC() resource.Columnar {
}
func pvcYaml() string {
return `typemeta:
kind: PersistentVolumeClaim
apiversion: v1
objectmeta:
return `apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
spec:
accessmodes: []
selector: null
dataSource: null
resources:
limits: {}
requests:
storage:
format: ""
volumename: duh
storageclassname: null
volumemode: null
datasource: null
status:
phase: ""
accessmodes: []
capacity: {}
conditions: []
storage: "0"
volumeName: duh
status: {}
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/rbac/v1"
v1 "k8s.io/api/rbac/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -91,35 +91,19 @@ func newRB() resource.Columnar {
}
func rbYaml() string {
return `typemeta:
kind: RoleBinding
apiversion: rbac.authorization.k8s.io/v1
objectmeta:
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
subjects:
- kind: User
apigroup: ""
return `apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
namespace: blee
roleref:
apigroup: ""
roleRef:
apiGroup: ""
kind: User
name: duh
subjects:
- kind: User
name: fred
namespace: blee
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/rbac/v1"
v1 "k8s.io/api/rbac/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -80,27 +80,12 @@ func newRole() resource.Columnar {
}
func roleYaml() string {
return `typemeta:
kind: Role
apiversion: rbac.authorization.k8s.io/v1
objectmeta:
return `apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
rules: []
rules: null
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/apps/v1"
v1 "k8s.io/api/apps/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -88,87 +88,22 @@ func newReplicaSet() resource.Columnar {
}
func rsYaml() string {
return `typemeta:
kind: ReplicaSet
apiversion: extensions/v1beta
objectmeta:
return `apiVersion: extensions/v1beta
kind: ReplicaSet
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
spec:
replicas: 1
minreadyseconds: 0
selector: null
template:
objectmeta:
name: ""
generatename: ""
namespace: ""
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "0001-01-01T00:00:00Z"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
metadata:
creationTimestamp: null
spec:
volumes: []
initcontainers: []
containers: []
restartpolicy: ""
terminationgraceperiodseconds: null
activedeadlineseconds: null
dnspolicy: ""
nodeselector: {}
serviceaccountname: ""
deprecatedserviceaccount: ""
automountserviceaccounttoken: null
nodename: ""
hostnetwork: false
hostpid: false
hostipc: false
shareprocessnamespace: null
securitycontext: null
imagepullsecrets: []
hostname: ""
subdomain: ""
affinity: null
schedulername: ""
tolerations: []
hostaliases: []
priorityclassname: ""
priority: null
dnsconfig: null
readinessgates: []
runtimeclassname: null
enableservicelinks: null
containers: null
status:
readyReplicas: 1
replicas: 1
fullylabeledreplicas: 0
readyreplicas: 1
availablereplicas: 0
observedgeneration: 0
conditions: []
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -119,36 +119,13 @@ func saHeader() resource.Row {
}
func saYaml() string {
return `typemeta:
kind: ServiceAccount
apiversion: v1
objectmeta:
return `apiVersion: v1
kind: ServiceAccount
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
secrets:
- kind: ""
namespace: ""
name: blee
uid: ""
apiversion: ""
resourceversion: ""
fieldpath: ""
imagepullsecrets: []
automountserviceaccounttoken: null
- name: blee
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/core/v1"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -190,38 +190,15 @@ func k8sSecret() *v1.Secret {
}
func secretYaml() string {
return `typemeta:
kind: Secret
apiversion: v1
objectmeta:
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
return `apiVersion: v1
data:
blee:
- 98
- 108
- 101
- 101
duh:
- 100
- 117
- 104
stringdata: {}
blee: YmxlZQ==
duh: ZHVo
kind: Secret
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
namespace: blee
type: Opaque
`
}

View File

@ -3,11 +3,11 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
"k8s.io/api/apps/v1"
v1 "k8s.io/api/apps/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -124,96 +124,24 @@ func stsHeader() resource.Row {
}
func stsYaml() string {
return `typemeta:
kind: StatefulSet
apiversion: v1
objectmeta:
return `apiVersion: v1
kind: StatefulSet
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
spec:
replicas: 0
selector: null
serviceName: ""
template:
objectmeta:
name: ""
generatename: ""
namespace: ""
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "0001-01-01T00:00:00Z"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
metadata:
creationTimestamp: null
spec:
volumes: []
initcontainers: []
containers: []
restartpolicy: ""
terminationgraceperiodseconds: null
activedeadlineseconds: null
dnspolicy: ""
nodeselector: {}
serviceaccountname: ""
deprecatedserviceaccount: ""
automountserviceaccounttoken: null
nodename: ""
hostnetwork: false
hostpid: false
hostipc: false
shareprocessnamespace: null
securitycontext: null
imagepullsecrets: []
hostname: ""
subdomain: ""
affinity: null
schedulername: ""
tolerations: []
hostaliases: []
priorityclassname: ""
priority: null
dnsconfig: null
readinessgates: []
runtimeclassname: null
enableservicelinks: null
volumeclaimtemplates: []
servicename: ""
podmanagementpolicy: ""
updatestrategy:
type: ""
rollingupdate: null
revisionhistorylimit: null
containers: null
updateStrategy: {}
status:
observedgeneration: 0
readyReplicas: 1
replicas: 0
readyreplicas: 1
currentreplicas: 0
updatedreplicas: 0
currentrevision: ""
updaterevision: ""
collisioncount: null
conditions: []
`
}

View File

@ -3,8 +3,8 @@ package resource_test
import (
"testing"
"github.com/derailed/k9s/internal/resource"
"github.com/derailed/k9s/internal/k8s"
"github.com/derailed/k9s/internal/resource"
m "github.com/petergtz/pegomock"
"github.com/stretchr/testify/assert"
v1 "k8s.io/api/core/v1"
@ -149,53 +149,25 @@ func svcHeader() resource.Row {
}
func svcYaml() string {
return `typemeta:
kind: Service
apiversion: v1
objectmeta:
return `apiVersion: v1
kind: Service
metadata:
creationTimestamp: "2018-12-14T17:36:43Z"
name: fred
generatename: ""
namespace: blee
selflink: ""
uid: ""
resourceversion: ""
generation: 0
creationtimestamp: "2018-12-14T10:36:43.326972-07:00"
deletiontimestamp: null
deletiongraceperiodseconds: null
labels: {}
annotations: {}
ownerreferences: []
initializers: null
finalizers: []
clustername: ""
managedfields: []
spec:
clusterIP: 1.1.1.1
externalIPs:
- 2.2.2.2
ports:
- name: http
protocol: TCP
port: 90
targetport:
type: 0
intval: 0
strval: ""
nodeport: 0
protocol: TCP
targetPort: 0
selector:
fred: blee
clusterip: 1.1.1.1
type: ClusterIP
externalips:
- 2.2.2.2
sessionaffinity: ""
loadbalancerip: ""
loadbalancersourceranges: []
externalname: ""
externaltrafficpolicy: ""
healthchecknodeport: 0
publishnotreadyaddresses: false
sessionaffinityconfig: null
status:
loadbalancer:
ingress: []
loadBalancer: {}
`
}